Blueprint: zope.generations
Hi, I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations Any opinions? Yours sincerely, -- Michael Howitz · mh@gocept.com · software developer gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1 Zope and Plone consulting and development
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Michael Howitz wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions?
I see the blueprint, but it doesn't have any writeup linked: did you intend to link something? Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@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 iEYEARECAAYFAkxtJWoACgkQ+gerLs4ltQ4zgwCfQLza7cWDJEw4fq405ga+cC8M QOIAn0a32El9jUaeABSpzOAFek18M8Ch =6KDi -----END PGP SIGNATURE-----
Am 19.08.2010 um 14:36 schrieb Tres Seaver:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Howitz wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions?
I see the blueprint, but it doesn't have any writeup linked: did you intend to link something?
I had put everything in the summary. But now I added a proposal in the wiki and linked it to the blue print. Yours sincerely, -- Michael Howitz · mh@gocept.com · software developer gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1 Zope and Plone consulting and development
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Michael Howitz wrote:
Am 19.08.2010 um 14:36 schrieb Tres Seaver:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Howitz wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions? I see the blueprint, but it doesn't have any writeup linked: did you intend to link something?
I had put everything in the summary. But now I added a proposal in the wiki and linked it to the blue print.
+1 for the proposal. I added a comment on the conversion part. Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@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 iEYEARECAAYFAkxtNxUACgkQ+gerLs4ltQ4BdwCgkKQLaWCXLZI38GSmk4SDjhXd QoEAoMlVSfpH4mDd+C/LJH8DFypA7rWF =DbuJ -----END PGP SIGNATURE-----
On Thu, Aug 19, 2010 at 4:05 AM, Michael Howitz <mh@gocept.com> wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions?
+1 in general. Can you add to the proposal a list of what you think the dependencies of zope.generations will be? Jim -- Jim Fulton
Am 19.08.2010 um 15:52 schrieb Jim Fulton:
On Thu, Aug 19, 2010 at 4:05 AM, Michael Howitz <mh@gocept.com> wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions?
+1 in general. Can you add to the proposal a list of what you think the dependencies of zope.generations will be?
This is the list: (I also added it to the proposal.) - ZODB - transaction - zope.app.publication (only needed in a utility function to get the database root folder) - zope.component - zope.interface - zope.processlifetime Yours sincerely, -- Michael Howitz · mh@gocept.com · software developer gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1 Zope and Plone consulting and development
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Michael Howitz wrote:
Am 19.08.2010 um 15:52 schrieb Jim Fulton:
On Thu, Aug 19, 2010 at 4:05 AM, Michael Howitz <mh@gocept.com> wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions? +1 in general. Can you add to the proposal a list of what you think the dependencies of zope.generations will be?
This is the list: (I also added it to the proposal.)
- ZODB - transaction - zope.app.publication (only needed in a utility function to get the database root folder) - zope.component - zope.interface - zope.processlifetime
It seems like we should be able to remove the zope.app.publication dependency: don't the processlifetime events include a "database opened" event we could use? Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@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 iEYEARECAAYFAkxxIZ4ACgkQ+gerLs4ltQ6QfwCgiTaPjXD9/8RuRnDWeUHjpzRm GS8AoIVRznNv6o4NEOg7cpj5QU13xBfA =yAc/ -----END PGP SIGNATURE-----
Am 22.08.2010 um 15:09 schrieb Tres Seaver:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Howitz wrote:
Am 19.08.2010 um 15:52 schrieb Jim Fulton:
On Thu, Aug 19, 2010 at 4:05 AM, Michael Howitz <mh@gocept.com> wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions? +1 in general. Can you add to the proposal a list of what you think the dependencies of zope.generations will be?
This is the list: (I also added it to the proposal.)
- ZODB - transaction - zope.app.publication (only needed in a utility function to get the database root folder) - zope.component - zope.interface - zope.processlifetime
It seems like we should be able to remove the zope.app.publication dependency: don't the processlifetime events include a "database opened" event we could use?
The "database opened" event from zope.processlifetime is already used, zope.app.publication is needed for this function in zope.app.generations.utility: def getRootFolder(context): return context.connection.root().get( zope.app.publication.zopepublication.ZopePublication.root_name, None) I think this function is needed in every generation script. Is there another way to get the root folder? Should the root_name be hard coded here instead of importing it? Yours sincerely, -- Michael Howitz · mh@gocept.com · software developer gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1 Zope and Plone consulting and development
On Mon, Aug 23, 2010 at 3:41 AM, Michael Howitz <mh@gocept.com> wrote:
Am 22.08.2010 um 15:09 schrieb Tres Seaver:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Howitz wrote:
Am 19.08.2010 um 15:52 schrieb Jim Fulton:
On Thu, Aug 19, 2010 at 4:05 AM, Michael Howitz <mh@gocept.com> wrote:
Hi,
I wrote a blue print to extract the parts of zope.app.generations into a new zope.generations package. See: https://blueprints.launchpad.net/zope.app.generations/+spec/zope.generations
Any opinions? +1 in general. Can you add to the proposal a list of what you think the dependencies of zope.generations will be?
This is the list: (I also added it to the proposal.)
- ZODB - transaction - zope.app.publication (only needed in a utility function to get the database root folder) - zope.component - zope.interface - zope.processlifetime
It seems like we should be able to remove the zope.app.publication dependency: don't the processlifetime events include a "database opened" event we could use?
The "database opened" event from zope.processlifetime is already used, zope.app.publication is needed for this function in zope.app.generations.utility:
def getRootFolder(context): return context.connection.root().get( zope.app.publication.zopepublication.ZopePublication.root_name, None)
I think this function is needed in every generation script.
Hm, this depends on a particular application (as defined by zope.app).
Is there another way to get the root folder?
Some apps probably don't use a root folder.
Should the root_name be hard coded here instead of importing it?
I think this is an issue for the individual zope.generations plug ins. Does zope.generations itself use this? Jim -- Jim Fulton
Am 23.08.2010 um 15:52 schrieb Jim Fulton:
On Mon, Aug 23, 2010 at 3:41 AM, Michael Howitz <mh@gocept.com> wrote: [...]
The "database opened" event from zope.processlifetime is already used, zope.app.publication is needed for this function in zope.app.generations.utility:
def getRootFolder(context): return context.connection.root().get( zope.app.publication.zopepublication.ZopePublication.root_name, None)
I think this function is needed in every generation script.
Hm, this depends on a particular application (as defined by zope.app).
Is there another way to get the root folder?
Some apps probably don't use a root folder.
But most apps do so, I think. I moved the getRootFolder function to zope.app.generations from zope.app.zopeappgenerations some months ago as it was the only reason I needed the zope.app.zopeappgenerations package. What about a condition? Only when zope.app.publication is available, the function gets defined. So we could get rid of it as a dependency and do not need a separate package for this function.
Should the root_name be hard coded here instead of importing it?
I think this is an issue for the individual zope.generations plug ins. Does zope.generations itself use this?
No it does not use it itself. Yours sincerely, -- Michael Howitz · mh@gocept.com · software developer gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1 Zope and Plone consulting and development
On Tue, Aug 24, 2010 at 2:32 AM, Michael Howitz <mh@gocept.com> wrote:
Am 23.08.2010 um 15:52 schrieb Jim Fulton: ...
I think this is an issue for the individual zope.generations plug ins. Does zope.generations itself use this?
No it does not use it itself.
Then this is easy. :) zope.app.publication should not be a dependency of zope.generations. It should be a dependency of anything that uses it, including some zope.generations plugins. Jim -- Jim Fulton
Am 24.08.2010 um 15:08 schrieb Jim Fulton:
On Tue, Aug 24, 2010 at 2:32 AM, Michael Howitz <mh@gocept.com> wrote:
Am 23.08.2010 um 15:52 schrieb Jim Fulton: ...
I think this is an issue for the individual zope.generations plug ins. Does zope.generations itself use this?
No it does not use it itself.
Then this is easy. :) zope.app.publication should not be a dependency of zope.generations. It should be a dependency of anything that uses it,
The "anything that uses it" are the applications written on top of Zope. There is nothing in between. I do not think that every application which uses a root folder should implement this function separately. So you really suggest to put this little function into a separate package?
including some zope.generations plugins.
I'm not aware of any of those plug-ins and did not find any on PyPI. So I'm not sure what you mean by "zope.generations plugins". Yours sincerely, -- Michael Howitz · mh@gocept.com · software developer gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1 Zope and Plone consulting and development
On Wed, Aug 25, 2010 at 2:46 AM, Michael Howitz <mh@gocept.com> wrote:
Am 24.08.2010 um 15:08 schrieb Jim Fulton:
On Tue, Aug 24, 2010 at 2:32 AM, Michael Howitz <mh@gocept.com> wrote:
Am 23.08.2010 um 15:52 schrieb Jim Fulton: ...
I think this is an issue for the individual zope.generations plug ins. Does zope.generations itself use this?
No it does not use it itself.
Then this is easy. :) zope.app.publication should not be a dependency of zope.generations. It should be a dependency of anything that uses it,
The "anything that uses it" are the applications written on top of Zope. There is nothing in between. I do not think that every application which uses a root folder should implement this function separately. So you really suggest to put this little function into a separate package?
No. I was suggesting that if project imports anything from zope.app.publication, then the setup file for that project should include zope.app.publication as a dependendency. Similarly, if a project, like zope.generations, doesn't import zope.app.publication, then it should not list it as a dependency.
including some zope.generations plugins.
I'm not aware of any of those plug-ins and did not find any on PyPI. So I'm not sure what you mean by "zope.generations plugins".
In Zope 3, the component architecture is our plug-in system. Components registered as schema managers are zope.generations plug-ins. If a schema manager uses a function from zope.app.publication, then the setup file for project that provides that schema manager should list zope.app.publication as a dependency. Jim -- Jim Fulton
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Michael Howitz wrote:
Am 24.08.2010 um 15:08 schrieb Jim Fulton:
On Tue, Aug 24, 2010 at 2:32 AM, Michael Howitz <mh@gocept.com> wrote:
Am 23.08.2010 um 15:52 schrieb Jim Fulton: ...
I think this is an issue for the individual zope.generations plug ins. Does zope.generations itself use this? No it does not use it itself. Then this is easy. :) zope.app.publication should not be a dependency of zope.generations. It should be a dependency of anything that uses it,
The "anything that uses it" are the applications written on top of Zope. There is nothing in between. I do not think that every application which uses a root folder should implement this function separately.
Better that than dragging along a zope.app.* dependency into the new package, whose purpose in life is to make generations useful without requiring any of zope.app.
So you really suggest to put this little function into a separate package?
I don't know the actual users of this utilitiy function. Pushing the function into a package which they already depend on would be fine with me: if I were going to use zope.generations but didn't need or want zope.app, then the root finder policy from zope.app would likely be useless anyhow. Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@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 iEYEARECAAYFAkx1RqIACgkQ+gerLs4ltQ6IuACfQ2wCv0CCwuvFPcr04TZnvFFg 0GkAoM2BHDXBlwQeee72+Yl+Fmij5TQS =HYUl -----END PGP SIGNATURE-----
participants (3)
-
Jim Fulton -
Michael Howitz -
Tres Seaver