plone / plone.base

Plone Interface contracts, plus basic features and utilities
https://pypi.org/project/plone.base
2 stars 0 forks source link

Missing plone.schema dependency #9

Closed mauritsvanrees closed 11 months ago

mauritsvanrees commented 2 years ago

We currently miss the plone.schema dependency, needed for the Email field. If we add it, it pulls in plone.app.z3cform for IPloneFormLayer, and this package pulls in lots of plone.app packages.

@jensens Do you think we should move IPloneFormLayer to plone.base? Wait: then plone.schema would need to import it from plone.base, causing a circular dependency between the two. Bad idea. Move it to plone.z3cform then?

mauritsvanrees commented 2 years ago

See failed test run.

davisagli commented 2 years ago

I don't see any huge reason the widgets in plone.schema need to be registered for IPloneFormLayer. It means that they are only used inside Plone sites with this browser layer installed. But they are simple widgets that do not actually depend on other parts of Plone. It would probably be okay to stop using IPloneFormLayer here and consider plone.schema to be part of the same tier of packages as plone.z3cform (or even move these widgets there).

mauritsvanrees commented 1 year ago

Okay, we have a problem. The plone.schema dependency was declared and merged in PR #28. So now everything is pulled in, including Products.CMFPlone. To check this:

tox -e test
cd .tox/test
bin/pip list | grep CMFPlone

I don't suppose it is a big problem that needs to be tackled immediately. It is just a bit more visible now in the dependencies.

gforcada commented 1 year ago

Yes, creating a a dependency graph with pipforester shows quite a few pink/purple lines all around 😅

mauritsvanrees commented 11 months ago

Meanwhile plone.schema is in the install_requires. Closing.