Installing CMF 2.1

  Requirements

    - Zope v. 2.10.4 or later

  Assumptions

    - New installation

    - Zope configured using INSTANCE_HOME, /var/zope, and
      SOFTWARE_HOME, /usr/local/zope/Zope-2.10.4

  Procedure

    1. Unpack the CMF-2.X.tar.gz tarball into a working
       directory. For instance::

        $ cd /usr/local/zope
        $ tar xzf /tmp/CMF-2.X.tar.gz

       Note for Windows users:  if you are using WinZip to unpack
          the file, be *sure* to disable the "TAR file smart CR/LF
          expansion" option (thanks to Frank McGeough for tracking
          down this problem!)


    2. Link (or copy/move) the CMF packages into
       $INSTANCE_HOME/Products (or into $SOFTWARE_HOME/lib/python/Products).
       For instance::

        $ cd /var/zope/Products  # /var/zope is INSTANCE_HOME
        $ ln -s /usr/local/zope/CMF-2.X/CMFCore .
        $ ln -s /usr/local/zope/CMF-2.X/CMFDefault .
        $ ln -s /usr/local/zope/CMF-2.X/CMFTopic .
        $ ln -s /usr/local/zope/CMF-2.X/CMFActionIcons .
        $ ln -s /usr/local/zope/CMF-2.X/CMFCalendar .
        $ ln -s /usr/local/zope/CMF-2.X/CMFUid .
        $ ln -s /usr/local/zope/CMF-2.X/DCWorkflow .
        $ ln -s /usr/local/zope/CMF-2.X/GenericSetup .

       or, as a shortcut::

        $ ln -s /usr/local/zope/CMF-2.X/CMF* .
        $ ln -s /usr/local/zope/CMF-2.X/DCWorkflow .
        $ ln -s /usr/local/zope/CMF-2.X/GenericSetup .

       Since linking doesn't apply on Windows, you will need
       to cut or copy the files from the place where you unpacked
       them to the 'Products' directory of your Zope.

    3. Restart Zope; verify that the CMF products loaded
       property, by examining them in Control_Panel/Product.

    4. Create a CMF Site object. join, and begin adding content.
       Enjoy!

    5. If you want to use addon functionalities such as CMFCalendar, CMFTopic
       or CMFUid choose the extension when you set up the CMF site object,
       or apply the extension from the portal_setup tool at any time after 
       site creation.


Installing Translations for CMF

  Assumptions

    - CMF is installed as described above.

  Procedure

    1. Add a custom Zope product with the following subdirectories:
       'locales/<locale>/LC_MESSAGES/' for each locale you want to support.

    2. Translate the .pot files shipped with CMF using a catalog editor like
       poEdit or KBabel. Place the created .mo files in LC_MESSAGES.

    3. Register your translations using the i18n:registerTranslations ZCML
       directive.

    4. Restart Zope.


Upgrading from Earlier Versions

  Install the New Software.

    0. "Download":CMF-2.X.tar.gz the tarball.

    1. Copy your "working" products off to one side (in case
       you need / choose to revert).

    2. Unpack the tarball into a separate location; copy or
       link the subdirectories into the 'Products' directory of
       your INSTANCE_HOME.

    3. Restart Zope.

  Follow additional version-specific information below.


Upgrading from versions earlier than 2.1.0-beta

  In order to make CMF instances created in CMF versions prior to CMF 2.1
  work, you need to run a separate one-time upgrade script. After putting the
  new code in place as instructed above, please change into your instance
  home and execute the following as the user normally running this Zope
  instance:

    ./bin/zopectl run Products/CMFCore/Extensions/migrateToCMF21.py

  The script will print some diagnostic information to the console and 
  inform you about CMF sites it finds and upgrades. Once the script has
  finished, you can start and use your Zope instance as before. This script
  only needs to be run a single time when you start using a CMF version
  2.1.0-beta or higher.


Upgrading from versions earlier than CMF 1.3

  Add New Metadata: "portal_type"

      From the ZMI of your CMFSite, go to the 'portal_catalog' tool, and
      select the "Metadata" tab. Add a Metadata for "portal_type".

  Add New Indexes: "path", "portal_type"

      In the Indexes tab of the 'portal_catalog' tool, add a "PathIndex"
      using the Add list, and give it an Id of "path". Then add a
      "FieldIndex" and give it an Id of "portal_type".

  Reindex the New Indexes

      In the Indexes tab of the 'portal_catalog' tool, select the two
      new indexes ("path" and "portal_type") and click "Reindex".

  Remove Unwanted Workflow Bindings

      In the Workflows tabl of the 'portal_workflow' tool, clear the
      "(Default)" value from the input fields for the "Folder" and
      "Topic" types and click "Change".

