[Zope] recovering root from rogue external method

Oliver Bleutgen myzope@gmx.net
Wed, 21 Aug 2002 11:21:21 +0200


Tim wrote:
> I had Zope set up on a FreeBSD box, but being too slow i moved it to a
> faster Windows box (faster hardware with more ram, not faster
> OS...)... I took the Data.fs over there, and everything seems fine...
> 
> Except I can't access the root folder of the management interface. The
> problem seems to be an External method i was monkeying around trying
> to get working on the other box. I was getting an import error. I
> moved the script to the windows box (zhtml.py). But now I get "Failed
> to import class TABLE from module ZODB.zhtml" ... the class is there
> though?
> 
> Any hints how i can get rid of this messed up object and stop my root
> management folder from crashing? (I don't care about recovering the
> external method -- it never worked... it was an experiment of long ago
> which i'd practically forgotten about)...
> 
> It would be ever so convenient to be able to access that root folder
> again! I was thinking i could list/remove objects from the ZODB
> programmatically? I just don't have the Zope knowledge, alas...

You can get into the management interface of a subfolder, yes?
If so, you can add a script(python) with
container.aq_parent.manage_delObjects('NameOfYourExternalMethod')
in it.
Short explanation:
- container is the where the script resides
- container.aq_parent is the acquisition parent of the container,
in this case the root folder if you're working in a subfolder.

This should delete the external method.


HTH,
oliver