怎样使得三方portlet产品在Plone3、Plone4兼容?

怎样使得三方portlet产品在Plone3、Plone4兼容?
Most portlets use the "cmf.ManagePortal" permission to edit a portlet.
Thestartup code of Zope (application server which Plone is based on) haschanged to some degree in Zope 2.13 and there might be some code thatno longer works - if it depended on specific import time and ZCMLconfiguration ordering. In Plone 4 you generally need to be moreexplicit about your ZCML dependencies. If you use the thecmf.ManagePortal permission, you can either do an <includepackage="Products.CMFCore"file="permissions.zcml" /> (which works inPlone 4.0.x as well) or do a general include of Products.CMFPlone atthe start of your configure.zcml.

Example (conifigure.zcml of fourdigits.portlet.twitter, which is in the collective):
<include package="Products.CMFCore" file="permissions.zcml" />I've found out that this works well for Plone 4 and Plone 4.1 but thisbreaks on older Plone 3 installations, due to refactoring ofPlone/CMFCore. There is a solution to this called to make this moreconditional, called: "zcml:condition". If you add a zcml:condition to'detect' Plone 4.1 it will work in Plone 3, Plone 4 and Plone 4.1.Example:<include package="Products.CMFCore" zcml:condition="have plone-41" file="permissions.zcml" />
设置