Re: [Zope-dev] data migration from zope 2.6.1 to zope 2.7.0-b2
On Fri, Feb 06, 2004 at 03:12:39PM -0600, J Cameron Cooper wrote: > altkey wrote: > > >I am fairly new to zope & python but I am working to migrate some > >data/objects from zope 2.6.1 to zope 2.7.0-b2 (and eventually 2.7.0 > >final. > > > >What I am doing is this. > >(1) get Dublin core metadata + some Dublin core extensions for the > >objects > >(2) get pure text representation of object content - I can't use > >a simple import/export in zexp format because the classes in the > >receiving zope instance differ significantly from the classes in the > >sending zope instance. > > > >I am able to collect all the data mentioned above and pass it across > >to the new 2.7.0-b2 zope instance but i am having trouble getting my > >objects to live where they need to live; specifically their path is > >not being accepted properly when i recreate the objects. > > Before trying to deal with the problem you state, I'll make two possibly > simplifying observations: > > 1. There should be no need to do any migration when upgrading Zope. The > ZODB has not changed, and you may simply copy it over or upgrade Zope in > place. > > 2. ZSyncer is the best magic for copying objects from one instance to > another. I doubt it will help. ZSyncer is a shortcut for export -> import, and altkey wants to convert between two different classes. Also zsyncer currently enforces (stupidly) that the two zopes must have the same folder hierarchy - you can't sync /foo/bar/baz to /bat/bar/baz. altkey, maybe you should break this into multiple steps, some of which are apparently done already; something like: 1) write code that extracts data from an old class. 2) write code that creates an instance of the new class from this data. note that this is on one server so the classes must have different names or live in different modules. i think you're ok here already. 3) write a script that upgrades a single object "in place" by doing #1, deleting the object, then doing #2 4) write a script that walks a folder tree and does #3 on all instances of the old class. 5) use zsyncer or export / import to copy the objects from the old zope to the new zope. -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's INMATE SUPER EXOSKELETON! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] data migration from zope 2.6.1 to zope 2.7.0-b2
altkey wrote: I am fairly new to zope & python but I am working to migrate some data/objects from zope 2.6.1 to zope 2.7.0-b2 (and eventually 2.7.0 final. What I am doing is this. (1) get Dublin core metadata + some Dublin core extensions for the objects (2) get pure text representation of object content - I can't use a simple import/export in zexp format because the classes in the receiving zope instance differ significantly from the classes in the sending zope instance. I am able to collect all the data mentioned above and pass it across to the new 2.7.0-b2 zope instance but i am having trouble getting my objects to live where they need to live; specifically their path is not being accepted properly when i recreate the objects. Before trying to deal with the problem you state, I'll make two possibly simplifying observations: 1. There should be no need to do any migration when upgrading Zope. The ZODB has not changed, and you may simply copy it over or upgrade Zope in place. 2. ZSyncer is the best magic for copying objects from one instance to another. As for your stated problem: I think self may not be what you think it is, because if it really is 'testStuff' it should work like you expect. I can't say why without knowing more. --jcc -- "He who fights with monsters should look to it that he himself does not become a monster. And when you gaze long into an abyss the abyss also gazes into you." ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] data migration from zope 2.6.1 to zope 2.7.0-b2
Hi, I am fairly new to zope & python but I am working to migrate some data/objects from zope 2.6.1 to zope 2.7.0-b2 (and eventually 2.7.0 final. What I am doing is this. (1) get Dublin core metadata + some Dublin core extensions for the objects (2) get pure text representation of object content - I can't use a simple import/export in zexp format because the classes in the receiving zope instance differ significantly from the classes in the sending zope instance. I am able to collect all the data mentioned above and pass it across to the new 2.7.0-b2 zope instance but i am having trouble getting my objects to live where they need to live; specifically their path is not being accepted properly when i recreate the objects. here's a code snippet for an external method i am working on def addObjects(self, objectList): from Products.CMFCore.PortalFolder import PortalFolder from OFS.Moniker import Moniker import urllib nameList = [] for myObject in objectList: metadata = myObject[0] content = myObject[1] dcMetadata = metadata['DC'] edcMetadata = metadata['EXTENDED_DC'] name = metadata['OBJECT_ID'] oType = metadata['TYPE'] portalType = metadata['PORTAL_TYPE'] metaType = metadata['META_TYPE'] DCType = dcMetadata['Type'] path = metadata['PATH'] root = metadata['ROOT'] selfPath = self.getPhysicalPath() nameList.append((selfPath,name,portalType,metaType,path)) self.invokeFactory(portalType,'__'+name) q = content['CONTENTS'] uq = urllib.unquote(q) the line "self.invokeFactory(portalType,'__'+name)" should be creating the new objects should be created in the context (self) that the external method is executing in - i checked what path 'self' has and it is correct (in this case /DF/testStuff). but instead of being created where I'd expect the new objects are being created in /DF I am sure this all come down to my own inexperience but I would really appreciate any advice that a more experiences python/zope person can give. Cheers, altkey (aka Phil) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )