Migration profiles for add-on products?

Martin Aspeli optilude at gmx.net
Fri May 11 23:16:10 UTC 2007


Maurits van Rees wrote:
> Maurits van Rees, on 2007-05-11:
>> Instead of this I would want to apply a migration profile, much like
>> Plone 3 does it now.  So something like:
>>
>>     loadMigrationProfile(context,
>>         'profile-Products.eXtremeManagement.migrations:0')
> 
> Actually, profile-Products.eXtremeManagement:0 would be better.  I now
> realize you can easily have migration/profiles/version_1.5/0 and
> register this directory under the simple name '0'.
> 
> And profile-Products.eXtremeManagement:default (or ...:install) could
> be used as the profile to apply when installing.  The location
> currently would be profiles/default.  After applying this profile we
> can set the generation to let's say 5 when 5 is the latest generation.
> 
>> But if that is the only thing that we really want to do in that
>> evolve() function, then it might be cleaner to overwrite the evolve
>> method of the base SchemaManager as defined in
>> zope/app/generations/generations.py
>>
>> But that is for another email.
> 
> Okay, I could not resist and added a project for this in the
> collective:
> 
> https://svn.plone.org/svn/collective/collective.generations/trunk
> 
> Totally absolutely untested, but there you go.  I definitely think
> this could work though.

I don't have time, but I'm really excited. :) This is something I've 
been wanting to do for a while, and others have looked at it too. The 
pattern as we've discussed it here feels more "right" to me than what 
I've seen previously, though.

If you are able to polish and shepherd this, it could be a great tool 
for the community.

Martin





More information about the Product-Developers mailing list