On May 5, 2007, at 4:48 PM, Dennis Allison wrote:

Has anyone written a utility that copies out the content of a ZODB file
(in my case, a Zope Data.fs) and stores it in the local file system in
some rational way?

Zope does not solve the problem because the backing Relational DBMS is
unavailable and the ZODB and the RDBMS are closely tied.

Hm, so I take that to mean that you can't start Zope or load the objects in ZODB (in Zope or even from a Python prompt).

I suggest you use zope.xmlpickle, http://svn.zope.org/zope.xmlpickle/ trunk/, along with the file storage iterator or the file-storage record iterator, which only iterates over current versions, to convert the database records to XML. The XML pickler tries to produce usable, for some definition of usable, XML without knowing anything about the data. A good XML hacker should be able to convert the XML to some more directly usable format. We've had good success using xml pickles for a couple of projects in recent years. For example, xml pickles were used to export the Zope 3 collector for import to Launchpad.

I really should write some utilities that put the iterators and xml pickler together, although it shouldn't be hard.


Jim Fulton                      mailto:[EMAIL PROTECTED]                Python 
CTO                             (540) 361-1714                  
Zope Corporation        http://www.zope.com             http://www.zope.org

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to