[Zope-dev] Proposal: cleaning up the content-type story

Thomas Lotze tl at gocept.com
Tue Oct 6 02:20:36 EDT 2009


Thomas Lotze wrote:

> At present, zope.contenttype doesn't have any dependencies within the ZTK,
> and zope.mimetype depends on zope.configuration, zope.component and
> zope.interface. zope.publisher.contenttype doesn't import any zope code.
> 
> - Switching packages that depend on zope.mimetype would therefore add no
>   additional dependencies to them.
> 
> - There are three packages within the ZTK and the set of packages under
>   review which depend on zope.contenttype: zope.browserresource,
>   zope.app.file and zope.app.onlinehelp. All of them already depend on
>   zope.mimetype's dependencies, so there's nothing to be lost for them
>   either.

A closer look at the actual zope.mimetypes code reveals that it really
depends on a great lot of packages which just hadn't been listed among the
dependencies. These include zope.app.form so that zope.mimetype ends up
with 12 direct dependencies (excluding testing dependencies) and 48
dependencies counting transitive ones, including the ZODB. We should try
to resolve some of them, in particular the one on zope.app.form, but we'll
likely not get significantly smaller numbers.

Therefore I change my original proposal: Let's no longer try to merge all
content-type-related functionality into one package but let's rather stick
with two packages:

- zope.contenttype: parsing of MIME-type identifiers, guessing the MIME
  type of file contents, preferrably without dependencies within the ZTK

- zope.mimetype: Zope interfaces for content types plus all the fancy form
  and icon stuff, preferrably sane dependencies

I'm still going to move the zope.publisher.contenttype functionality to
zope.contenttype which will ease some packages' dependencies, and I'll try
to move some appropriate bits of code from zope.mimetype to
zope.contenttype.

-- 
Thomas





More information about the Zope-Dev mailing list