Marco Bizzarri wrote at 2007-2-10 21:33 +0100:
... cb = self.zope.manage_copyObjects([self.of.id]) ... self.zope.manage_pasteObjects(cb) new_of = getattr(self.zope, 'copy_of_'+self.of.id) self.assertEquals(len(new_of.Catalog()),cataloged_items) </code>
Just for a little of further knowledge: OpenFlow creates a Catalog, which is used to access all the data of the Workflow (processes, instancess, workitems, etc.)
The assertion failing is the last one, because I get a length of 0 as a result of the query of the catalog.
Can someone point me to differences between 2.7 and 2.9 in the handling of the paste action?
I do not yet use Zope 2.9. Therefore, my answer is very hypothetical: In earlier versions, copying a catalog contained a bug: The catalogued objects were twice in the catalog. A first time because they have been copied with the catalog itself and a second time due to the "manage_afterAdd" call for the true object copy. Maybe, "OpenFlow" contains some code to avoid this catalog copying problem -- and maybe, the buggy behaviour was fixed in Zope itself. Then, the correcting actions of "OpenFlow" might do too much. -- Dieter