Hey Dan, Thanks very much for this analysis and summary! My comments below. Dan Korostelev wrote:
To be honest, I don't quite get the difference between zope.ManageSite and zope.ManageServices. Can someone clear this point for me? May be they should be merged somehow.
I'm afraid I don't know either. If we want to merge them we'd need to do some analysis of places where they are used. For now, move them both over.
Permissions that can stay in zope.app.security, and reasons:
- zope.ManageBindings - What's that? I can't find any usage of it.
Then it should stay where it is. :)
- zope.ManagePrincipals - That looks like it was intended for something like zope.app.authentication, but zope.ManageServices is used there instead.
A clear case of leaving it behind to die too.
- zope.ManageCode - I guess it's intended for TTW development that's not used/developed much and even discouraged now-a-days? If so, I believe that it can stay in zope.app.security.
Yes, TTW in Zope 3 is currently dead, let's not worry about supporting it in the Zope Framework (we don't even have a ZMI there). Let it stay there.
- zope.ManageApplication - Looks like it's intended for and used mostly in "zope.app.applicationcontrol" which has more to do with "zope3, the application server", than the "zope.framework".
I will note that zope.app.applicationcontrol contains code that looks reusable, even though it is indeed a bit more "application-like". Grok's grokui.admin uses it so it'd be interesting to extract this code into a library we can use. I also just discovered zope.app.applicationcontrol doesn't seem to declare its dependencies right - it appears to depend on zope.app.appsetup for instance while it doesn't actually declare it. Anyway, we can always move zope.ManageApplication into zope.app.applicationcontrol when we want to, so leave it in zope.app.security for now. Regards, Martijn