Products : dependencies (or who's on first?)
Okay, here goes : I installed the PTK product some time ago, decided that it wasn't where I needed to be right now and moved on to something else. Today I finally decided to delete it from my Products folder. Shortly afterwards, I noticed that both my existing FlexFAQ and ZDiscussion objects were "broken" (with the little broken icons in the manager view.) and Zope was spewing errors to STDOUT complaining that it "Could not load oid" (I'm sorry, I don't have the traceback...doh!) I could add new FF/ZD objects but I couldn't access the old ones. I deleted ZDbase and ZDiscussion and restarted Zope. I couldn't import a fresh copy of ZDiscussions.zexp (see error below) but suddenly my old set up is working again. Except I can't create new ZD* objects since the Product isn't installed. ( I can create new FF objects.) In the meantime, when I restart Zope it prints errors about not being able to install the "Wizard" product or the "Demo Portal" Products (see below.) In the meantime, the "PTKDemo" and "PTKBase" Products keep showing up the Products table even though I keep trying to delete them. Can someone please help me understand what on earth is going on? Is the ZODB corrupted? Have I inadvertently set up some level of dependency across Products? I have done Google searches and seen that this has cropped up on the mailing list before, but I can't seem to figure out how to address the problem or insure that doesn't happen again. I am still pretty new to all of this and I am having a hard time understanding the relationship between alot of seemingly abritrary errors. Any help would be very much appreciated. Thanks....eep! a) Starting Zope 2000-11-01T20:01:04 ERROR(200) Zope Couldn't install Wizard Traceback (innermost last): File /usr/local/zope.old/lib/python/OFS/Application.py, line 477, in install_products (Object: ApplicationDefaultPermissions) (Info: Wizard) File /usr/local/zope.old/lib/python/App/Product.py, line 447, in initializeProduct (Object: Products.Wizard) File /usr/local/zope.old/lib/python/OFS/ObjectManager.py, line 264, in _setObject (Object: Traversable) File /usr/local/zope.old/lib/python/OFS/ObjectManager.py, line 272, in manage_afterAdd (Object: Traversable) File /usr/local/zope.old/lib/python/ZClasses/ZClass.py, line 421, in manage_afterAdd (Object: Wizard) File /usr/local/zope.old/lib/python/ZClasses/ZClass.py, line 375, in _register (Object: Wizard) Duplicate Class Ids b) Importing ZDiscussions.zexp Traceback (innermost last): File /usr/local/zope.old/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr/local/zope.old/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/local/zope.old/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File /usr/local/zope.old/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr/local/zope.old/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: manage_importObject) File /usr/local/zope.old/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: manage_importObject) File /usr/local/zope.old/lib/python/OFS/ObjectManager.py, line 509, in manage_importObject (Object: Traversable) File /usr/local/zope.old/lib/python/OFS/ObjectManager.py, line 264, in _setObject (Object: Traversable) File /usr/local/zope.old/lib/python/OFS/ObjectManager.py, line 272, in manage_afterAdd (Object: Traversable) File /usr/local/zope.old/lib/python/ZClasses/ZClass.py, line 421, in manage_afterAdd (Object: ZDTopic) File /usr/local/zope.old/lib/python/ZClasses/ZClass.py, line 375, in _register (Object: ZDTopic) Duplicate Class Ids: (see above)
Okay, here goes :
I installed the PTK product some time ago, decided that it wasn't where I needed to be right now and moved on to something else.
Today I finally decided to delete it from my Products folder. Shortly afterwards, I noticed that both my existing FlexFAQ and ZDiscussion objects were "broken" (with the little broken icons in the manager view.) and Zope was spewing errors to STDOUT complaining that it "Could not load oid" (I'm sorry, I don't have the traceback...doh!)
<snip> OK, here goes for an almost completely useless answer based on guesswork and half-memories. More of an extra call for help from the zope experts, really. AFAIK this kind of problem is caused by incorrect management of products. For example, you'll get grief if you delete a product from the control panel but it still exists in your products folder in your zope distribution. I guess the ZODB is somehow out of sync with the filesystem, and this is why you're getting 'dependency' errors. Umm, help me out someone - this is all guesswork on my part... As for solutions, some people have suggested sorting the problem out by going into the ZODB itself via an interactive python shell and poking around (there was a recent mail about this on the list). If all else fails, you could try getting a fresh Data.fs and importing your old data into it, and reinstalling the products you use. I too have learned the hard way, and now I back up my Data.fs before messing with products beyond my ken, but this is of course not helpful advice for you right now. This problem comes up again and again. If my guesswork is right <g> then this is all because the product management process is ambiguous, undocumented (...), and lets you do things you shouldn't. Is there a HOWTO on this anywhere? Should product management be easier? Should there at least be some warnings added at appropriate places in the interface? Or have I got the whole thing totally wrong?! Hope that helped just a little bit at least ;> seb
participants (2)
-
Aaron Straup Cope -
Seb Bacon