I modify utils.py, after saving a copy, in order to obtain diagnostic output. Then I delete utils.pyc, after saving a copy, in order to force a recompile (even used compilezpy.py for this a couple of times). Zope never seems to use the new version.
Restart Zope. Python will pick up the changes. Also, if you're modifying security code, make sure you set security-policy-implementation to Python in zope.conf, otherwise you're using the C one, and no matter what changes you make to the Python scripts you won't see any changes.
I suspect that I have a fundamental misunderstanding of how Zope uses code in the Products directory.
Is Zope storing all the compiled byte code in the data.fs file? Is there a way to force Zope to use new code?
No. Refresh the product or restart Zope.
Also, the previous developer removed the Control Panel putting Plone as the root of everything. How can I get information that the Control Panel usually provides?
Find a heavy object, find the developer, bring the two together at speed. Repeat until the problem is fixed. yoursite/manage will get you to the control panel. If he's managed to override /manage then you have problems... And the real problem:
TypeError: can only concatenate tuple (not "list") to tuple
Like it says, you're supplying a list, you want a tuple. It looks like you need to update PluginIndexes, I don't know where they come from. -- Phillip Hutchings http://www.sitharus.com/ sitharus@gmail.com / sitharus@sitharus.com