Page Index Toggle Pages: [1] 2  Send Topic Send Topic Print Print
Hot Topic (More than 10 Replies) In the continuing saga (Read 2440 times)
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
In the continuing saga
Dec 7th, 2005 at 12:17am
Print Post Print Post  
Strangely, the electrical problems in the building disappeared today as suddenly as they appeared late last week. So no more UPSs beeping all day. Hopefully, that'll stick.

Hammer uses a wired network for security reasons. But my wife needed a wireless drop for her bookstore downstairs. Ray (mostly) spent most of this morning investigating the best way to set this up. He had it working by mid-morning, but got engaged in the big fat book of networking, learning all about net masks and bitwise operations.

I spent most of today working on minor bugs, one in SDesigner keyboard handling and one in the @Readonly(LE, 2) option when going back and forth from search to update. In between, I bored Ray blind with stories about 8 bit computer math in assembly language and the way compilers work.

Erika reports that the first day of classes in Dallas went very well, and that couple of folks unexpectedly decided to stay for the other two days of classes. So it should be a pretty full house for days two and three.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2482
Joined: Aug 20th, 2003
Re: In the continuing saga
Reply #1 - Dec 7th, 2005 at 5:19pm
Print Post Print Post  
Well currently I am testing out the wireless network that I set up yesterday. Browsing the internet wirelessly thanks to  the router sitting 2 feet behind me and at the same time pulling all my e-mails from the computer that I was able to rescue them to, on the wired network. Two network connections is kinda cool.

Right now I'm going to try to link all the e-mail files back into the e-mail program.

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: In the continuing saga
Reply #2 - Dec 8th, 2005 at 3:58am
Print Post Print Post  
Well, as Ray so vengefully pointed out, today was my birthday, so I took it easy. I set up the generic table so that it could have write-able and read only columns. I also worked out the editing and navigation in the table and used its ability to color columns to indicate the read only status of each column.

I also investigated using bidirectional pipes to communicate with external programs using standard input/output. I wrote a couple of test programs and finally got it working. If I can get this idea to gel it may provide a means for SBasic to talk with many external programs in an interactive way without using external automation or temporary files. The primary target for this approach are the plethora of client / server SQL based programs, the clients of which use standard I/O as their means of communications.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Bob_Hansen
Senior Member
Members
*****
Offline


WOW, They have the Internet
on computers now!

Posts: 1861
Location: Salem, NH
Joined: Nov 24th, 2002
Re: In the continuing saga
Reply #3 - Dec 8th, 2005 at 7:56am
Print Post Print Post  
Glad you reminded me Mark......

Could really some type of HTTP Put and Get tools to use with web page forms......... but knowing you, that is probably already done or in the plans, right?

Hint: The correct answer should be YES.

And Happy Belated Birthday Grin   Grin
  



Bob Hansen
Sesame Database Manager Professional
Sensible Solutions Inc.
Salem, NH
603-898-8223
Skype ID = sensiblesolutions
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: In the continuing saga
Reply #4 - Dec 8th, 2005 at 2:18pm
Print Post Print Post  
Quote:
Glad you reminded me Mark......

Could really some type of HTTP Put and Get tools to use with web page forms......... but knowing you, that is probably already done or in the plans, right?

Hint: The correct answer should be YES.


The HTTP Get and Put commands are specific to web servers and the HTTP protocol. As far as I know there are no plans to embed a web server in Sesame. There are plans, however, to implement a CGI API that would allow a web server (more specifically a CGI program run by a web server) to communicate with a Sesame server, probably in PHP.

Right now, simple read access is easily implemented using extractor, which is trivial to call in CGI from any of the typical CGI languages, (C, PHP, or Perl). Because extractor writes to standard output, the results can be "caught" using simple unidirectional pipes, or even just "framed" by writing HTML to standard output from the CGI script.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2482
Joined: Aug 20th, 2003
Re: In the continuing saga
Reply #5 - Dec 8th, 2005 at 9:23pm
Print Post Print Post  
Well today I decided to to try and eliminate or at least minimize the floating point errors in @Round and @Decimals. As it stands right now both of them have been rewritten from the ground up and as far as I can tell, the few problems that I was aware of are fixed and I have not seen any new problems.

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
Bob_Hansen
Senior Member
Members
*****
Offline


