Fix for 404 Not Found Error for @@manage-portlets
In the midst of upgrading a Plone site from 2.5.x to 3.3.x (and eventually to 4.x), we discovered certain custom content types were returning a 404 error when accessing the @@manage-portlets page.
This one took a while to track down, so I thought I would write down our solution. It turned out to be easy. We simply added an interface to our custom content type's class as follows:
First import the necesary modules:
from zope.interface import implements from plone.portlets.interfaces import ILocalPortletAssignable
Then we added an implements line to our class:
class SiteFolderCT(BaseFolder): """An Archetype for an SiteFolder application""" implements(ILocalPortletAssignable) <the rest of the class code...>
I hope this helps out others.