(NOTE. Please note that this instruction may be out of date. Please contact me on support@easypublisher.com if you have any problems and I'll help you sort them out.) Installing Easy Publisher 1.8 on Zope 2.7.8 or any other Zope before 2.8 This is the source installation guide for Unix and Windows types of host. The UNIX instructions might work well for other kinds of hosts as well where you would be able to install Zope from source. Note that the Zope specific patches may or may not work on the Zope version you want to use. This release has only been tested on Zope 2.7.8. Installing Easy Publisher 1.8 1. Download and Install the binary distribution of Zope 2.7.8 (NOTE Zope 2.8 or later will not work). 2. Unpack the Easy Publisher zip-file collibertyeasypublisher_278_18XX.zip into either the INSTALL_DIR or the INSTANCE_DIR of your Zope installation. (Note. Only the content of the lib/python/Products directory is necessary) 3. Patch Zope 2.7.8 Copy the contents of: SOURCE_DIR\Patches\Zope-2-7-8\ to your INSTALL_DIR For Windows, also copy the contents of: SOURCE_DIR\Patches\Zope-2-7-8-win32\ to your INSTALL_DIR Note. This installes PIL, PyXML and other modules. It also patches the App/ProductContext.py (adds a category field for Zope Products so they can be grouped according to category). 4. Setup virtual hosts in \etc\VirtualHosts.conf domain remote_path port 80 path / To make the virtual hosts take effect you also need to add a EasyVHM which will read the VirtualHosts.conf by default. 5. Setup a blob repository. Edit the file \etc\EasyBlob.conf to setup which repositories you should be able to access from with in Zope. A blob repository is a file disk storage for large objects. Objects will be streamed from the disk when access, not using up resources in Zope. Object inside Zope refers to repository name rather than file system path. Example: display_name Default path static/reposit umask 022 type sync_zodb zodb_mapping physical slice_width 1 slice_depth 2 file_format %n%c%e copy_of_protection on repository_extensions mimetype_replace undo_policy backup_on_delete Additional steps for UNIX 6. Get the correct release of PIL for the Python version your running and install it. 7. Get the correct release of PyXML for the Python version your running and install it. 8. (Optional) Get the correct release of egenix-mx-base-2.0.5 and egenix-mx-experimental-0.8.0 for the Python version your running and install it. 9. (Optional) Get the correct release of M2Crypto for the Python version your running and install it. (Only needed if you intend to run Easy Publisher over SSL or use any other features that require M2Crypto.) Installing Replacment Support (optional) To be able to do search and replace from all typs of objects you need to apply a patch the Zope source. This procedure is optional, all Easy Publisher object will still have the search and replace abbility even if you choose not to apply this patch. 1. Edit lib/python/OFS/__init__.py and append the following line: import Products.ReplaceSupport.AdvancedPatch PLEASE ALSO READ THE NOTES BELOW! 2. Restart Zope 3. All your folders should now have an additional "Replace" tab Notes on changing OFS/__init__.py In case you are using other products that modify lib/python/OFS/__init__.py, for example TransparentFolders, you must take care of the order in which the patches are applied. Always install TransparentFolders first; this Product overwrites OFS/__init__.py. It is recommended to apply the ReplaceSupport patch right after the TransparentFolders patch. Your lib/python/OFS/__init__.py might look like: try: # Apply the TransparentFolders patch. import Products.TransparentFolders.TransparentFolderPatch except: pass # The patch may have been removed. try: # Apply the ReplaceSupport patch. import Products.ReplaceSupport.AdvancedPatch except: pass Notes on Permissions If you do not see the "Replace" tab, make sure you have the "Search & replace in objects" permission set.