LovelySync is a small and quite flexible library for importing data
into the ZODB, the object database that Plone uses. In theory it can
be used as a library for anything that needs to be imported into any
database (yeah, sure I hear you say). But I’ve only ever used it
with the ZODB as the target database.
One of Lovely’s customers needed to synchronize a Filemaker database
regularly with their Plone site. The database was quite complex; it
had different languages (which we mapped into LinguaPlone content),
images, and all kinds of references between the objects. At the time
I began working for the project, we didn’t know exactly how the export
format would look like, so I had to develop something that was easily
adjustable: The input format is easily customized using schema
files. All the actual writing is delegated to small specialized
components called WriteHandlers. Reading is done by the Reader,
which supplies the Writer (which is the object delegating to
WriteHandlers) with Records. You might want to check out the
interfaces file for the technical details.
LovelySync, originally written more than a year ago, but refactored a
lot lately, was the first project where I used the Component
Architecture of Zope 3 extensively (and without ZCML
, and quite
successfully. Using LovelySync, I’ve been doing imports for hundreds
of members from a CSV file into Plone, screen scraping contents into
Plone sites for migration, and even an import of usenet (NNTP) groups
into Listen through nntp2listen, which will be in a public SVN
shortly.
So if ArcheCSV doesn’t exactly do what you want, and PLIP 112 is
too far away for you, you might want to try LovelySync.
Daniel Nouri: LovelySync in Collective
Originally from Planet Plone