Quantcast
Channel: Planet Plone - Where Developers And Integrators Write
Viewing all articles
Browse latest Browse all 3535

BubbleNet: Plone 3 : cleanup left over interfaces

$
0
0

In Plone 3 sites, even when you uninstalled add-ons properly, interfaces were left over in persistent registries.

Before 3.5.2, zope.interface was broken : it did not remove keys when unregistering adapters or unsubscribing subscribers.

This leads to nasty bugs when the code that defined those interfaces is removed from the system.

The cleanup_zope_persistent_registry package defines a function that cleans up those leftover interfaces. It must be called on a site manager, instance of PersistentComponents like the local site manager of a Plone site:

from zope.component import getSiteManager
from cleanup_zope_persistent_registry import cleanup_leftovers

site_manager = getsitemanager(my_plone_site)
cleanup_leftovers(site_manager)

Enjoy


Viewing all articles
Browse latest Browse all 3535

Trending Articles