WOW, They have the Internet
on computers now!

Posts: 1861
Location: Salem, NH
Joined: Nov 24th, 2002
Re: In the continuing saga
Reply #6 - Dec 8th, 2005 at 9:33pm
Print Post Print Post  
Here is an example of a similar function from another program that I use that has no web server:
Quote:
HTTPRequest>URL,[LocalFilename],Method,[POST_Data],Result_Variable[,ProxyServer,ProxyPort,ProxyUsername,ProxyPassword]

Retrieves a web document via the HTTP protocol using either GET or POST methods.

URL: URL of document to retrieve
LocalFileName: Optional (may be left blank) - local file to save response to.
Method: GET or POST
Post_Data: Data to Post to URL if using POST method. Use name=value pairs separated by '&'. See example below.
Result_Variable: Stores result of operation. If successful this will contain the HTML returned. Otherwise it will contain an error message.
ProxyServer: Optional - if using a proxy server set this to domain or IP address of proxy server.
ProxyPort: Optional - if using a proxy server set to port number of proxy server.
ProxyUsername: Optional - if using a proxy server that needs a username.
ProxyPassword: Optional - if using a proxy server that needs a password.

By default there is no timeout for the HTTPRequest command and requests will wait indefinitely if the server fails to respond. To change this set the HTTP_TIMEOUT value to the number of seconds to wait.

By default HTTPRequest will automatically resolve redirects. To disable this behaviour set HTTP_REDIRECTS to 0.

For basic authentication where a username and password is required by the server before the request will complete put the username and password in the URL using the following format: www.server.com/etc.etc]http://username:password@www.server.com/etc.etc[/url]

Abbreviation : HTT

Example

The following line does a simple GET request and saves the resulting HTML to a variable called HTMLResponse:

HTTPRequest>http://www.abcmjtnet.com,,GET,,HTMLResponse
=================

The following line does the same thing but also saves the output to a file:

HTTPRequest>http://www.abcmjtnet.com,d:\HTML\abcmjtnet.html,GET,,HTMLResponse
=================

This demonstrates a POST operation, sending name=value pairs to the page:

Let>PostData=email=myemail@home.com&name=Joe Bloggs
HTTPRequest>http://www.someplace.com/someform.html,,POST,PostData,HTMLResponse

I use this program's function now to fill in forms and get results automatically.   Will run on any Windows platform.  Does not require a local webserver.  Doing this from Sesame would be a great enhancement.   I can provide you with more info about the source if you are interested.
  



Bob Hansen
Sesame Database Manager Professional
Sensible Solutions Inc.
Salem, NH
603-898-8223
Skype ID = sensiblesolutions
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: In the continuing saga
Reply #7 - Dec 8th, 2005 at 9:50pm
Print Post Print Post  
From the code that you posted, the software you are using appears to be a kind of HTTP client (like wget) that acts similarly to a web browser in that it posts HTTP requests and receives replies. The question is what kind of software is at the other end.

Are you asking for Sesame to act as a HTTP client (a program that posts HTTP requests - as seen above), or a HTTP server, a program that replies to such requests (the machine referred to above as: "www.server.com")?
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Bob_Hansen
Senior Member
Members
*****
Offline


WOW, They have the Internet
on computers now!

Posts: 1861
Location: Salem, NH
Joined: Nov 24th, 2002
Re: In the continuing saga
Reply #8 - Dec 8th, 2005 at 11:17pm
Print Post Print Post  
Hi Mark....

It is obvious that I probably have not made my request clear.  I contacted staff of the other program and they provided me with the following response.  Hopefully, his explanation will make my request more clear.
Quote:
Hi Bob,

Sounds to me like they've completely misunderstood your request and got the wrong end of the stick.  Of course it's possible for an application to do HTTP GET and POST without being, or having, a web server.  It would be a web CLIENT, not a web SERVER.  Ask them if they think Internet Explorer, Firefox, or Opera are web servers, or include web servers.  Clearly they don't.  But they perform HTTP GET and POST requests all the time.  They are web clients. 

