Missing Dexterity after upgrade from Plone 4.3.19 to 5.2.1 (on Python 2.7)

I've been working on upgrading a 4.3.19 site to 5.2.1 (but still on Python 2.7 for now). The site is imsss.net and was first created using 3.x (I don't recall... mists of time, etc.) The usual upgrade at the Zope level seemed to run just fine, however the site still uses Archetypes (I can tell by the createObject URLs in the "Add new..." menu). When I try to use the AT migrator form at http://localhost:8080/IMSSS//@@atct_migrator I get a 404! Also, there is no Dexterity control panel... Yet plone.app.contenttypes is in the buildout (obviously?) and is in the bin/client1. What have I missed?

It looks like the migration code is only loaded when both Products.ATContentTypes and archetypes.schemaextender are available. See this code: https://github.com/plone/plone.app.contenttypes/blob/master/plone/app/contenttypes/configure.zcml#L39-L43
Is one of those missing from the eggs?

1 Like

Both of those are in the client1 generated by buildout:

  • /Users/kim/PloneBuilds/imsss-2020/opt/Plone-4.3.8/buildout-cache/eggs/cp27m/archetypes.schemaextender-3.0.0-py2.7.egg
  • /Users/kim/PloneBuilds/imsss-2020/opt/Plone-4.3.8/buildout-cache/eggs/cp27m/Products.ATContentTypes-3.0.2-py2.7.egg

I saw they're pinned in https://dist.plone.org/release/5.2.1/versions.cfg but I hadn't added them to my buildout.cfg eggs. Once I did, I was able to install Products.ATContentTypes but do not see archetypes.schemaextender in the prefs_install_products_form. Adding it to the zcml doesn't make a difference (I was wondering what zcml:condition="installed archetypes.schemaextender" actually checks for).

But I'm still not able to browse to my site's /@@atct-migrator.

Is there some other way I can force including the .migration package?

The zcml installed condition is true when the named package is available to Python. Practically speaking: if import archetypes.schemaextender works, then this condition is true.

At first glance it looks strange that a directory with name Plone-4.3.8 is in the two paths you mention, but I guess this buildout started with Plone 4.3.8 and has been updated meanwhile. So that is probably okay.

The atct_migrator page is configured in this zcml. The two big items there are:

  1. You need to be logged in as Manager, but that is probably true.
  2. plone.app.contenttypes needs to be installed in the add-ons control panel.

Maybe that last one is missing?