Version Control and Development
Option 1 - VERSION OBJECT There is an object called a version that will take existing zope code and copy it into a protected space for development work. You can test a version seamlessly and then roll your changes forward or undo them. It is a handy way to edit a ZOPE site live and not affect operation until development is complete. It is a rather hidden feature and easy to miss. Option 2 - CUT, PASTE AND RENAME You could also just copy your work folder into another folder work on it and them merge the code by simply changing the name of the folders. That would immediately route request to the new root/folder. If you have issues you can easily undo the changes in the control panel. Typically for us work is done progressively on areas of the Zope site, change a form here, change a SQL method there. It tends to make the process easier to just make a copy of the dependent objects and modify and test the code in an temp folder. Option 3 - Production Server - Development Server This model has worked well for us. As you can run Zope on any capable workstation, it makes sense to do large development work in this model an move the projects into a staging area for testing and deployment. Option 4 - Make Backup/Archive/Version of your ZOPE ODB Weekly we make a copy of the ZOPE ODB for backup and archive purposes besides our daily backups. If we ever need old code we have a version that we can put on any development server and retrieve the contents. It is a very convenient way to manage the overall development process. With every dot release of your code make a copy of the ODB. They tend to compress really well and as they are 1 file make things easy. Make sure to compress the ODB before you make a version, It tends to improve the performance of the database and make your code smaller as it eliminates all changes stored in the Database. Hope this helps although there are many different ways to work with Zope these are the most useful for us. Theodore E. Patrick Ishophere.com