[Zope3-Users] content object migration (was: need guidance)

Chris McDonough chrism at plope.com
Wed Nov 30 17:41:38 EST 2005

On Nov 30, 2005, at 3:05 PM, Duncan McGreggor wrote:

> On Nov 30, 2005, at 12:49 PM, Chris McDonough wrote:
>> As we move towards another iteration, if I need to, while I'm  
>> writing code, I write evolution scripts that are capable of fixing  
>> ZODB data in place between milestone revisions of code.  I happen  
>> to know exactly when I need to do this, because I've been working  
>> with ZODB for many years.  Other developers working with me do the  
>> same.
> Awesome email, Chris -- thanks for sharing!

Actually, egads, rereading it, I think I may have sounded like a bit  
of a prick, but glad you got some value! ;-)

> In particular, I am tantalized by the paragraph above ;-) As I  
> alluded in a previous post, this has been a very painful point for  
> myself an other developers with whom I have worked. For one client,  
> we used the CMFPlone.MigrationTool on a Zope2/Plone project where  
> content addition was occurring throughout the development phase. I  
> found the tool cumbersome and the whole process most painful and  
> distasteful.

I haven't used that particular tool..

> Do you employ an analogous tool or elegant manual approach for z3  
> projects? If you have no tool, have you guys compiled a best  
> practices doc (informal or otherwise) whereby those of us  
> inexperienced in these particulars could benefit?

Tools do exist.  Last year, Jim was nice enough to finish the  
"generations" machinery for Z3 which to my knowledge currently ships  
with Zope 3.  You can take a look at it at http://svn.zope.org/Zope3/ 
trunk/src/zope/app/generations/ .  I created a Zope 2 product that  
used this machinery at the time... it's available via http:// 
cvs.zope.org/Products/zzz_generations/ .  Docs are pretty slim for  
the Z2 version, so it's not immediately useful, but if you can figure  
out how to register a product with an initial version, it becomes  
useful thereafter.  I use zopectl debug to do that myself. ;-)

The nice thing about this kind of tool is that there is exactly one  
action for its UI consumers to take: upgrade.  The only way they can  
screw it up is to *not* do that.

- C

More information about the Zope3-users mailing list