Chris McDonough wrote:
Though I can't speak at all for DC regarding this matter (this is probably Chris Petrilli's or Brian Lloyd's territory), I like the idea of having a slightly more formal definition of what constitutes a "good" product, even if that definition only consisted of a couple of pages of "shoulds" and "shouldn't"s. I also like the idea of a loose sort of peer review (other than someone just downloading the product, finding out it doesn't work, and posting to the mail lists). I would be willing to work on both.
I got a (small) taste of what this could be like with PythonMethods; Michel Pelletier sent me WebDAV methods and prompted me to carefully hunt down unneeded transaction-provoking attribute changes. Jeff Rush sent a document_src for source viewing and PrincipiaSearchSource for ZCataloging. The methods were very small - a handful of lines each - I had just never thought about them. Somebody really ambitious (my hand is *not* raised!) could write a simple guide on zope.org. Start with a checklist of "features" or "design aspects" such as "WebDAV enabling", "Persistence issues", "Searching", "Direct Traversal", etc. Have each item link to a description of the "feature" and a simple set of example methods and issues. Frankly, even some very hurried and rough notes from DC about which base objects and interfaces are deprecated and which are up-and-coming would be fantastic (or does this exist, somewhere?). I would be happy to take something like that and edit it into a more polished document, but I can't write it... I just look at existing classes and copy what seems to work :-(. Consider 'isPrincipiaFolderish', 'isDocTemp', and their ilk. These seem to be ad-hoc flags for the sort of thing Jeff plans to replace with interfaces, and I had no idea until recently that I should be using them in my own Products. This is *not* the usual cry for DC to provide more documentation; It is, rather, a request for more raw information. I suppose that the best thing I could do would be to get up to speed with ZDP and make some rough outlines, so that at least the folks with the deep Zen will have a framework on which to heap their wisdom without spending a lot of time organizing their thoughts. Evan @ 4-am