Hi Martijn, Yusei

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?

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.

Regards
Roger Ineichen


> Betreff: Re: [Zope-dev] People in the "Zope 3" and "ZMI" teams
> 
> Yusei TAHARA wrote:
> [snip]
> >> Should the old zope.app.* package depend on the new 
> zmi.core package?
> >> (I think not)
> > 
> > No. But zmi.core might depend on zope.app.* packages.
> 
> I think this should be avoided if we can. The idea is to lose 
> the dependency of the zope.app.* packages for the ZMI, after all.
> 
> Of course there are exceptions: if you rely on a zope.app.* 
> package that hasn't really been moved to zope.* yet 
> (zope.app.form.browser for instance). But relying on 
> zope.app.*.browser should be avoided in most cases, otherwise 
> we create circular dependencies.
> 
> >> Or should we break BBB and let people know that they have 
> to install 
> >> zmi.core for zmi support? (I think so)
> > 
> > I won't break BBB as much as possible, at least I'd like to 
> keep persistent data compatibility...
> 
> But the ZMI is all views, right? What is persistent?
> 
> For BBB, you want the zope.app.*.browser packages to import 
> from zmi.core, not the other way around. Otherwise we don't 
> clean up dependencies at all.
> 
> [snip]
> >> - bump up the zope.app.* package version (full not partial)
> >>   e.g. 3.5.1 to 3.6.0
> > 
> > Hmm, I'm not sure yet...
> 
> I think this should be done; if you update a zope.app.* 
> package to import its ZMI stuff from zmi.* a new release of 
> the zope.app.* package should eventually be made, and it 
> should have a new feature release (so increase y in x.y.z).
> 
> [snip]
> > For now, I don't have clear image yet. I'm checking all zope.app.* 
> > packages and make sure all tests pass. And maybe I will 
> review current package dependencies.
> 
> For that, you might want to investigate the 
> z3c.recipe.depgraph recipe to generate dependency graphs. To 
> try it against trunks you need to add them to 'develop' in 
> your buildout.cfg
> 
> > After that, I will copy zmi parts to zmi.core one by one. I'm sorry 
> > but I'm very slow for some reasons, I cannot make an exact 
> schedule yet.
> 
> I don't think you're slow at all. Your plan sounds good and 
> I'm glad you have Roger giving you feedback.
> 
> Regards,
> 
> Martijn
> 
> _______________________________________________
> 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 )
> 

_______________________________________________
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 )

Reply via email to