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