Salve,

  se vi capita di aver installato un prodotto (un nome a caso: 
collective.flowplayer) che definisce un'interfaccia, e poi, 
rimuovendolo, questa interfaccia vi crea problemi, ecco come rimuoverla.

Passo uno: reinstallare il prodotto o almeno ridefinire l'interfaccia 
via zcml, in modo che l'interfaccia abbia lo stesso namespace (lo stesso 
nome, prodotto.leinterfacce.IMiaInterfaccia)

In un qualsiasi prodotto derivato da zopeskel, nella dir browser, 
mettete questo file:

=================== browser_remove.py =================

from Products.Five import BrowserView
from zope.component import getMultiAdapter
from zope.interface import alsoProvides, noLongerProvides
from zope.component.interface import interfaceToName
from cab.contentextender.interfaces import IDocumentExtended

def remove_marker(object):
     changed = False
     if IDocumentExtended.providedBy(object):
         noLongerProvides(object, IDocumentExtended)
         changed = True
     if changed:
         object.reindexObject(idxs=['object_provides'])

class RemoveCabExtView(BrowserView):

     def __call__(self):

        tools = getMultiAdapter((self.context, self.request), 
name='plone_tools')
        catalog = tools.catalog()

        brains = catalog(object_provides=interfaceToName(self.context, 
IDocumentExtended))

        for brain in brains:
            obj = brain.getObject()
            remove_marker(obj)

        return ('Removed IDocumentExtended interfaces from %i objects 
for cleanup' % len(brains))

===========================

e aggiungete a configure.zcml lì presente:

<browser:page
   for="Products.CMFPlone.interfaces.siteroot.IPloneSiteRoot"
   name="remove-interface"
   class=".browser_remove.RemoveCabExtView"
   permission="cmf.ManagePortal"
 >

=========================

Ora riavviate e lanciate http://miositoplone/@@remove-interface

Il codice è preso da qui:

http://plone.org/products/collective-flowplayer/issues/5 , aggiungendo 
quello che mancava.
_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

Rispondere a