- FYI: Addition to roadmap -- Zope Classes
Oops, I forgot a pretty important one: Zope Classes out to see the light of day in the next two months. Zope Classes allow you to build a collection of Zope objects that are the constructors for new objects. Users will see a new item that they can add to their folders, but the "class" is really an instance in the object database. "Class" behavior is managed by forms and objects in the Zope Control Panel, which change the state of all instances of that Zope Class. How can this be used? Say I want to create a simple Feedback application. I would create a Folder that contained an addFeedbackForm Document object that collected information from the user and an addFeedback Document that took the information, emailed it to the administrators, and stored it as an entry in the Folder. I might also create a little management interface Document that let me set some central properties, browse the feedback items, and compute some totals. I would also create some special forms that collected the information for new Feedback Folders and set the initial state. I could then package this Folder up as a Zope Class and make it available to all Folders in the system (or ship it to someone else's system). People would now have "Feedback Folder" as a list of possible things they could add. But unlike Zope Products, there is no lib/python/Products/ directory on the filesystem with the Python code. All the logic is handled by DTML scripting from objects stored and managed in the object database. Moreover, new Feedback Folders are instances of a Zope Object (a Python instance), not a Python class. Thus, "class" information has a nice GUI in the Control Panel for changing central information, such as the email address for feedback information. Also, you can change the global look and feel of pieces of content by changing the Document in the Control Panel. Of course I might have this all wrong, and Jim will correct me :^) --Paul Paul Everitt Digital Creations paul@digicool.com 540.371.6909
Paul Everitt writes, regarding Zope Classes:
I could then package this Folder up as a Zope Class and make it available to all Folders in the system (or ship it to someone else's system). People would now have "Feedback Folder" as a list of possible things they could add. But unlike Zope Products, there is no lib/python/Products/ directory on the filesystem with the Python code.
Interesting news. Presumably this means that some export format for Zope objects will be decided upon, which may have the pleasant side effect of making it easier to keep synchronization between two different Zope installations. -- A.M. Kuchling http://starship.skyport.net/crew/amk/ The most dreadful thing of all is that many millions of people in the poor countries are going to starve to death before our eyes. We shall see them doing so upon our television sets. -- C.P. Snow
"Andrew M. Kuchling" wrote:
Paul Everitt writes, regarding Zope Classes:
I could then package this Folder up as a Zope Class and make it available to all Folders in the system (or ship it to someone else's system). People would now have "Feedback Folder" as a list of possible things they could add. But unlike Zope Products, there is no lib/python/Products/ directory on the filesystem with the Python code.
Interesting news. Presumably this means that some export format for Zope objects will be decided upon,
There already is an export mechanism and format. The ability to export applications that Paul refers to is already in Zope but is not currently documented. The soon to be released Zope manager's guide will describe how to develop distributable Zope applications through the Zope interface. Basically, when you make a distribution of a Zope application, you get a tar ball that can be installed as a Zope product. This happens to include data in the Zope export format.
which may have the pleasant side effect of making it easier to keep synchronization between two different Zope installations.
Not really. Synchronization involves wildly more difficult issues that export/import formats. The mechanics if export and import are pretty trivial. The hard parts of synchronization have to do with security and (transactional/object) integrity issues. Jim -- Jim Fulton mailto:jim@digicool.com Technical Director (540) 371-6909 Python Powered! Digital Creations http://www.digicool.com http://www.python.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
Jim Fulton wrote:
"Andrew M. Kuchling" wrote:
Paul Everitt writes, regarding Zope Classes:
I could then package this Folder up as a Zope Class and make it available to all Folders in the system (or ship it to someone else's system). People would now have "Feedback Folder" as a list of possible things they could add. But unlike Zope Products, there is no lib/python/Products/ directory on the filesystem with the Python code.
Interesting news. Presumably this means that some export format for Zope objects will be decided upon,
There already is an export mechanism and format. The ability to export applications that Paul refers to is already in Zope but is not currently documented. The soon to be released Zope manager's guide will describe how to develop distributable Zope applications through the Zope interface.
Does this have anything to do with the 'Principia Factory' I noticed I could add in the Products folder? Michael Bernstein.
Michael Bernstein wrote:
Jim Fulton wrote:
"Andrew M. Kuchling" wrote:
Paul Everitt writes, regarding Zope Classes:
I could then package this Folder up as a Zope Class and make it available to all Folders in the system (or ship it to someone else's system). People would now have "Feedback Folder" as a list of possible things they could add. But unlike Zope Products, there is no lib/python/Products/ directory on the filesystem with the Python code.
Interesting news. Presumably this means that some export format for Zope objects will be decided upon,
There already is an export mechanism and format. The ability to export applications that Paul refers to is already in Zope but is not currently documented. The soon to be released Zope manager's guide will describe how to develop distributable Zope applications through the Zope interface.
Does this have anything to do with the 'Principia Factory' I noticed I could add in the Products folder?
Michael Bernstein.
Yup Jim -- Jim Fulton mailto:jim@digicool.com Technical Director (540) 371-6909 Python Powered! Digital Creations http://www.digicool.com http://www.python.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
participants (4)
-
Andrew M. Kuchling -
Jim Fulton -
Michael Bernstein -
Paul Everitt