For zodbupdate
you can define rename rules. These seem to work for me:
rename_dict = {
'App.interfaces IPersistentExtra': 'zope.interface Interface',
'App.interfaces IUndoSupport': 'zope.interface Interface',
'Products.ResourceRegistries.interfaces.settings IResourceRegistriesSettings': 'zope.interface Interface',
'webdav.EtagSupport EtagBaseInterface': 'zope.interface Interface',
'webdav.interfaces IFTPAccess': 'zope.interface Interface',
# Add extra renames that seem only needed to avoid warnings:
'webdav.interfaces IDAVCollection': 'zope.interface Interface',
'webdav.interfaces IDAVResource': 'zope.interface Interface',
'webdav.interfaces IWriteLock': 'zope.interface Interface',
}
Without this, zodbupdate
failed with:
ModuleNotFoundError: No module named 'webdav.interfaces'; 'webdav' is not a package
Maybe that was with an alias_module
for webdav
already in place. My notes are inconclusive there.
But this is with a small Plone Site that started in Plone 5.0, then 5.1, now 5.2. No Archetypes. I expect that these renames are needed for all sites. So I wonder why these rewrites are not somewhere in core Plone already? Apparently people have successfully migrated Plone Sites without these. Haven't others run into the same?