Hi Martijn, Without comparison otherwise, you may find my thoughts here useful: http://www.martinaspeli.net/articles/granting-plone-an-api
> a) continue with the current extra dependencies situation like in > zope.component, and in fact clean up other packages that define ZCML to > declare ZCML extra dependencies. -0.5 I think this will require more discipline than usual, and it'll a pain to test how a package behaves both with and without extras. > b) pull out all ZCML implementations from where they are now and put > them in special ZCML implementation packages. We could for instance have > zcml.component, or zope.component_zcml, or zope.configuration.component. > We had a bit of a side-tracked discussion about naming and namespace > packages here. +0.5 I would suggest we have a namespace package and a naming convention to allow this to grow over time. For example, we could have a zope.zcml.* naming convention, so you'd have zope.zcml.component, zope.zcml.content and so on. Having a single package could become painful when people start refactoring and branching, as you could easily get into situations where it becomes hard to upgrade or manage releases. > c) pull out only those ZCML implementations that cause extra > dependencies beyond zope.configuration. So, we extract the bits of > zope.component into a new package, but we don't extract bits from > zope.security. -0.5 This policy sounds confusing to me, which means that people will probably screw it up. :) > For that reason, a) is not really an option for me. That leaves b) and > c). I think for now we should go with c), as it's the smallest step > forward that will help clean up things. That is, we either find and > appropriate package that makes sense for the ZCML implementations in > zope.component, or we create a new package. Of course if we create a new > package we still have a naming discussion ahead and I risk sparking > another naming discussion (as it's easy to have an opinion about names). > > So, what do people think about option c)? I see no problem with starting with zope.component, but I'd consider both naming conventions and package structure conventions in a wider context before making the leap with zope.component, to reduce the chance of inconsistencies in the future. Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org 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 )