From: Julian Fitzell Date: 2004-05-08T07:22:35+09:00 Subject: Re: What is Borges? Carl Youngblood wrote: > Kaspar Schiess wrote: > >> The documentation at www.tua.ch/ruby is rather bad I fear; I will >> hopefully get to write a full introduction that also explains the >> concepts a bit more in depth. > > > Borges sounds pretty cool. Better documentation (including a good > tutorial) would be a great help. A couple quick questions: My answers relate more to Seaside than to the ruby Borges, but since Borges is essentially a direct port of Seaside as it was about a year ago will probably still apply... > - Can it work with mod_fastcgi/ruby? > - Does the sessioning stuff support automatic fallback to GET-based > session ID propagation if the user has disabled cookies? Seaside/Borges use GET parameters for session. Avi and I do not like using cookies for session keys, not just because of the obvious problem that some people disable cookies but also because it prevents the user from having two windows open in two different sessions at the same time. It wouldn't be hard at all to support cookie-based session keys instead--just a simple matter of programming--but we have no desire to have such a feature. We have had clients express interest, though, so if it was something that somebody really wanted, we would probably consider adding it (to seaside, that is). > - Can sessions be stored in a database or a drb store so that web > traffic can be easily load-balanced across multiple web servers? There's nothing preventing you from writing your sessions out in some way, but as Kaspar mentions, you need to be able to write out a lot of contextual information including blocks for callbacks, etc. In Squeak, you could do it with ImageSegments. I've thought of doing this automatically whenever an error is encountered to make sure I can pull the session up again later to see what was happening. But, as he also mentions, the best thing to do for load balancing is to ensure session affinity. Most load balancers will allow you to do this. you just let new requests with no session key go to any server and any request that does have a session key needs to get sent to the same server from then on. > - Is it necessary to construct HTML pages programatically or can you > have simple unbroken HTML templates that are editable by a > non-tech-savvy graphic designer? No, it's not necessary. We moved away from using templates because it became impossible to factor them as well as we'd like. By generating the html programmatically we can break it up into methods, reuse pieces, parameterize them, etc. With CSS increasing in popularity, the model we advocate is that the visual designers do the CSS and the developers generate bare-bones HTML with lots of CSS ids and classes. Obviously the two need to work somewhat iteratively to move stuff around as needed. Have a look at www.csszengarden.com for inspiration if you haven't yet discovered the power of CSS. Cheers, Julian