How to remove add-ons from a Zope instance

remove S&D from a Zope instance Normally you can remove a local utility by using the unregisterUtility method, but at this moment you don't have the product installed, so importing interfaces etc is not an option. Reinstalling is not what you want, so what to do now?

Hi, i just ran into the same problem and found a quick'n'dirty workaround for this:

1. add "collective.dancing" and "wildcard.fixpersistentutilities" to your buildout eggs
2. run buildout and start instance
3. go to "http://your/plone/@@fix-persistent-utilities" in your browser
4. remove everything with "ISalt" interfaces via the small dash at the end of the line
5. remove both eggs, re-run buildout and start your instance

your instance now runs properly without s&d

please note, that with "wildcard.fixpersistentutilities" you can really screw up your instance. read more on http://blog.fourdigits.nl/removing-a-persistent-local-utility-part-iiand http://pypi.python.org/pypi/wildcard.fixpersistentutilities

 

 

I have made something changed in the file:PlominoReplicationManager.py

according to the guide of the link: http://sourceforge.net/projects/plomino/forums/forum/538558/topic/4744526

 

change:

#copy col values
for col in line:
v = line[col]
if v is None:
v = u''
docInfos[col] = v.decode(file_encoding)

#add doc infos to res
res.append(docInfos)

as



#copy col values
for col in line:
v = line[col]
if v is None:
v = u''
try:
l = eval(v)
if type(l) == list:
docInfos[col] = l
logger.info("String converted to list: %s" % str(l))
except:
docInfos[col] = v.decode(file_encoding)
else:
docInfos[col] = v.decode(file_encoding)

#add doc infos to res
res.append(docInfos)

 

write a small agent that will post-process your imported docs, with something like that:

v = doc.getItem("my_list")

# remove [ ]

v=v[1:-1]

# split

l=v.split(',')

# remove quotes

new_value = [a[1:-1] for a in l]

doc.setitem('my_list', new_value)