From: Austin Ziegler Date: 2004-08-20T11:02:27+09:00 Subject: Re: Idea: Webshare On Fri, 20 Aug 2004 07:45:36 +0900, Patrick May wrote: >> Ruby has a lot of cool web frameworks. For example: >> * Borges >> * CGIkit >> * Iowa >> * Radical >> * Rails >> * SWS > I'm sad that Narf doesn't have mind-share anymore (www.narf-lib.org). Well, from my perspective, what *I* want (for Ruwiki) is a replacement for Ruby's CGI library. All I want is something that will give me a nice abstraction for a request. It should give me (at a minimum) what CGI does, or more if it can (e.g., it's sitting in front of a WEBrick server or mod_ruby or something. Now, I've abstracted out the request/response situation in Ruwiki, but I'm not completely pleased with the abstraction -- I may revisit it, and do further work to make it cleaner, but I'm not against someone saying "I have the perfect abstraction for you to use" that will work with both WEBrick and CGI. Note that I don't need -- and don't *want* -- HTML generation capabilities (I use templates). I don't need -- and don't *want* -- templating (I have a perfectly good library that Dave Thomas wrote and I enhanced). I don't need a different Wiki engine :) What do I need? A standard interface for requests and responses that lets me treat various backends as if they were effectively the same. A way of handling caching might not be bad -- but it needs to be smart enough for me to deal with the reality that my most expensive cost is rendering the HTML from the Wiki source, but that I have to deal with the possiblity that changes to pages *other* than the page I'm rendering may require that the current page cache be invalidated. I will probably need session support; I will need cookie support. I can do all of this myself -- and, given time, I will. As I have done with Diff::LCS, and will probably do with other bits and pieces of Ruwiki, I will look at what bits can be parceled off and made into their own libraries or are natively their own libraries as soon as I get Ruwiki done to the point where I can examine this. If someone offers me libraries to do this. I'd rather see multiple small libraries that focus on individual functionality so that I can mix and match functionality. I have looked at Narf a couple of times... it doesn't quite do what I need, though. -austin -- Austin Ziegler * halostatue@gmail.com * Alternate: austin@halostatue.ca