@zopyx please read the context before replying. This is specifically about the GSOC project relating to provide a more end user friendly mechanism to replace transmogrifier.
Users who want to export or import into plone tend to expect either a) some kind of import/export feature built in b) that plone uses SQL and therefore they can hack the sql to get at content. Our aim is to reduce requests for support of the community for how to import/export.
What this means is that if someone doesn't have access to view a document then export shouldn't let them export it. If they can't edit an object, then import shouldn't let them import it. If they can't change sharing settings then import shouldn't let them change sharing etc etc.
This just means the future code will give help if imports go wrong, eg. you specify a import to overwrite certain content by specifying paths but the paths don't match. A dry run feature is just one way to achieve this.
Import from Plone 4 into Plone 5 etc.
Probably all the object manipulation can be handled by plone.restapi.