From: Paul Everitt <Paul@digicool.com> To: "'zope@zope.org'" <zope@zope.org> Subject: [Zope] - FYI: Addition to roadmap -- Zope Classes Date: Tue, 19 Jan 1999 09:56:12 -0500 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