[Zope-CMF] Zope as theatre

Lennon Day-Reynolds lennon@day-reynolds.com
22 Feb 2002 17:21:43 -0800


First of all, let me apologize in advance for the somewhat frustrated
tone of this message: I quit smoking three days ago, lowering my
patience level to that of a toddler with ADD, and having spent
effectively the third day in a row banging my head up against the lack
of documentation (and debugging output) for core CMF features has pushed
me nearly to the brink. I can appreciate the value of self-teaching as
much as the next guy, but I also have a deadline to meet. 

In other words, I'm shooting for "sarcastic and funny", not "flame".
Now, with that warning accomplished...


Act I: Our Hero's Struggles

Having received no reply to my last posting about custom workflow for
discussion items, I struggled ahead, and solved most of the early
problems I had encountered. Feeling confident, I then began to delve
more deeply into custom workflow setup, and set up seperate worklists
for discussion moderation and standard content review. In other words,
everything was going great.

In creating a second workflow for the "standard" content types, though,
I noticed that the action bar now listed two worklists -- one for my
'workflow' object, and one for the 'default_workflow' built-in. Thinking
I had no need for the default, I simply deleted it from the
'site_workflow' tool's contents.


Act II: The Plot Thickens

Surprise! It **came back automatically** the next time I logged in to
the site as a normal user! Despite the fact that nothing at all is
utilizing it, I can't make the 'default_workflow' loaded from the
on-disk CMFDefault product go away. I delete it, and at the next user
login, it comes back. I admit, I have this pet peeve about code that
seems to know better than I do what needs to happen, and yet refuses to
give me any indication *why*, though I don't think I'm alone in this.

In addition, I can no longer perform many of the workflow-directed
actions *at all*. That's right: with no changes to the permissions
settings, the return of the default_workflow object has locked every
user on the server (including the root-level administrator) from doing a
simple 'Publish' or 'Reject'.


Act III: A Cry for Help

Now, before I spend another 10-15 hours on misguided tinkering, I'd love
to know what I did wrong. If anyone has any suggestions, more detailed
documentation than the CMF Dogbowl, even just some general
rules-of-thumb that could keep me from making the same degree and number
of mistakes the next time through, I'd be forever in your debt. I've
gone through a good portion of the CMFCore and CMFDefault sources, but
had been hoping that I wouldn't have to resort to line-by-line analysis
of every major component to get a feel for what's going on.

So, my questions really boil down to a few basics:

1. Can the default workflow be removed from a CMF site? If so, how?
   If it can't, then why does it appear as simply another object in
   the workflow tool's contents?

2. Are these (and other recent and inevitably future) problems simply 
   the result of operator difficulty, or is DCWorkflow not ready for
   production use outside of Zope Corp. and other Zope gurus?

3. Is there some resource aside from the CMF sources and Dogbowl which
   has up-to-date information on the CMF architecture, and more than
   surface-level customization?


Act IV: A Happy Ending (maybe)

<<audience participation encouraged!>>

I'm really, really trying to like Zope, but keep coming up against this
wall of bizarre internal APIs used for everything that seems to cost so
much of the readability and dynamic nature that made me love Python in
the first place. I've done J2EE-based sites in the past, and never want
to go back to that kind of gargantuan, heavyweight environment if I can
help it. I'm not trying to blame any of the Zope core developers for my
inability to understand their excellent tools...I'm just pleading for
some guidance, before my time for exploration is up and I'm forced go
buy something off the shelf.