[Zope-dev] [Checkins] SVN: zope.dublincore/trunk/ Renamed the ``zope.app.dublincore.*`` permissions to ``zope.dublincore.*`.

Tres Seaver tseaver at palladion.com
Fri Apr 23 17:58:07 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fred Drake wrote:
> On Fri, Apr 23, 2010 at 3:08 PM, Tres Seaver <tseaver at palladion.com> wrote:
>> Done.  The 3.6.3 release is up on PyPI:
> 
> I guess I should get out more; just noticed this thread.
> 
> Changing the stored permission names is a big deal.  If a permission
> gets stored with zope.dublincore 3.6.3, then an instance running
> 3.6.(0|1) can't use it.  This creates a problem for rolling restarts,
> where a permission stored by an instance with 3.6.3 may be accessed by
> an instance using 3.6.1 (or an even older version).
> 
> Here's another possible approach:
> 
> - Keep the zope.app.dublincore.* permissions in 3.6.x, with
> forward-compatibility adjustments in the ZCML, using
> 
>     <meta:redefinePermission
>         from="zope.dublincore.change"
>         to="zope.app.dublincode.change"
>         />
> 
> - Change the permission names and add backward compatible ZCML in 3.7.x:
> 
>     <meta:redefinePermission
>         from="zope.app.dublincode.change"
>         to="zope.dublincore.change"
>         />
> 
>> and the trunk is updated to indicate a forthcoming 3.7.0 release minus
>> the BBB shims:
> 
> If this even needs to be done, I'd like to see it be 4.0.0, because
> it's incompatible.
> 
> This just doesn't seem valuable to me.

I disagree, pretty strongly:  making code forever responsible for bad
old data is responsible for a lot of horrors in both Zope2 and Zope3
code bases.  Releasing the packages separately allows the folks who need
time to fix the data to have it, while still allowing development to
continue without the burden.

If you are running with a 3.6.x version of zope.dublincore, and you have
persisted the permissions somehow, then you need to *evolve the data*
before upgrading to 3.7.0.  That is why 3.7.0 got the bump from 3.6.x.
If you can't afford (yet) to evolve the data, then don't upgrade the
package until you can.  Running with 3.6.3 allows you to use either
permission, as the zope.app.dublincore versions get upgraded in place to
zope.dublincore equivalents.

Or are you saying that the way 3.6.3 uses meta:redefinePermission won't
work for persisted permissions?


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkvSF+oACgkQ+gerLs4ltQ7vVwCeMHD4uK8I60XpQ/ztWM9NJe/j
tPEAn0g2jp23wm+WM9aPlRBlaHeQXNgv
=i/iU
-----END PGP SIGNATURE-----


More information about the Zope-Dev mailing list