plone / plone.app.users

User registration and profile forms for the Plone CMS
https://pypi.python.org/pypi/plone.app.users
14 stars 22 forks source link

Depends on Products.CMFPlone #119

Open mauritsvanrees opened 1 year ago

mauritsvanrees commented 1 year ago

Dependencychecker says:

Missing requirements
====================
     Products.CMFPlone.RegistrationTool.EmailAddressInvalid
     Products.CMFPlone.controlpanel
     Products.CMFPlone.controlpanel.events.ConfigurationChangedEvent
     Products.CMFPlone.utils.get_portal
     Products.CMFPlone.utils.set_own_login_name

Missing test requirements
=========================
     Products.CMFPlone.tests.utils.MockMailHost
     Products.CMFPlone.utils.get_portal

Some may be replaceable. For the moment I will let dependencychecker ignore Products.CMFPlone.

cc @jensens @gforcada

gforcada commented 1 year ago

Is plone.app.users meant to be a core package or a core addon? If the later then it should be fine that depends on CMFPlone, if the former then no 👍🏾

mauritsvanrees commented 1 year ago

It is definitely a core package.

I guess it has a lot of Classic-only code as well, but I am sure restapi/Volto need at least parts of this package as well. Yes, plone.restapi has both a serializer and a service that use plone.app.users. Only some schemas are imported though, so indeed a good chance that Volto only needs at most 25 percent of this package.

jensens commented 1 year ago

I would merge plone.app.users in Products.CMFPlone. There is no reason to keep it as a separate package.

mauritsvanrees commented 1 year ago

I wanted to write that a merge would likely introduce cyclic imports. But a quick grep of Python code only shows plone.restapi importing from plone.app.users. I guess all code that needs to do something with a user is not calling plone.app.users directly, but all goes through acl_users.