Roger Ineichen wrote:
> I think there is a little confusion about which package depends on
> each other.
> Right now there is a zmi.core package this package should
> contain core parts without to much dependency.  After that
> we need several zmi.* packages which are replacements for
> each zope.app.* package. right?

Right. Note that I'm against making too many zmi.* packages right now, 
keep it all in a few packages now.

Concerning dependencies, let's first talk about zope.container:

zmi should depend on zope.container

zope.app.container.browser should have backwards compatibility imports 
from zmi, and zope.app.container should depend on zmi

Now let's talk about a package that *hasn't* been factored away from 
zope.app.* yet, such as zope.app.file:

in this case, zmi would depend on zope.app.file but 
zope.app.file.browser would depend on zmi. That's a circular dependency, 
which we should break as soon as possible by moving zope.app.file's 
content objects to zope.file or something like that.

> I think it should be like:
> 1. zope.app.foo moves ZMI code to zmi.foo
> 2. zope.app.foo imports the zmi code from it's zmi.foo package


> This allows us to move the zmi code from the zope.app packages
> to zmi packages. Custom projects can then depend on zmi.foo
> and skip the dependency to zope.app.foo. (at least for the zmi)
> probably some zope.app.* packages contain only zmi code
> probably some contain other code like Martijn told with
> zope.app.form. That's fine and is not a part of our refactoring.
> Projects which depend on zope.app.foo and will use the latest code
> will get pulled in the zmi.foo package without any other dependecy
> and should just work without to change the project setup since the
> zope.app.foo package defines the zmi.foo dependency in thier
> setup.py file.


> btw,
> I think we should refactor the old menu implementaiton too
> ar at least review it since this part is very, very slow.
> But that's another part and could probably done after
> finishing the zmi refactoring part.

Agreed; do it after the zmi refactoring.

Thanks Roger for the coordination. I think we all agree on where we need 
to go, which is good.



Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to