CGI has nothing to do with what you are asking for.  I think they must have just misread your query and think you are asking about web server functionality rather than something which retrieves content FROM web servers.  If they are using C++ they should not need any pointers as to how to go about it - I just think they've misunderstood what you are asking. 

Tell them you want web CLIENT functionality so that the software can RETRIEVE web content.  You are not asking for it to SERVE up web content. 

.... they've got the wrong end of the stick.... because their statement "The HTTP Get and Put commands are specific to web servers" does not make sense.  It's the client that does a GET and POSTS form data TO the server.  The server simply retrieves the document that was requested and if any post data was given passes that to the document/preprocessor.  The server runs whichever preprocessor (e.g. PHP, Perl) is associated with the document's file extension.  The client does the GETting and POSTing!

Anyway, certainly this is simple enough in C++ (what do you think Firefox and IE are written in?).  Hell, you could do it in VB for that matter!

Hope this helps,
Marcus

Kind Regards

Does this help make my request more clear?  Marcus was able to respond because he created the sample that I provided.  This is dealing in an area that I am not familair with, so I have to rely on people like Marcus and you whom I both greatly respect. ( Hmmm, just noted the name similarity .... you're not doing double duty and playing with me, are you?)
  



Bob Hansen
Sesame Database Manager Professional
Sensible Solutions Inc.
Salem, NH
603-898-8223
Skype ID = sensiblesolutions
Back to top
IP Logged
 
Bob_Hansen
Senior Member
Members
*****
Offline


WOW, They have the Internet
on computers now!

Posts: 1861
Location: Salem, NH
Joined: Nov 24th, 2002
Re: In the continuing saga
Reply #9 - Dec 8th, 2005 at 11:24pm
Print Post Print Post  
I think POST is doing something as basic as going to a web site, entering the URL, filling in the fields, and pressing SUBMIT, and capturing the reply that the webhost sends back as a reply.

GET is just capturing the page.

Both are done without actually opening a browswer but making another type of connection (telnet?)

Again, not my area of knowledge, I am just a happy user of the tool, and would like to see a similar function in Sesame.

An example of using this, would be able to enter a zip code into a  LE, and execute the HTTP command to go to the USPS.com site, pass in the zipcode, and capture the page that comes back with the city and state info.  I could now parse that returned data to extract the city/state that I wanted.  This is a simple sample, but it could be more complex, filling in many fields on a web page and pressing submit, without the need to open a browser.  Login names and passwords can also be passed, making a simple one-button click on Sesame, and never leaving the application.

  



Bob Hansen
Sesame Database Manager Professional
Sensible Solutions Inc.
Salem, NH
603-898-8223
Skype ID = sensiblesolutions
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: In the continuing saga
Reply #10 - Dec 9th, 2005 at 12:13am
Print Post Print Post  
You understand my confusion. GET, PUT, and POST are all commands to which a web server responds to and implements. They are also commands that a web client (like a browser) invokes, but does not implement. Much in the same sense that a database client "asks" a query, and a database engine (server) "answers" a query.

Currently, Sesame can call any of the text based web clients (my fav is wget) and it is certainly within the realm of possibility that 2.0 may provide a general interface to TCP/IP. I am not entirely sure that it cannot be done right now using the fileOpen.

It is unlikely that Sesame will ever respond PUT or GET requests from web pages / browsers, as a web server does.

But, as I said before, a CGI API is likely and has been planned since 1.0.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Bob_Hansen
Senior Member
Members
*****
Offline


WOW, They have the Internet
on computers now!

Posts: 1861
Location: Salem, NH
Joined: Nov 24th, 2002
Re: In the continuing saga
Reply #11 - Dec 9th, 2005 at 1:14am
Print Post Print Post  
Thanks for listening Mark.  I did not mean to hijack the thread on your original subject.  It was your mention of interfacing with other products that got me started on this.

I am still confused when you say Sesame will noever respond to request as a webserver.

I am asking for Sesame as a webclient to SEND a request to a webserver which would respond back to a text file or even better as a user defined Sesame variable.

I will drop the request for now, but thanks for listening. 

Back to the original subject: In the continuing saga
  



Bob Hansen
Sesame Database Manager Professional
Sensible Solutions Inc.
Salem, NH
603-898-8223
Skype ID = sensiblesolutions
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2482
Joined: Aug 20th, 2003
Re: In the continuing saga
Reply #12 - Dec 9th, 2005 at 3:21pm
Print Post Print Post  
Let me see if I can decode Mark's post for you.

Quote:
You understand my confusion. GET, PUT, and POST are all commands to which a web server responds to and implements. They are also commands that a web client (like a browser) invokes, but does not implement. Much in the same sense that a database client "asks" a query, and a database engine (server) "answers" a query.


Both a Web Server and a Web Client know what a GET, PUT and POST are. A web client PASSES those commands to the web server which RUNS those commands. So simply asking for GET, PUT or POST is confusing because you could mean either the server side of the commands or the client side of those commands.

Quote:
Currently, Sesame can call any of the text based web clients (my fav is wget) and it is certainly within the realm of possibility that 2.0 may provide a general interface to TCP/IP. I am not entirely sure that it cannot be done right now using the fileOpen.


Right now you can call a standalone Web client using @Shell. He would like to implement a generic way to talk over TCP/IP in SBasic. So you could yourself talk to a webserver and pass the POST command and GET commands and act like a web client. This way you could also talk to a mail server or even make a chat tool in Sesame if you felt like it.

Is that any clearer?

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
Bob_Hansen
Senior Member
Members
*****
Offline


WOW, They have the Internet
on computers now!

Posts: 1861
Location: Salem, NH
Joined: Nov 24th, 2002
Re: In the continuing saga
Reply #13 - Dec 9th, 2005 at 6:43pm
Print Post Print Post  
Thanks Ray.....

I think I had a handle on what he was saying, and can understand the confusion.  I already pleaded guilty to not being clear.  I have sent Mark an offline email about the subject.  His thoughts to provide the ability to function as a webclient is a great idea. 

But rather than another programming tool, another language to learn,  I am looking for a simple function that does not require me to write more programming.  This HTTP function already exists in one other competitive database program that I know of.

It would be convenient to show the Sesame functions to my clients with the Sesame documentation, and help teach them to use the functions.  But when I come to "special" functions, I will have to say, "These can do a lot for you also, but you need to learn another language (cgi, perl, HTTP, java, VB, python, etc)  to use them."  They will not be used.

We are all willing to learn Sbasic, but would like to see the function library built up so we only need to learn syntax and not new languages, DLLs. API calls, libraries, etc.

Again, too much time on one request.  I will continue to make my point offline.

=================================
A reply the other day said that most Sesame databases are flat file designs, without subforms.  This would suggest that most users are not as technical as Mark.  So if functions are going to be created, then maybe they should be for the larger number of people who will use them.  Since only a small number of users can write in other languages, why not make Sesame functions with syntax and examples vs. functions that a larger group can really use?

I hope the tone of this reply does not come across as complaining.  I am just trying to throw some ideas on the table to be considered as priorities are set up.  Mark and Erika have been excellent in responding to requests and coming up with new features and tools.  See, you have spoiled us, and that is why I feel free to ask for more!  Because I know you will respond positively.  Thanks again for the help.

Looking forward to Version 2.


  



Bob Hansen
Sesame Database Manager Professional
Sensible Solutions Inc.
Salem, NH
603-898-8223
Skype ID = sensiblesolutions
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: In the continuing saga
Reply #14 - Dec 9th, 2005 at 7:03pm
Print Post Print Post  
It is clear that you are still misunderstanding me. When I am talking about an API, I am referring to using Sesame from a web server. In other words, a casual user hits a form on a web page asking for some info. The web server calls a CGI script to read that form and gather data, talks to a database (via the API), and then returns the results to that user as a web page.

That model is easily the most popular database model in the world right now, and continues to grow at an astounding rate. It is our plan, and has been since before 1.0, to provide an API for that purpose.

This has nothing to do with SBasic, or learning a new language. One can presume that a developer building a web interface to a database (ala MySQL with Apache and PHP), will have much more acquintance with PHP or Perl, than with any language we might provide. They can then use PHP from CGI in a web server to access data in Sesame.

Better, if "Print To HTML", included in the generated HTML, the necessary PHP to either query or post to Sesame from that HTML form....
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Page Index Toggle Pages: [1] 2 
Send Topic Send Topic Print Print