Plone Multisite
Author content on a CMS Plone site, then workflow it onto staging and public sites.
Current release
No stable release available yet.
If you are interested in getting the source code of this project, you can get it from the code repository.
Project Description
There is a single Plone site where content is editable (the CMS) and one or more public sites.
Any content object in the CMS can be subscribed to one or more sites. When you workflow the object in the CMS the multisite tool can perform one of three actions for each subscribed site depending on the workflow transition. The actions are to copy the object onto the site and workflow it, delete any existing copy from the site, or simply workflow any existing copy on the site.
The key to using Multisite is therefore to set up appropriate workflows for both CMS and sites (although site workflows are likely to be one or maybe two states at most). We have a setup where the CMS fans out to several sites each with its own skin, but you could also use it for a more traditional staging setup where different workflow states correspond to private, on staging, or live.
We make published content uneditable in the CMS, and if somethings needs updating the workflow lets the user choose between retracting the content or simply making it editable again while leaving the previous version on the site.
Some content types (in our case images, files and external links) can be marked as dependent objects. We don't expect users to workflow any of these directly, instead workflowing a document which uses any of these will attempt to apply the same workflow transition to dependent content, but only in the forward direction (so images could go from private to visible to pending to published, but are never retracted automatically).
Multisite also has a preview option which will render the page as though it were published on the site.
One of Oxfam's requirements was that the structure of the CMS and the site need not be the same. For example the CMS is arranged by team, and a site might be arranged by country with different teams contributing to each area of the site. For this reason folders are handled differently than other content allowing content from many CMS folders to map into a single folder on the site.
