Runing some tests on a custom product against CMFPlone 5.1rc1-pending
I suspect a bbb import in CMFPlone / plone.app.ugrade triggers the condition in Products/CMFPlone/meta.zcml
<configure zcml:condition="installed Products.CMFDefault">
<exclude package="Products.CMFDefault.browser" file="configure.zcml" />
<exclude package="Products.CMFDefault.formlib" file="configure.zcml" />
<exclude package="Products.CMFDefault.upgrade" file="configure.zcml" />
</configure>
Removing this section makes the tests pass. CMFDefault is long gone. If someone needs it he should be responsible for including it himself.
Tests pass
Tests failed with
10:59 $ bin/test fhnw.webauftritt
Running fhnw.webauftritt.testing.FhnwWebauftrittLayer:FunctionalTesting tests:
Set up plone.testing.zca.LayerCleanup in 0.000 seconds.
Set up plone.testing.z2.Startup in 0.158 seconds.
Set up plone.app.testing.layers.PloneFixture Traceback (most recent call last):
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 366, in run_layer
setup_layer(options, layer, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 633, in setup_layer
layer.setUp()
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 102, in setUp
self.setUpZCML()
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 164, in setUpZCML
loadAll('meta.zcml')
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 160, in loadAll
xmlconfig.file(filename, package, context=context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 649, in file
include(context, name, package)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 705, in finish
args = toargs(context, *self.argdata)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 1397, in toargs
args[str(name)] = field.fromUnicode(s)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/fields.py", line 139, in fromUnicode
raise schema.ValidationError(v)
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/Products.CMFPlone-5.1rc1-py2.7.egg/Products/CMFPlone/meta.zcml", line 22.8-22.79
ConfigurationError: ('Invalid value for', 'package', 'ImportError: Module Products.CMFDefault has no global browser')
Running fhnw.webauftritt.testing.FhnwWebauftrittLayer:IntegrationTesting tests:
Set up plone.app.testing.layers.PloneFixture Traceback (most recent call last):
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 366, in run_layer
setup_layer(options, layer, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 633, in setup_layer
layer.setUp()
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 102, in setUp
self.setUpZCML()
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 165, in setUpZCML
loadAll('configure.zcml')
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 160, in loadAll
xmlconfig.file(filename, package, context=context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 649, in file
include(context, name, package)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 365, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 354, in start_element_ns
AttributesNSImpl(newattrs, qnames))
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 232, in startElementNS
self.context.begin(name, data, info)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 555, in begin
self.stack.append(self.stack[-1].contained(__name, __data, __info))
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 856, in contained
return RootStackItem.contained(self, name, data, info)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 724, in contained
factory = self.context.factory(self.context, name)
File "/home/vagrant/Eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 501, in factory
raise ConfigurationError("Unknown directive", ns, n)
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plonetheme.barceloneta-1.7.4-py2.7.egg/plonetheme/barceloneta/configure.zcml", line 11.2-11.41
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plone.app.theming-2.0.1-py2.7.egg/plone/app/theming/configure.zcml", line 19.4-19.44
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plone.app.registry-1.6.1-py2.7.egg/plone/app/registry/configure.zcml", line 12.4-12.34
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plone.app.registry-1.6.1-py2.7.egg/plone/app/registry/browser/configure.zcml", line 6.4-6.43
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plone.app.z3cform-3.0.2-py2.7.egg/plone/app/z3cform/configure.zcml", line 10.2-10.41
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plone.app.widgets-2.2.2-py2.7.egg/plone/app/widgets/configure.zcml", line 12.2-12.41
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/Products.CMFPlone-5.1rc1-py2.7.egg/Products/CMFPlone/configure.zcml", line 15.2-15.46
ZopeXMLConfigurationError: File "/home/vagrant/Eggs/plone.app.contenttypes-1.4.3-py2.7.egg/plone/app/contenttypes/configure.zcml", line 10.2
ConfigurationError: ('Unknown directive', u'http://namespaces.zope.org/zope', u'includeDependencies')
Running plone.app.mosaic.testing.PLONE_APP_MOSAIC_FUNCTIONAL tests:
Set up plone.app.testing.layers.PloneFixture Traceback (most recent call last):
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 366, in run_layer
setup_layer(options, layer, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 628, in setup_layer
setup_layer(options, base, setup_layers)
File "/home/vagrant/Eggs/zope.testing-3.9.7-py2.7.egg/zope/testing/testrunner/runner.py", line 633, in setup_layer
layer.setUp()
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 107, in setUp
self.setUpDefaultContent(app)
File "/home/vagrant/Eggs/plone.app.testing-5.0.7-py2.7.egg/plone/app/testing/layers.py", line 233, in setUpDefaultContent
extension_ids=self.extensionProfiles,
File "/home/vagrant/Eggs/Products.CMFPlone-5.1rc1-py2.7.egg/Products/CMFPlone/factory.py", line 145, in addPloneSite
setup_tool.setBaselineContext('profile-%s' % profile_id)
File "/home/vagrant/Eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/tool.py", line 219, in setBaselineContext
self.applyContextById(context_id, encoding)
File "/home/vagrant/Eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/tool.py", line 235, in applyContextById
context = self._getImportContext(context_id)
File "/home/vagrant/Eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/tool.py", line 1157, in _getImportContext
info = _profile_registry.getProfileInfo(context_id)
File "/home/vagrant/Eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/registry.py", line 678, in getProfileInfo
raise KeyError(profile_id)
KeyError: 'Products.CMFPlone:plone'
Running zope.testing.testrunner.layer.UnitTests tests:
Tear down plone.testing.z2.Startup in 0.003 seconds.
Tear down plone.testing.zca.LayerCleanup in 0.000 seconds.
Set up zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
Running:
Ran 1 tests with 0 failures and 0 errors in 0.000 seconds.
Tearing down left over layers:
Tear down zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
Total: 1 tests, 0 failures, 3 errors in 1.293 seconds.
✘-1 ~/www.fhnw.ch [Plone51rc1|✚ 2]
Plone 5.1rc1
@agitator didn't you have some issue with that and the dependency to plone.app.form recently?
Found it: https://github.com/plone/plone.app.z3cform/issues/72 which came from https://github.com/plone/Products.CMFPlone/commit/2465f73e376a27f8ffd0574eb47dd9edd752f9e2 which was fixed with https://github.com/plone/Products.CMFPlone/pull/2106. @tomgross not sure what a better fix is.
I fixed my project (that still uses plone.app.ldap) by adding my own meta.zcml:
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:zcml="http://namespaces.zope.org/zcml">
<!-- Needed to fix add-forms when using addons that depend on CMFDefault
Remove after Plone 5.1b5
-->
<configure zcml:condition="installed Products.CMFDefault">
<exclude package="Products.CMFDefault.browser" file="configure.zcml" />
<exclude package="Products.CMFDefault.formlib" file="configure.zcml" />
<exclude package="Products.CMFDefault.upgrade" file="configure.zcml" />
</configure>
</configure>
@pbauer Since CMFDefault was removed this should be documented to be added to addons, if needed.
Another option would be to include a bbb-meta.zcml and put the snippet there. Instead of including the whole snippet one could include one line in a customization product or via buildout.
And if you really, really must have this in core the condition should be adjusted to
<configure zcml:condition="installed Products.CMFDefault.browser">
@agitator @MrTango: Opinions?
On mobile... I think I removed those lines, check the git log,and they were added back as someone asked for it, sorry for the blurriness on my memories.
I'm +1 with @gforcada Adding these lines in addons which need it is easier than removing it for the common case.
imho only archetypes-related, wouldn't remove it since still a lot of at-addons around
Here is a solution: https://github.com/plone/Products.CMFPlone/pull/2160
Please merge before releasing RC2
If you have an addon which pulls CMFDefault you need to add the following snippet to your buildout
[instance]
...
zcml +=
Products.CMFPlone-meta:meta-bbb.zcml
...
@tomgross that should be mentioned, whenever merged, on the upgrade guide that @pbauer started 👍
I think, with merging docs, this one is resolved.
Most helpful comment
Here is a solution: https://github.com/plone/Products.CMFPlone/pull/2160
Please merge before releasing RC2
If you have an addon which pulls CMFDefault you need to add the following snippet to your buildout