PackageGeddon

PackageGeddon

Author

Philipp von Weitershausen (philiKON)

Status

IsProposal

Problem

zope.app contains much functionality, too much really. It contains many things that are going to be customized by applications later, like the browser skins and the content components.

We have decided that the place for everything that is

a) optional in some sense or

b) going to be customized once or more

is zope.products.

Proposal

The following packages shall be moved:

  • zope.app.content (and its interfaces, browser views) will become
    • zope.products.folder (note that the folder component itself cannot be moved out because of dependencies; this package will only contain its browser views and configuration).
    • zope.products.file
    • zope.products.image
    • zope.products.i18nfile
    • zope.products.i18nimage
    • zope.products.zptpage
    • zope.products.dtmlpage
    • zope.products.sqlscript
  • zope.app.workflow (and its interfaces, browser views ) will become zope.products.workflow
  • zope.app.browser.skin.rotterdam will become zope.products.rotterdam
  • zope.app.browser.skin.zopetop will become zope.products.zopetop
  • zope.app.onlinehelp (and its interfaces, browser views) will become zope.products.onlinehelp.

Discussion

Most of the discussion has already been held in the "Moving more stuff to zope.products thread on the zope-dev list":http://mail.zope.org/pipermail/zope3-dev/2004-February/009543.html

Here's a short summary:

  • the change will make zope.app smaller and easier to maintain
  • it will flatten the hierarchy (no more searching in zope.app.interfaces, zope.app.browser for packages that really belong together, like workflow).
  • it will show developers what is supposed to be customized and what they actually can customize easily.
  • it will put certain packages, like the browser skins, in the hands of specific maintainers. This will hopefully improve the maintenance on these packages.

Questions/Problems/Drawbacks

  • Which i18n domain shall be applied to the packages in zope.products (generally)?

Implementation

This proposal is currently being implemented in the philikon-movecontent-branch.


comments:

I18n-specific content types --srichter, 2004/02/11 07:59 EST reply
I think you can merge i18nimage into zope.products.image and i18nfile to zope.products.file. Also note that image depends on file. We need a way to tell users which products depend on each other. (The same is true for apidoc and statictree, btw.)

I18n-specific content types --philikon, 2004/02/11 09:12 EST reply
As for the dependency, I think this should be documented at least in README.txt. Though we indeed should watch that products do not depend on each other too much. I am not so sure about merging i18n{} to zope.products{}, though.

This proposal is too small --jim, 2004/02/11 15:58 EST reply
A major problem that you haven't addressed is that zope.app is too deep. There is too much structure and the structure gets in the way.

To be honest, the more I think about it, the less I think that the distinction between zope.app and zope.products is important. It's just one classification among many. I think that having a really flat organization will point this out.



( 97 subscribers )