From: jbritt@... Date: 2003-03-16T10:38:49+09:00 Subject: Re: Your favorite Ruby web library? was: Working on a CGI... > Come on, guys. You have to write a CGI in Ruby. You don't > have root access on the box. The server is Apache. > > What tool do you use? Blogtari! :) Seriously, one of my goals with Blogtari [0] was to keep installation simple and root-free. Most of the hosting services I've used don't give me root, though I've been allowed to compile a local install of Ruby. So, I've been tending to write drop-in-place CGI apps that do not presume any special access or even a shell account. Just file uploading and the ability to change file permissions. Of course, Blogtari is not a general purpose framework; it's a simple blogging app, but it avoids any special installation. Actually, it avoids using the CGI lib, too, just grabbing some things from ENV[]. This makes local, serverless development easier. It doesn't provide for any file upload or handy web-based blog editing; I use MS Word to edit and post to my home site, using a combo of VBA and Ruby shell scripts. But when I get around to allowing file uploads, such as for adding images, I'll likely roll my own code to grab the ENV values and process file types, etc. I don't want to have to rely on anything that requires a telnet or ssh session to install. (But then again I haven't really looked at what's in RAA for this.) An early version of ruby-xml.com used PostgreSQL with DBI, and it was fairly simple to code. I changed this when I switched the code over to Blogtari and added a simple templating system [1] based on REXML stream parsing. The DB was overkill; it was easier to use disk files and RSS feeds to populate the templates. (I *did* have a simple web form for adding content to rubyxml.com by inserting rows into a PostgreSQL table, but nothing too fancy. DBI is nice, though, and it's easy to have it emit XML and pass the XML to a templating tool.) [0] http://www.jamesbritt.com/articles/blogatari.html [1] "Stream Parsing with REXML" http://www.rubyxml.com/articles/REXML/Stream_Parsing_with_REXML James > > Thanks, > Hal >>