zope.app.workflow + zope.app.catalog -> failure

Bug #98155 reported by Ivo van der Wijk
2
Affects Status Importance Assigned to Milestone
Zope 3
Won't Fix
Wishlist
Unassigned
zope.app.workflow
Incomplete
Wishlist
Unassigned

Bug Description

Workflow and Catalog individually work fine, once they're combined things start to fail. In essence, this is caused by the catalog trying to index workflow data that's added to content objects. Specifically, the IntIds utility fails to get a IKeyReference for a zope.app.workflow.instance.ProcessInstanceContainerAdapter

Along with this, there appear to be some event problems / persistency problems. Events are triggered too early causing objects not to have a _p_jar yet.

Below a diff from my working copy against the trunk with some horrible workarounds (not something that should end up like this in trunk) -- it might provide some hints on improvements/fixes.

Revision history for this message
Ivo van der Wijk (ivo-m3r) wrote :
Revision history for this message
Jim Fulton (jim-zope) wrote :

Status: Pending => Deferred

There doesn't seem to be any interest in this.

Revision history for this message
Christian Theune (ctheune) wrote :

Observations:

- intid already changed towards how this patch wants it to work, except that it doesn't cover the ValueError exception.
- The change to the catalog looks risky to me: erroneous situations where an object that is expected to have an intid and thus be cataloged does not have an intid will break obviously. This patch would hide those situations risking inconsistent application data.
- Workflow objects implicitly learn about the ZODB (which they currently only do very lightly in instance.py) but otherwise don't depend on objects being derived from persistent.
- There's no tests (and I have the feeling that the tests won't pass after applying those changes)

Ivo: if you really still need this, please speak up and provide another solution. I'll set the status to incomplete and thus let the bug expire if you don't need it.

Changed in zope3:
status: Confirmed → Won't Fix
Changed in zope.app.workflow:
status: New → Incomplete
importance: Undecided → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.