Philipp von Weitershausen wrote:
On 3 Feb 2007, at 22:13 , Martin Aspeli wrote:
Philipp von Weitershausen wrote:

You don't have to. You can still ship Plone 3.0 as a traditional tarball for now, though not one for INSTANCE/Products but one for INSTANCE/lib/python. In that tarball, you have a 'Products' directory with all the old products in it. Just the __init__.py needs to say pkg_resources.declare_namespace('Products'). That was really all of my point. Plone 3.0 can be *1* tarball :)
True. However, that may make it harder using eggs for the plone.* namespace.

Why?

Because if lib/python/plone/locking was the source of plone.locking, then I presume setuptools wouldn't know about it. You then couldn't interrogate it using tools like yolk, or update it using easy_install.

Similarly, a non-egg'd lib/python/Products/statusmessage would not be known to setuptools; if we then released an egg of statusmessage, the two could conflict.

I would say that if we want to have lib/python/Products it should be for real eggs. If we're not using eggs, then Products/ is better, since it keeps the two separate.

Why would you want to keep them separate? Who cares about that separation?

I imagine the developers who eventually migrate those things to "proper" eggs. I'm not sure how hard it would be to manage this, it just feels to me like having a tree in lib/python full of code that we were "manually" managing would be a step backwards when everything in there *except* for the Product.* ones can be released as eggs (and they could too if we organised ourselves).

I may be getting too concerned, though. It's mostly a gut feeling.

That means we need to do a bit of a setuptools dance (probably not too hard, possibly harder to convince the PAS and CMF guys to bother) and make eggs there. Of course, that doesn't preclude people from putting stuff in Products/ it just means that the svn:externals link gets a another directory longer or so.

Realistically, we're going to have to support and document doing it the $INSTANCE_HOME/Products/ way for a long, long time anyway.

Support: yes. Encourage: ?

Well, we already (or at least as of 3.0) strongly encourage people to make eggs instead of products. Just not Products.* eggs. :)

Yes. My proposal is pretty much superfluous. Yay!
There's still the entry point bit, no? I mean, for products outside Products.*

Well that's the point. The entry point bit is superfluous (the namespace stuff isn't).

Right. So Zope scans Products.* in the PYTHONPATH, I guess. I was thinking about things outside Products.* wanting to be discovered by Zope. I suppose we have ZCML slugs which are similar, but they present a similar deployment problem.

Martin

_______________________________________________
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team

Reply via email to