Oliver Marx wrote:
The ideas behind seems good.
They are, IMHO. Very good.
But all development seems to have stopped in 2001!???
Sadly, yes... *sigh*
Why is that?
I can't say for sure, but I have a couple of ideas... First, the learning curve for understanding ZPatterns is very, very steep. The learning curve for Zope itself is rather steep, but compared to ZPatterns, Zope is completely transparent. There is a fair amount of documentation, but it is not very organized, it's hard to find, and it's very obtuse, due to the fact that it is littered with a great deal of complicated nomenclature, none of which makes any sense until you understand the rest of it. The aspiring ZPatterns developer is required to deal with and grok terms such as Specialist, DataSkin, DataManager, Rack, PlugIn, PlugInContainer, SkinScript, Sheet/AttributeProvider, and the RIPP (i.e. "Racks, Implementors, PropertyHandlers, and Predicates") design pattern. Since these ideas are all interrelated, usually the learning process involves reading pages and pages of documentation littered with all of these terms for weeks at a time, understanding very little, until finally a gestalt occurs and the whole thing begins to make sense. Very few folks have the patience that an undertaking like this requires. This seems to me to be the most likely reason that ZPatterns was not widely adapted by the Zope developer community. Since a critical mass of users never developed, investing the amount of time required to keep the ZPatterns code base current with new versions of Zope probably didn't seem worth it to the developers. This is a tragedy, in my eyes, because I think that the value that ZPatterns brings to the table for Zope application development far outweighs the time invested in learning the system. All is not lost, however... Philip Eby (ZPatterns creator) is currently working on TransWarp (http://telecommunity.com/TransWarp/), which is, as far as I can tell, a generalization of the ZPatterns ideas out of the Zope framework and into Python itself. (ZPatterns is essentially useless outside of Zope...) Since Zope3 will allow for much better integration of non-Zope specific Python classes into its framework, it is to be expected that the benefits of ZPatterns will eventually resurface in some sort of Zope3/TransWarp-based set of tools. In the meantime, however, folks who want to keep current with Zope and still use ZPatterns (and possibly even LoginManager) are out of luck. ZPatterns is not supported beyond the Zope 2.3 series. I, however, have a tarball that integrates the ZedPatterns/TransactionAgents patches and LoginManager, and it works quite well with an out-of-the-box 2.4.4 Zope. (Unfortunately, it doesn't work w/ 2.5... and I don't have the time to port it...) I haven't looked at the Zope licenses to see if redistributing this would be allowed, but if anyone's interested in getting their hands on it, send me an email off-list. If I get enough responses (and the license allows) then I'll put a member page w/ the tarball up on zope.org. I'd love to see ZPatterns get revived. -r