collective.contentsync addresses the case where many folders must be synchronized with one master folder template.
For example, your system has many clients who need to upload files into a directory structure. Your template may look like this:
- Accreditation files
- Financial statements 2008
- Financial statements 2009
- Staff profiles
Every client must also have this structure since content is going to be uploaded into that structure. Suppose you have 1000 clients and now you add "Financial statements 2010" to your template. This new folder must be pushed to every single client. This process would be time-consuming by hand, hence the existence of collective.contentsync.
Rules of synchronization
The terms "source" and "destination" are used. The rules are dependent on an item providing information as to whether it was created by a synchronization or a user.
1. New items in the source tree are copied to the corresponding location in the destination tree. If an item already exists at this location in the destination tree it is preserved.
2. Items which appear in the destination tree but not the source tree are deleted if and only if they were created during a synchronization and do not contain any items that were created by a user.
3. Items which appear in the destination tree and which were created during a synchronization are renamed if the corresponding source item is renamed. The rename is limited to title and does not include the id.
The user is presented with a progress bar and a detailed log. This provides
constant feedback and prevents timeouts.
Append /@@collective.contentsync.form to the URL of the item you wish to synchronize, or simply run the collective.contentsync profile in portal_setup. Running the profile will add a Synchronize tab to every folderish item in your site.
collective.contentsync has not been tested with a pure Zope application but should "just work" since it has no Plone dependencies.
* If an object in the source tree is renamed it is renamed in the target on a
* More progress outputs
* Initial release
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.