This tool allows for static deployment of a CMF site to multiple target systems akin to the deployment features of advanced commerical CMS systems like interwoven or vignette.
Developed and Tested on Linux (2.4), Solaris 9, with Python 2.1.3, Zope 2.5.1 and CMF1.3
Id: install_deployment_tool Module: CMFDeployment.Install Function: install
Optionally, you can install iuveno's OrderedFolder product to allow for explict ordering of filters, python scripts, and mime mappings. One warning, if your using OrderedFolder in conjunction with exUserFolder, you need to patch OrderedFolder to disable the dummy zbabel tags.
Debian users will need to install the pyxml package.
The use of this tool requires configuration of several sections, outlined below. further documentation can be found in the docs directory.
Identifies Content that should be deployed. The Portal Catalog is used as a content source, TALES Filters and Python Script Filters can be used to filter the available content set, and restrict what content objects will be deployed.
Organizes the content in a target directory structure. The default structure and organization implementation, utilizes the existing cmf structure, although it does allow for mounting from a non portal root folder.
The process of rendering/cooking the content.
During the mastering process the rendered view of content has extensions attached, and intra object references in rendered content need to be updated, as well as target url host information.
Directory View (skin) Merging
certain resources of directory views often need to be deployed alongside content.
The actual deployment of content to the target server.
Targets
Protocols
This Product is distributed with the following third party modules which are included here under their original license terms, and are distributed here for convience (all such files can be found under CMFDeployment/lib)
Kapil Thangavelu - Author
I'd like to thank alan runyaga for much dicussion and feedback on this tool. It has benefited greatly from his insights and wisdom.
I'd like to thank my employer for allowing me to opensource this tool that was developed at their cost. Without companies and clients such as them the open source world would be a much poorer place.