Ticket #13815 (new Bug)

Opened 2 years ago

Last modified 14 months ago

Incomplete dependencies for import step "content"

Reported by: dieter Owned by:
Priority: minor Milestone: 4.x
Component: Unknown Version: 4.2
Keywords: Cc: dieter@…

Description

In Plone 4.2.4 (at least), the import step "content" (defined in "Products.CMFPlone.exportimport:configure.zcml") defines "typeinfo" as sole dependency. But, obviously, it also depends on "workflow" and "catalog" (and maybe more steps).

As a result, I see sometimes (apparently non-deterministically) content created by the "content" import step having the wrong workflow. In my case, sites are created by a custom "GenericSetup" profile depending on a standard Plone profile with the custom profile overriding the Plone "front-page" and setting up new workflow definitions. What I observe occationally (rather rarely) is that the newly created "front-page" has the correct (new) content but the old (the Plone one) workflow. The likely cause: the "content" import step "forgets" to declare its dependency of the "workflow" import step (it forgets at least also the "catalog" dependency).

The topological sort performed by "GenericSetup" to derive a step sequence from the partial order defined by the dependency declarations does not ensure a persistent step sequence; small variations (in the global component registry) can lead to differing step sequences - with the result of apparently non-deterministic wrong step orders. Therefore, complete dependency declarations are very important.

Change History

comment:1 Changed 2 years ago by dieter

  • Cc dieter@… added

comment:2 Changed 14 months ago by dieter

I have now found that the dependency declaration for "plone-final" (again in "Plone 2.4.4") is also incomplete -- it lacks "skins" (and likely as well "jsregistry", "cssregistry" and "kssregistry" and maybe others). As a result, portals can be created without the "CMFEditions" skin components. Creating a content object in such a portal leads to a "ValueError: Unable to find update_version_before_edit".

I have created a "GeenricSetup" bug report:  https://bugs.launchpad.net/bugs/1418881

Note: See TracTickets for help on using tickets.