Clinton Roy writes: > .... external method restrictions .... > I'm losing faith people.. Maybe, you should not. There are more ways to build extensions than external methods in "Extension" directories. Each way has its advantages and drawbacks: Type Web Manageable requires restart DTML Methods yes no ZClasses yes no External methods partly no Products partly yes Python Modules no yes The restrictions for source files in the Extension directories are documented together with a description what to do to circumvent the restrictions: These source files are not imported as standard Python modules but they are read in and executed. As a consequence, Zope may simply reread and reexecute them when they changed. A restart is not necessary. If they could be used like full Python modules, then it would be very difficult to do this in a safe manner unless the Python import and lookup mechanisms are changed. This might be possible but difficult. On the downside, instances of classes defined in these source files can not be pickled (and therefore stored in the ZODB). The pickle mechanism does not understand Zope's read and execute but requires standard Python module import. The workaround: define the classes (!) you need for ZODB objects in true Python modules. The documentation suggests to define them in a properly named subpackage of "Shared" such that maintenance will not become a nightmare. Yes, changes to true Python modules (and therefore to your classes) require a Zope restart. But, hopefully, you will not change your classes too often. You can instantiate your classes, i.e. build instances from them, in external methods, i.e. in source files located in an Extension folder. There is no need to have the same code at two places! Classes for picklable objects or infrastructure to be used in several source files in true Python modules, everything else (if you want) in external methods. Each tool has its strengthes and weaknesses. Know them and use the right tool for your task. This applies both to (sub-)tools inside Zope (e.g. external method versus product versus Python module) as well as to Zope itself (versus ASP, PHP, JSP, ...). Dieter _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )