Rev Web Solutions?

Andre Garzia soapdog at mac.com
Sat Jul 31 19:50:11 EDT 2004


Rick,

Hi let's make a little road map for you! Your options for Rev-based CGI 
are three. I'll discuss each one of them.

Option A - "GRRRR, Real Programmers don't use libraries!" (aka: Do It 
Yourself From The Scratch!)

To do that in a sane way is good to use Apache as your webserver and 
you can use MySQL as your RDBMS of choice. You should check the CGI 
tutorial for info on that (I saw you checked.), you said about perms 
been unclear on MacOS X for you. Permissions are unix based, so it's 
the same thing in MacOS X, is like that, you have three categories: 
"owner of the file", "users in the same group", "the rest of the 
world", you set permissions for each of this categories in a file 
telling the OS how to behave. The usefull part is that your CGI files 
must have permission to be executed and to create files and folders, so 
you set the CGI file to 755 (that's the code for that) and the folder 
it will be writing files to 777. All the information from apache will 
be inside enviroment vars like $QUERY_STRING (or something like that) 
It's just that. This is the hardest way, and there's no much to tell 
about it, I do not recommend it.


Option B - "Use the Library Luke!" (aka LibCGI)

Monte and Rodney put togheter a nice library called LibCGI 
(http://rodney.weblogs.com/libcgi). It can help yourlife, really. This 
lib will take care of everything, it has primitives for acquiring data 
from web space and sending data back to the web, you fetch data from a 
simple array gRequestDataA, I think... and use LibCGI_response() to 
send data, very simple! The examples are good and there's some simple 
info at the page. What users usually complain is about the procedures 
for installing the library on an apache system. That part I solved for 
you. I made a simple palette called CGI-Tool (fetch from 
http://public.soapdog.org) that is able to install and setup LibCGI and 
the Metacard/Revolution engine on a remote FTP server. It also can 
server as a "distribution builder" for your cgi, like from inside Rev 
IDE click a button and your stack is there on the server ready for use. 
If you are doing commercial work, I advise to stay with LibCGI for 
apache is very rock solid, the Rev engine is a little memory hungry but 
nothing harmfull.


Option C - "But Mom, I'd like to stay in rev space, I am afraid to use 
outside tools..." (aka revHTTPd, or ServerWorkz but the final name is 
now libWebServices)

I created a server and you saw the old documentation. Man you should 
really see what I am up too... everything changed, it's now on 
steroids. Since I can now do more protocols than simple HTTP, I decided 
to rename the whole collection of things libWebServices. LibWebServices 
is a little button. It fits inside the backscripts and gives this 
features for your app: HTTP and XML-RPC. Any handler can be accessed as 
if they were an URL (for example 
http://my.home.machine/myStack/myCard/myButton/mouseUp) also we can 
match web forms to cards with text fields this makes easy to make CGIs 
and we have tons of features for remote method invocation and data 
transports but Apache still THE SERVER! my server should not be used 
for commercial purposes yet, I am finishing a complete rewrite and I 
will open the source to investigation so that people can look for bugs, 
there are better programmers here, I hope they take a look. The two 
biggest advantadges are: it's self contained, your app is your server 
and CGI, you can have as many CGIs running as you want in a single app, 
you can copy it to a CD and run it on another computer... try that with 
apache. Second the server and cgi engine are always on so we got 
persistence of state, when you use apache every time a CGI launches, it 
launches rev engine, run the thing, stop the engine, so it's like that 
movie memento, your cgi never remember where it is, it must re-read 
it's state from files/cookies/whatever and also launching takes some 
time. The libWebServer is always on so if you set a variable to 
something (supposing it's not a local var or a var of the ephemeral 
kind) it stays that way, you can set a global to something and fetch it 
anywhere anytime, thats good and evil for you must remember to zero 
your vars when needed. I can give any info on this project, just ask, 
I'll try to leave the new experimental server running tonight and will 
announce here.



I am making heavy use of cgi, apache, mysql, custom servers and 
everything... it works, but sometimes it's just better to use LAMP 
(linux, Apache, MySQL and PHP) on the server side and create the client 
with Rev...

Tell us about your project (if it's not secret) we can argue among 
ourselves in the list eachone trying to convince you that our side is 
right !!!! :D

Cheers
andre

On Jul 31, 2004, at 3:35 PM, Rick Harrison wrote:

> Hi there,
>
> I've been looking at all the information I can find thus far
> about how to use Rev as a CGI web solution.  I'm finding
> bits and pieces of stuff but nothing which really puts it
> all together in a simple step by step process.
> (I'm assuming that one doesn't exist at this point or I would
> have found it.)
>
> The idea is of course to use MySQL and Rev. as the CGI
> along with Apache or some other webserver capable of
> doing SSL transactions.  In other words, a rather serious
> project.
>
> I've looked at Andre Garzia's httpd stack server.  I found
> the concept very interesting.  I'm not able to follow his
> documentation real well without illustrations etc. I was
> very impressed!  I doubt that it will do SSL however.
>
> I looked at the REV CGI introduction, it is a little unclear
> on the permissions thing for setting it up on OS X. It obviously
> uses the command line terminal unix stuff to create the right
> hooks etc.  This appears to work through Apache so that will
> solve the SSL problem.  I obviously need some better more
> in depth resource to explore this further.
>
> I'm just now getting into the XML tutorial stack which at first
> glance looks very good.
>
> Has anyone out there done an extensive website using Rev
> and MySQL with Apache?
>
> Any other resources/examples you can recommend?
>
> Thanks in advance,
>
> Rick Harrison
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
-- 
Andre Alves Garzia ð 2004
Soap Dog Studios - BRAZIL
http://studio.soapdog.org



More information about the use-livecode mailing list