Op 24-09-12 17:30, Yuri schreef:
Il 24/09/2012 17:04, Maurits van Rees ha scritto:
Op 24-09-12 16:44, Alex Clark schreef:
On 2012-09-24 14:28:45 +0000, Maurits van Rees said:

Hi,

plone.app.ldap is on github already:
https://github.com/plone/plone.app.ldap

The master currently does not support Plone 3, though that is easy
tofix by doing '<include package="Products.CMFCore" />' instead
of'<include package="Products.CMFCore" file="permissions.zcml" />.

But there are several zope.app imports.  These will break in Plone
4.3unless we add those dependencies explicitly in setup.py or add
backwardscompatible imports, with this familiar pattern:

try:
     from zope.component.hooks import getSite
     getSite  # pyflakes
except ImportError:
     # BBB for Plone 3, if we still need to support that.
     from zope.app.component.hooks import getSite

If it were just one import then this would be fine, but there are
morethan ten.

So I say we officially drop support for Plone 3 on master.  Is
anyoneagainst that?

I am guessing that due to the dependency cleanup in the upcoming
Plone4.3 this will be a natural point at which add-on developers will
nolonger support Plone 3 because of this extra hassle.

BTW, master currently has a fix by sneridagh (Víctor Fernández de
Alba)that would be good to have in a release.  Hint: PyPI rights for
usermaurits at http://pypi.python.org/pypi/plone.app.ldap would be
gladlyaccepted. :-)


+1 I had already assumed that to be the case… IIRC the docs say
something like plone.app.ldap on Plone 3 use 1.2.x only but there is no
1.3 release :-)

Yes, I see that in the readme.

I actually intend to drop support for Plone 4.0 now, as several of the
preferred new import locations were not available in 4.0 yet.  I have
updated the list of import locations in the upgrade docs for Plone 4.3:
https://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-4.2-to-4.3/updating-package-dependencies

I have pushed my changes to master and have created a 1.2.x branch for backwards compatibility.

If it is a matter of imports, people can easy fix them if needed.

After the 4.3 changes, is there any chance to don't see any other import
changes for a long time? :)

I think 4.3 will be the biggest one, as it gets rid of zope.app (except zope.app.locales), but I don't think there are guarantees. Packages should list the dependencies that they themselves have, so they do not rely on the dependencies listed in Products.CMFPlone (or Plone).

Note that there is this helper tool:
http://pypi.python.org/pypi/z3c.dependencychecker/
It checks which imports are done and compares them to what's in setup.py and warn when discovering missing or unneeded dependencies.

This still reports a lot of not-specified requirements, though the list is a bit too long because not all requirements are single packages:

plone.app.ldap (git:master) $ dependencychecker .
Missing requirements
====================
     Acquisition.Implicit
     BTrees.OOBTree.OOBTree
     OFS.SimpleItem.SimpleItem
     Products.CMFDefault.skin
     Products.Five.BrowserView
     Products.Five.browser.pagetemplatefile.ViewPageTemplateFile
     Products.Five.formlib.formbase.AddFormBase
     five.formlib.formbase.AddFormBase
     five.formlib.formbase.EditForm
     plone.app.form.validators.null_validator
     plone.memoize.instance.memoize
     python-ldap
     zope.browser.interfaces.IAdding
     zope.component.adapter
     zope.component.adapts
     zope.component.getMultiAdapter
     zope.component.getUtility
     zope.component.hooks.getSite
     zope.container.constraints.contains
     zope.container.contained.ObjectRemovedEvent
     zope.container.interfaces.IContained
     zope.container.interfaces.INameChooser
     zope.container.interfaces.IObjectRemovedEvent
     zope.container.ordered.OrderedContainer
     zope.event.notify
     zope.formlib.form.FormFields
     zope.formlib.form.action
     zope.formlib.form.applyChanges
     zope.formlib.interfaces.WidgetInputError
     zope.i18nmessageid.MessageFactory
     zope.interface.Interface
     zope.interface.directlyProvides
     zope.interface.implements
     zope.lifecycleevent.ObjectCreatedEvent
     zope.lifecycleevent.ObjectModifiedEvent
     zope.lifecycleevent.interfaces.IObjectModifiedEvent
     zope.pagetemplate.pagetemplatefile.PageTemplateFile
     zope.publisher.interfaces.browser.IBrowserRequest
     zope.schema.Bool
     zope.schema.interfaces.IVocabularyFactory
     zope.schema.interfaces.ValidationError
     zope.schema.vocabulary.SimpleVocabulary
     zope.traversing.interfaces.ITraversable


--
Maurits van Rees: http://maurits.vanrees.org/
Zest Software: http://zestsoftware.nl

_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers

Reply via email to