On Apr 21, 2004, at 7:55 AM, Marian Petrides wrote:
That's fantastic. It exactly what I was looking for: distribute a "key" stack that then allows the user access to the actual content in non-standalone stacks over the web. Cool.
Many thanks!!
Marian
Marian et al,
I was away from the list for a couple days so I could not take part on the joyfull discussions about Rev and CGI. What we can do in Rev is amazing, from simple CGI to full net-savvy desktop apps. To give you all some links to dabble and some code to be inspired, I'll summarize some links here and talk about the future.
There are many ways for one to create CGIs in Rev. CGIs are nothing but command-line executable files that will take input from standard input and pipe answers to standard output. It's like processing text, nothing more. There are some rules of course and that (for HTTP) can be better understood by reading HTTP Made Easy, it's a vey simple and direct info on HTTP and implementing it. (at www.jmarshall.com/easy/http/) After understanding that, you guess that you can do cool stuff in Rev. You can do your CGI by hand, from the scratch, you must install the Metacard Engine for your server architecture, set the correct permissions, and then is just plain cgi building. But you might not want to reinvent the wheel, so you've got some cool options.
First is Rodney's LibCGI which is an amazing piece of code. It's to be used with APACHE server, and it will make your life easier. It will take enviroment variables that apache sets and put in a nice array so that your app can access it easily. It will also sport some primitives for sending and acquiring data from/to the server. It's simple and elegant. it's home is http://rodney.weblogs.com/libcgi by the way, look that Rodney uses Manila for his weblog, and Manila is the Best CMS EVER!!!!! (man, I am just a Userland fan)
You can also opt for using my own ServerWorkz Plataform which is a self-contained solution. It's a HTTP server, a development framework and suite of utilities. It has simple primitives like LibCGI for sending and receiving data and some high level functions for templating and action triggering. This plataform makes any stack web-savvy, it's a simple button you place on backscript, and a suite on the front. it has very cool features like an automatic way to convert cards to HTML (field based ones, for simple dbs) and you can call a handler like this http://myserver.com/myStack/myButtton/mouseUp and it will send for mouseUp handler... nice thing. I will not keep talking about my creations here, you're all invited to look and fiddle with it at http://home.soapdog.org:8081/
Keep in mind this LibCGI is apache based so it's able to answer multiple connections and to be used in a heavy stress enviroment. ServerWorkz will answer only one connection at a time (I think) and was not stress tested (it survived 1700 hits in 5 hours, so I think it's good)
This is enought for CGI... let's talk about the future, or, net-savvy desktop apps. meaning non-browser-based netApps. To get you started on the topic, please read "Beyond the Browser" from Richard Gaskin of Fourth World (http://www.fourthworld.com/embassy/articles/netapps.html) This reading changed my whole programming paradigm, it's like the felling when you read your first book on your own and discover that there's a brand new world out there. As you concluded, the best way, is to create a distributable splash screen that will load a stack from remote, you can see this working by using the revNET pluggin. It's exactly that, take a look http://www.fourthworld.net/revnet/Go_RevNet.rev
This technique is a very powerfull one, it allows you to always deliver up-to-date software and to be in control. But after loading from remote, what happens? how do my software can comunicate with it's friends. ServerWorkz can serve as lingua franca, there's a simple chat app that will use ServerWorkz as net protocol. You can check the IPC group too LibIPC is a great initiativa (IPC = Interprogram comunication), the group is on yahoo!groups. It's not just a matter of building software that executes from serverspace, we should make them all talk and interact, we should be creating something like a netApp space. With public services available. That could be a nice tech demo for us, and with revZeroConf, discovering services is pretty easy.
Since the interest in this topic, I'll assemble some utilities I have here and make them public. I hope we can summon some sinergy here and advance our plataform forward!
Cheers Andre
-- Andre Alves Garzia 2004 Soap Dog Studios - BRAZIL http://studio.soapdog.org
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
