[Zope] - FYI: Addition to roadmap -- Zope Classes

Paul Everitt Paul@digicool.com
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