Conclusion

by John Samuel Anderson last modified Jul 02, 2010 02:04 PM
What have we got and where do we go from here?

What have we got?

Now our Plone content is actually mirrored to a database, in near-real-time.  Pretty cool.  (You can actually watch it happen, if you run Plone with instance fg.)  We can query the content via anything that can access a PostgreSQL database.

Also, we can view (sort-of) our Plone content via Django's admin interface.  If you just need proof-of-concept, here it is.

What's next?

We do not have a full-featured Django web application.  Django does not have any of our workflow or permission definitions from Plone.  Nor do we even really have a proper way to display Plone content items.

Further Observations

It appears that ContentMirror is designed to work with a single Plone site. This one-site model will cause me a bit more work, because the name of the Plone site is not exported with the content, AFAICT.

I tried installing plango, the Django app for serving Plone content, since Andy did so much work on it. I found that I had to hack a ton of it to remove search-specific code that requires Postgres 8.3 (since i'm running 8.1.18). It worked OK, but not spectacularly. When I realized it uses the GPL 3 and I'm not sure I have approval to go GPL myself, I had to yank it entirely.

My next step will be to try another Django-based CMS, like django-cms. I don't expect to serve the exported atcontent data directly. Instead, I expect to write some migration code that converts from the AtContentTypes models into django-cms content type models.