Run the migration provided by plone.app.contenttypes. It can also handle custom types to an extend.
Migrating using transmogrifier:
That often involves a lot of work. This is a transmogrifier pipeline, which worked for me in different migration projects: https://github.com/thet/programmatic.transmogrifier
There is also much documentation, unfortunately often outdated. However, for more complex migration projects, this is the way to go.
In reply to Espen's suggestion I got the following (this was the easiest to try first)
Will now try AJ's suggestion
An error was encountered while publishing this resource.
Sorry, a site error occurred.Traceback (innermost last):
Module ZPublisher.Publish, line 249, in publish_module_standard Module ZPublisher.Publish, line 197, in publish Module zope.event, line 31, in notify Module zope.component.event, line 24, in dispatch Module zope.component._api, line 136, in subscribers Module ZODB.Connection, line 860, in setstate Module ZODB.Connection, line 914, in _setstate Module ZODB.serialize, line 612, in setGhostState Module ZODB.serialize, line 605, in getState Module copy_reg, line 48, in _reconstructorTypeError: ('object.new(ChildSiteDescriptor) is not safe,
use Persistence.Persistent.new()', <function _reconstructor at
The URL may be incorrect.The parameters passed to this resource may be incorrect.A resource that this resource relies on may be
encountering an error.
For more detailed information about the error, please
refer to the error log.
If the error persists please contact the site maintainer.
Thank you for your patience.
Errors of this kind can occur when a class which formerly has not been persistent becomes persistent (maybe also in the inverse direction). In my experience, it is very difficult to migrate existing objects in those cases on the ZODB level.
AN error like that has (it looks like) to do with
Which could mean that your old site had collective.lineage installed (or at least, it had it once).
If you dont need colliective.lineage, be sure to uninstall it on the old site before copying things (and probably pack the database, too)
If you need it on the new site, you could try uninstalling it and reinstalling it in ZMI
I might be completely wrong here, but it should be very fast for you to test, since the 'migration steps you plan to do' are probably a little more difficult if you are ' a little unfamiliar with these things'
+1 for what @espenmn said. going the transmogrifier way without much knowledge about configuring, administering and programming Plone won't get you far.
In your old 4.3 site, upgrade to lineage 1.1.3 and run the upgrade steps provided (via addon control panel or ZMI). Look at the docs at https://pypi.python.org/pypi/collective.lineage/1.1.3 .
For Plone 5 you have to update lineage to latest 2 release. I'd even use the source checkout for the still unreleased 2.1 release.
1a. To check if you need simplejson, run bin/zopepy and "import simplejson" - if you get an ImportError then you do.
ImportError: No module named simplejson
Requirement to add the following to buildout.cfg
and run buildout
After running buildout (with collective.jsonify and simplejson)
Create and add a file (used Notepad++) named json_methods.py in /parts/instance/Extensions/ with the following content (create the Extensions folder if it doesn't exist)
from collective.jsonify import get_item
from collective.jsonify import get_children
Many thanks Johannes - as explained I am very much an end-user and will work on what you have given me - but given my lack of experience 'under the hood' with plone I will first have to get around the concept of what 'and setup an import transmogrifier pipeline on the site you’re importing to' means and looks like.
Just learning the rudiments before I start the engine :o)
@alert good update & thanks!
The thing I love about jsonify / jsonmigrator though is that they can rescue REALLY OLD Plone sites into modern sites. I even ran it on Zope & CMF where the python was so old it didn't have simplejson until we did a wee backport of it https://github.com/simplejson/simplejson/tree/python2.2