I finally updated my Q&A at: www.zope.org/Information/QA It is authored completely in Structured Text with some DTML scripting to assemble the pieces. For those that care, I've attached an External Method which will upload the contents of a directory into a Folder. It fails if the documents already exist (I couldn't figure out how to test for the existance of an object in a folder, has_key failed :^( ) --Paul Paul Everitt Digital Creations paul@digicool.com 540.371.6909 -------------------------------------- loadfiles.py -------------------------------------- import os def importfiles(self): """Load files from disk into a Folder If you use an editor to manage a bunch of files on disk and you want to keep them current in a Zope Folder, loading them one by one is a pain. It would be nice to have a facility to easily load files on the same machine as the Zope site into Zope. Since External Methods have access to the filesystem, they are a natural fit. Just make sure you pass in 'self' as an argument, allowing the function to invoke Folder methods to add documents. """ directory = 'c:/temp/OSS/QandA' response = '<P>Starting External Method...</P>' for filename in os.listdir(directory): # Skip things ending in '~' from Emacs if filename[-1] == '~': continue contents = open(os.path.join(directory,filename)).read() try: # See if the document exists, if so, grab it and update it. document = self[filename] document.manage_edit(contents,filename) response = response + '\n<P>Added %s.</P>' % filename except KeyError: # Document doesn't exist so add it self.manage_addDocument(filename,'',contents) response = response + '\n<P>Updated %s.</P>' % filename return response if __name__ == '__main__': importfiles()