-> On Wed, Aug 18, 2004 at 09:32:35AM -0700, Titus Brown wrote: -> > -> >Maybe we should organise a plug in architecture for commonly used -> > -> >website components like this would be helpful. Anybody thought of -> > -> >this? -> > -> -> > -> Every web framework has dreamed of this sooner than later... I would -> > -> certainly love to see a quixotic component spec, and if there'd be such -> > -> a thing I'd be happy to program against (for ;) it. -> > -> > Perhaps I'm being overly skeptical here -- I hate servlet-style -> > bureaucracy ;) -- but the reason I love Quixote so much is that -> > it already provides the perfect "component spec" for my needs: -> > the Quixote package publication spec is both lightweight and quite -> > general. Why do we need add'l specs? -> -> Where is the "Quixote package publication spec"? Is it the same as -> the "Quixote Programming Overview"? -> -> Or did Titus forget to add a smiley? -> -> Or am I just slow, and Titus is saying that Quixote is clean enough -> so that we do not need a component spec? I'm guilty of posessing no formal education in this area, so I'm probably mis-using words ;). In the case of Quixote I think a formal written "specification" would be redundant, because the code is short, simple and clean. Here is an example that might illustrate my thinking: last night I was musing about various pluggable session managers: one SQL, one Durus-based, one pickle-based, etc. I was trying to imagine a specification that would constrain the interface in a useful way, preparatory to writing a common base class or set of functionality. I couldn't. What I realized is that the Quixote SessionManager base class is simple enough to support the simplest functionality (such as no sessions at all, or in-memory only) without too much unused cruft, and it is complex enough to support all of those implementations without adding anything new to the public interface of the class. Moreover, my few reservations about the SessionManager class come from its failure to completely (and obsessively) specify behavior in its different potential lifestyles -- SCGI, mod_python, multi-threaded. In other words, the only place where the SessionManager class could use additional specification *at the code level* is at the place where it has to interface with components completely outside of the Quixote package. That encapsulates how I feel about most of the Quixote code I've seen. So if by "specification" we're talking about "writing down, completely and moderately obsessively, how Quixote publishes packages", that would be useful. If, however, we're talking about writing a document that lays out, in obsessive minutiae, how to write re-usable packages for Quixote, I don't think it would be very useful. More examples -- clean & well-documented & re-usable -- would be nice, of course. I'd guess that, by Mark Pilgrim's classification system, http://diveintomark.org/archives/2004/08/16/specs I'm a hopeless moron ;). --titus