zope's zen - mapping web site to programming environment
As i've been getting a sense of zope (i'm slow, i know), i'm enjoying seeing a model that pulls it all together for me. It may be obvious to anyone that has zope's zen - or it may be just plain wrong ("jpw"). I wonder, and wonder how it registers on you all. So... My realization is that for the programmer, below the content- management functionality, zope translates the framework of object- oriented programming onto the framework of a web (or other document publishing) site. (From stray comments i gather that bobo more obviously did this, and that zope is increasingly getting back to that point, making this all easier to apprehend and use.) - Acquisition turns the document hierarchy into modular programming scopes: - Folders are sorta like python modules and class objects. - Documents are routines - folder methods - with literal and dynamic content - External Methods correspond to python's extension builtins - Components (formerly Products) correspond to pythons extension modules - These scopes provide the programming-environment namespace in the structure of the site, enabling hierarchical sharing routines and state information (like user permissions) through that stucture. - Mapping of URLs onto method invocations provides a call structure for calling into the document hierarchy namespaces. - DTML brings together the textual and procedural roles of documents at a Zope site, providing the way to express the active versus literal portions as web-site document "templates". If this view is on-base, i would structure something describing the "Zen of Zope" around this mapping of programming constructs to web sites/document hierarchies. And if this is on base, i can see one way to formulate a marketing message: This translation of object-oriented programming onto a web-site structure enables geeks (and adventurous others) to bring the power of programming more directly to any web-site publishing application. What this means for content managers is an already rich environment of facilities that does the regular things easily and well, and can be made to do anything that can be programmed, if they need something extraordinary. Open source only enhances the evolutionary process, enabling sharing and eventual incoporation of new solutions for common needs... Ken klm@digicool.com
participants (1)
-
klm@digicool.com