Plone 4: Plone 4.3.4 not so nice to older archetypes based products

For those still living in Plone 4 land, just a note about something I've come upon.
As of Plone 4.3.4 some older archetypes based products break with an error like this:

AttributeError: type object 'ATFolder' has no attribute '__implements__'

I figure I'll need to fix something with my old products before I can proceed with an upgrade. If you've come across this and know the solution feel free to share. I plan to troubleshoot at some point. For now I'm pinning sites that depend on this product to Plone 4.3.3.

1 Like

It looks like your product tries to explicitly extend an old-style __implements__ declaration which is no longer present in Archetypes. You'll need to switch to new-style interfaces (from zope.interface instead of Interface, and using implements or @implementer instead of __implements__)

There is some documentation about this change here: https://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-3-x-to-4.0/updating-add-on-products-for-plone-4.0/no-more-zope-2-interfaces

1 Like

Thanks as always @davisagli. Will look at that.