If I get a Plone 3.0 site with NO add-ons installed: Will it be possible to upgrade to Plone 5.1 (or 5.2) directly… or will I need to do it in steps as 'normal' ?
No, in steps only. First to 3 latest, then 4 latest, then 5.
See the Plone Upgrade Guide for the different version starting with 3.
Consider also the possible switch to python3 with 5.2
I will need Mosaic, so I dont think that is an option.
Everything went OK, but I am stuck with 206 folder not migrating due to:
persistent broken Products.CMFDefault.DiscussionItem.DiscussionItemContainer
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module plone.z3cform.layout, line 66, in __call__
Module plone.z3cform.layout, line 50, in update
Module z3c.form.form, line 213, in update
Module plone.app.z3cform.csrf, line 21, in execute
Module z3c.form.action, line 98, in execute
Module z3c.form.button, line 315, in __call__
Module z3c.form.button, line 170, in __call__
Module plone.app.contenttypes.migration.browser, line 384, in handle_migrate
Module plone.app.contenttypes.migration.browser, line 219, in __call__
Module plone.app.contenttypes.migration.migration, line 343, in migrate_folders
Module plone.app.contenttypes.migration.migration, line 52, in migrate
Module Products.contentmigration.basemigrator.walker, line 144, in go
Module Products.contentmigration.basemigrator.walker, line 223, in migrate
MigrationError: MigrationError for obj at /Plone/grupper (Folder -> Folder):
Traceback (most recent call last):
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.contentmigration-2.1.11-py2.7.egg/Products/contentmigration/basemigrator/walker.py", line 192, in migrate
migrator.migrate()
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.contentmigration-2.1.11-py2.7.egg/Products/contentmigration/basemigrator/migrator.py", line 220, in migrate
method()
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.contentmigration-2.1.11-py2.7.egg/Products/contentmigration/basemigrator/migrator.py", line 577, in migrate_children
self.new._setObject(id, obj, set_owner=0)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.BTreeFolder2-2.13.3-py2.7.egg/Products/BTreeFolder2/BTreeFolder2.py", line 455, in _setObject
notify(ObjectAddedEvent(ob, self, id))
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.event-3.5.2-py2.7.egg/zope/event/__init__.py", line 31, in notify
subscriber(event)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/event.py", line 24, in dispatch
zope.component.subscribers(event, None)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 136, in subscribers
return sitemanager.subscribers(objects, interface)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py", line 321, in subscribers
return self.adapters.subscribers(objects, provided)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/adapter.py", line 585, in subscribers
subscription(*objects)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/event.py", line 32, in objectEventNotify
zope.component.subscribers((event.object, event), None)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 136, in subscribers
return sitemanager.subscribers(objects, interface)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py", line 321, in subscribers
return self.adapters.subscribers(objects, provided)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/adapter.py", line 585, in subscribers
subscription(*objects)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Zope2-2.13.23-py2.7.egg/OFS/subscribers.py", line 113, in dispatchObjectMovedEvent
dispatchToSublocations(ob, event)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.container-3.11.2-py2.7-linux-x86_64.egg/zope/container/contained.py", line 153, in dispatchToSublocations
for ignored in zope.component.subscribers((sub, event), None):
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 136, in subscribers
return sitemanager.subscribers(objects, interface)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py", line 321, in subscribers
return self.adapters.subscribers(objects, provided)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/adapter.py", line 585, in subscribers
subscription(*objects)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/plone.app.versioningbehavior-1.2.5-py2.7.egg/plone/app/versioningbehavior/subscribers.py", line 62, in create_version_on_save
pr.save(obj=context, comment=changeNote)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.CMFEditions-2.2.15-py2.7.egg/Products/CMFEditions/CopyModifyMergeRepositoryTool.py", line 305, in save
autoapply=self.autoapply)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.CMFEditions-2.2.15-py2.7.egg/Products/CMFEditions/CopyModifyMergeRepositoryTool.py", line 450, in _recursiveSave
prep = portal_archivist.prepare(obj, app_metadata, sys_metadata)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.CMFEditions-2.2.15-py2.7.egg/Products/CMFEditions/ArchivistTool.py", line 267, in prepare
self._cloneByPickle(obj)
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/Products.CMFEditions-2.2.15-py2.7.egg/Products/CMFEditions/ArchivistTool.py", line 221, in _cloneByPickle
p.dump(aq_base(obj))
File "/home/medialog/plone5/Plone50/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/broken.py", line 321, in __reduce__
raise BrokenModified(self)
BrokenModified: <persistent broken Products.CMFDefault.DiscussionItem.DiscussionItemContainer instance '\x00\x00\x00\x00\x00\x00B\xd2'>
PS: Could not migrate them in 4.3 too
See:
I'd remove the old revisions before upgrading. You could use collective.revisionmanager for that.
Thanks a lot… that advice 'saved me'
I'm in the unfortunate position of having to try to fix this in a site that was upgraded a while ago... I guess I'll go take a look at that code to see if I can apply it to a post-migrated site.