;-*-Doctest-*- ======================= Translocating Migrators ======================= Translocating migrators place the new object in a different location from the old object:: >>> portal = layer['portal'] >>> from plone.app.testing.helpers import applyProfile >>> applyProfile(portal, 'Products.contentmigration:testing') >>> from Products.CMFPlone.utils import _createObjectByType >>> foo = _createObjectByType( ... 'Folder', portal, id='foo', title='Foo') >>> bar = _createObjectByType( ... 'CMF Document', portal, id='bar', title='Bar') >>> from Products.contentmigration.translocate import TranslocatingInplaceCMFItemMigrator >>> class FooMigrator(TranslocatingInplaceCMFItemMigrator): ... dst_portal_type = 'Document' ... def getDestinationParent(self): return foo >>> migrator = FooMigrator(bar) >>> migrator.migrate() >>> portal.bar Traceback (most recent call last): ... AttributeError: bar >>> at_bar = portal.foo.bar >>> at_bar.portal_type, at_bar.getId(), at_bar.Title() ('Document', 'bar', 'Bar')