From: Avi Bryant Date: 2002-11-11T05:04:51+09:00 Subject: Re: Random idea: Procedural CGI?? On Sun, 10 Nov 2002 05:39:49 -0800, Brian Candler wrote: > See discussion "CGI sessions as threads?" from 6th October, in > particular > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/52624 > > I am looking forward to seeing Avi's code :-) I've posted the code I used for RubyConf at http://beta4.com/ab-rubyconf2002.tgz Unfortunately this is purely demo code - it's not a framework people can go out and use yet. I'd love to be able to flesh this out as fully in Ruby as I have in Smalltalk, but I suspect that'll require someone else with either a) time to do it themselves or b) sufficient commercial interest to hire Julian or me to do it for them. Anyone who is interested in doing something with this code - *please* consult with me first. I've spent the last year working out the gotchas and tradeoffs inherent in this approach, and I'd hate to see wheels reinvented. From the README: ----------------- This directory contains source code and slides from my RubyConf presentation "The Garden of Forking Paths". It requires WEBrick to run. The code in borges/ is a simple demo port of some of the functionality of the Seaside 2.0 framework in Squeak Smalltalk. For more information, see http://beta4.com/seaside2 . The garden/ directory contains some slides, notes, and sample code from the talk. To try out the sample code: > cd garden > ruby train.rb > netscape http://localhost:7000/borges/book This code is presented as is - it is far from complete, and is not yet useful for deployment or even real development. It is my hope, however, that this will encourage work on a full port of the Seaside framework to Ruby. Those who are interested will likely be greatly helped by the Seaside 2.0 documentation. Currently implemented features in Ruby include: - the respond() primitive - the HTMLRenderer - a basic Page class with call/answer Notably missing features include: - proper embedding of pages - automatic state rollback - auto-redirection - transactions -------------------------- Cheers, Avi