[Zope-CMF] Composite Content (was: Pythonish Questions)

Kent Polk kent@goathill.org
2 May 2001 19:28:26 GMT


On 1 May 2001 07:45:01 -0500, Tres Seaver wrote:
> 
> Composites are one of the major features we plan to add for
> the next release of the CMF.  This list is the main discussion
> point for them, so far;  currently, DC plans to generalize from
> the composites we have built for several consulting gigs.

Any chance you could describe what you are considering for composite
content?

What I need are tree-like slots where specific sub-items and/or
subitem lists need to go.  Mine are all based around the workflow
of a project which has tasks that are represented by my tabular
cmf items. Some tasks (items) have to be done in series while others
can be done in parallel, but subitems need to be able to acquire
project information from their parents. I then need to view the
composite object (somehow?) and I need to view the objects in
relation to their workflow status (a dtml-tree view probably).

I've developed a product which includes a generic Zope Table Proxy
which sits apart from the CMF items, a generic Zope Proxy client
and a generic subclassed CMF Table Item (the Table Item uses the
default workflow right now). The table proxy has a lot of options,
but it connects to a ZDatabase connector and can either create or
hook to a table in the database, query the existing table to generate
a series of generic ZSQL methods that one can customize (or build
from a csv file as a description). The cmf table items (proxy
clients) are basically a CMF item wrapped around a dtml-with that
accesses the pertinent proxy methods that manage the tabular data.
The table items can also upload tabular data from a csv file into
the database.  The purpose in this is to allow the CMF items to
manage the metadata and workflow for the tabular data and to use
the metadata to constrain the sql queries to what is pertinent to
that cmf item.

I have some custom proxies for subclassed tabular objects and these
incorporate metadata acquired from the parent objects into the sql
query method calls. This allows the table items to handle data only
associated with their particular item, but in a std SQL context.
I haven't written CMF types for these yet as I was waiting around
to see what the composite content proposal looked like.

Which is why I am very interested in your ideas for Composite
Content.

-------

BTW, I must say that the different ways you guys provided to hook
other mechanisms into the CMF is pretty cool. I haven't gotten
around to trying the new workflow stuff, but I implemented all of
mine in a separate zope product, including my skins as a DirectoryView.
I haven't quite figured out how to completely automate registering
the skins and hooking up the new types with their actions, but just
being able to do it manually to test it out is pretty neat.

Also, has there been any more discussion towards implementing a
ticket-based system in the CMF? I had tried out several Request
items with the earlier workflow and it's probably time to go back
and start on them again. I'm having difficulty trying to determine
how to connect request items with their resulting action items in
the workflow, or even if this is an appropriate model.