Upgrading & Uninstalling

Upgrading & Uninstalling

Upgrading & Uninstalling

Enfold Server 4 supports upgrades from Enfold Server (ES) 3x. You can upgrade without uninstalling. The installer will recognize previous version of ES and perform the appropriate upgrade.

Installing new versions of Enfold Server is reasonably straightforward: just run the installer. If you are upgrading, the Enfold Server should automatically stop the services before the upgrade and restart them when it is complete. But you may still wish to stop all services manually before starting the upgrade and confirm they are all restarted once it is complete.

When the install runs it will overwrite the Python code that comes in the core of Enfold Server only. This includes all the Zope and Plone code and any Enfold add-ons. It does not overwrite:

  • custom code in your own Products directories
  • any configuration files
  • any database or log files
  • any other files or directories created by you.

Upgrade Checklist

Do not perform the upgrade until you have followed these steps!

  1. If you are currently using a generic Plone version, have you verified that Enfold Server supports an upgrade from it?
  2. Have you backed up the Data.fs file and the Products directory inside the Enfold Server directory?
  3. Have you written down the current version number of your Plone install?
  4. Have you gone into the Zope Management Interface (ZMI) of your current Plone server and verified that the portal migration tool properly correctly indicates the Plone version you are using?
  5. Have you verified that your third party Plone products are compatible with the new Plone version upon which Enfold server is based?
  6. Are you ready to stop Enfold Server/Plone during the upgrade process?

The rest of this topic will explain how to perform these steps.

Does Enfold Server support an upgrade?

  • Upgrades from ES 3x are supported. If you have an earlier ES version, you need to upgrade it first to ES 3.
  • You can import a Zope Object Database (ZODB) file from a general Plone installation to Enfold Server 4. However, Enfold Server 4.x only supports ZODBs from Plone 3. If you have a ZODB from a general Plone 2.5 installation, you need to upgrade it to Plone 3.0x and then import it into Enfold Server 4.

Have you backed up your data?

  • Backup these directories
    • C:\Program Files\Enfold Server\Server\var (this contains the Data.fs -- the main data file)
    • C:\Program Files\Enfold Server\Server\etc (this contains zeo.conf configuration file(s))
    • C:\Program Files\Enfold Server\Client\etc (this contains zope.conf configuration file(s))
    • (if you have more than one Zope client, you will need to copy C:\Program Files\Enfold Server\Client2\etc and so forth)
  • I f upgrading from a generic Plone version, copy your Data.fs into the C:\Program Files\Enfold Server\Server\var directory.

  • Stop existing Zope services. (To check whether any are running in Windows Server 2003, go to Start --> Accessories --> Administrative Tools --> Services. Turn off anything starting with "zope" or "zeo").

Have you written down your current Plone version number before upgrading?

To find your current Plone version number, log in with a manager/administrator account into Plone. Then go to Plone Site Setup (an option listed on the top right part of the page).

The information will appear in the Plone Version Overview section. The information will look like this:

Plone Version Overview

     * Plone 3.1.4
     * CMF 2.1.1
     * Zope (Zope 2.10.5-final, python 2.4.3, linux2)
     * Python 2.4.3 (#1, May 24 2008, 13:47:28) [GCC 4.1.2 20070626 (Red Hat 4.1.2-14)]
     * PIL 1.1.6

Have you gone into the ZMI to verify that the portal migration tool is aware of your current Plone version?

  1. As a precautionary step, before upgrading, you should go to the Portal Migration tool in the Zope Management Interface ( http://localhost:8080/Plone/portal_migration/manage_migrate ) and verify that the version number it shows is accurate. (Some earlier versions of Plone were buggy and did not record the version number correctly). If it is not correct, select the correct version number from the dropdown list.

    images/plonemigrationtool.png
  2. Run the install wizard, and make sure that you set the install path correctly.

  3. Follow the instructions (which may require a restart of the machine). It will sometimes give you a message that some files could not be removed.

  4. Make sure that at least one Zope client is running. You can verify this by opening the Enfold Server configuration tool and making sure that a green arrow icon appears besides one (or more) Zope clients.

  5. Login to the Zope Management Interface (ZMI). Visit the same path for the portal migration tool ( http://localhost:8080/Plone/portal_migration/manage_migrate ). Follow whatever instructions this tool page says is necessary. If you see a button that says Upgrade in the middle of the page, click it. (You do not need to click the Force Upgrade button).

    images/portalmigration.png

If you forget to go to the portal migration tool or you don't know what Plone version you previously had, the Plone site may not load (even though you can still access the ZMI).

Have you verified that your third party products work with the new version of Enfold Server?

Upgrading third party plugins can be tricky sometimes. Enfold support plans do not support upgrades of third-party products; for this reason, it is important to install products in such a way that it is easy to recognize which problems are caused by Enfold Server and which ones are caused by third party products. A lot of times, this will be obvious; for other occasions, this may not be not-so-obvious.

One good rule of thumb is to try to upgrade your third party products before you upgrade Enfold Server. (This assumes that a later product version will work on an earlier version of Plone--which may not always be true).

The good news is that it's fairly easy on the Plone.org site to check which versions of a product are compatible with a particular Plone version. In some cases, the product may work even though it is not documented on Plone.org and vice-versa. Generally though, if the product page on Plone.org shows that the product supports the Plone version included with Enfold Server, that is a promising sign.

If you already anticipate compatibility problems, you can do the upgrade while leaving out all third party products out. Then, you can add one third party product at a time and see if it works. This trial-and-error method is reliable but time-consuming (especially if you are using lots of third party products). In the majority of cases, it may not even be necessary.

Another idea is to create a test bed machine where you can see if Enfold Server works with your third party products. This can be helpful if you want extra assurance that downtime will be minimized. To do this, you'd need to install Plone or Enfold Server elsewhere, copy the Data.fs file and other files to the second machine, and see if it works. That affords a level of safety, but it also involves a lot of time and preparation. It may be easier and faster to do a quick check for compatibility on the product pages, install everything while leaving out what seems to be incompatible and debugging if the need arises.

  1. Make sure you have backed up your product directory. It might also be helpful for your records to copy the version numbers of each product you installed. (A brief list of installed products is available on the Control Panel--> Products tab in the Zope Management Interface).
  2. Check the project page to learn whether your product is compatible with this version of Plone (or whether a later version of the same product is available). Sometimes this information will not be easy to find. If newer versions are available, you should try to install them on your server before upgrading.
  3. Try installing all your products into the Products directory. (If there are products you know are likely to cause problems, you might remove them temporarily).
  4. Restart Zope/Plone and go to your Plone site (something like http://localhost:8080/Plone). Can you still see the main page? If not, check the debugging section below. Tip: If your Plone site is inaccessible, you will still be able to access the ZMI by going to http://localhost:8080/manage. The ZMI not only lets you view debug information, but lets you see product versions of everything. (Check the ZMI Control Panel--> Product Management).
  5. Verify that your third party products are still functioning. Here are some things to check.
  • Do the Plone products have their own configuration menu on Plone Site Setup? Sometimes you need to configure these things again when upgrading Plone before they will work.
  • Are the Plone products visible in the Add-on Products screen? If you try to install a product again, is the product's name missing from the list of installed products? Being missing often indicates a compatibility problem.

Debugging Products Compatibility

Debugging product compatibility is not something the system administrator will normally need to do, and documenting the process is beyond the scope of Enfold Server documentation.

The main goal here is determining whether the problem lies with Plone/Enfold or with a product.

Enfold Server provides a debug tool called Plone Debug Client which makes it easier to identify the product responsible for causing problems. (See how to use Plone Debug Client).

Often, the path name or file names or variable names can provide insight into which product is causing problems.

Plone debug client works if the Zope client works. (Even though "Plone" is in the name, in fact it can still run even if Plone is down).

Are you ready to stop Enfold Server/Plone during the upgrade process?

The Upgrade wizard will automatically stop Enfold Server during the upgrade process.

Migrating an Enfold Site to Another Machine

The steps for migrating an Enfold site to another machine are similar to the steps for upgrading described below.

  1. Install Enfold Server on the second machine.

  2. From the machine you wish to migrate from, copy these files. You will need to copy and even overwrite those files into the corresponding place on your second machine (i.e., the machine you wish to migrate Enfold Server to).

    • C:\Program Files\Enfold Server\Server\var (this contains the Data.fs -- the main data file)
    • C:\Program Files\Enfold Server\Server\etc (this contains zeo.conf configuration file(s))
    • C:\Program Files\Enfold Server\Client\etc (this contains zope.conf configuration file(s))
    • (if you have more than one Zope client, you will need to copy C:\Program Files\Enfold Server\Client2\etc and so forth)
  3. Copy the Products directory (usually at C:\Program Files\Enfold Server\Products) from your first machine to the corresponding place on your second machine.

  4. Make sure Enfold Server is running with at least one client.

  5. Go to the ZMI via management port. (http://localhost:8080) Then go to your Plone instance http://localhost:8080/Plone). If the Plone instance brings up errors, follow the steps above for using the Portal Migration tool.

Importing a ZODB from a general Plone installation

The steps for importing data from a general Plone site do not differ drastically from the steps for migrating an Enfold Site.

Preliminary Steps: In addition to backing up your data, it is best to disable your non-standard Plone products

  1. Verify that your general Plone ZODB is from a 3.x version of Plone. (If you have a Plone 2.5x, you will need to upgrade to Plone 3.x before continuing).
  2. Copy the Data.fs file into the C:\Program Files\Enfold Server\Server\var directory.
  3. Run the Enfold Server 4 installation wizard.
  4. You might need to click on the Plone migration tool to finish the migration. To do this, visit http://localhost:8080/Plone/portal_migration/manage_migrate . Follow whatever instructions this tool page says is necessary. (Sometimes no extra steps will be needed).
  5. If there are products from your previous Plone installation which you want to continue using, copy them over (to C:\Program Files\Enfold Server\Products directory). Important when copying old products, be sure not to overwrite any products which Enfold Server already has.

Generally you should use the product version that comes with the Enfold Server install. However, if you need a feature from a more recent version of a product, it might work. (It just won't be supported by Enfold). You should make sure to make a ZODB backup before experimenting.

Note: The steps going to the portal migration tool in the Zope Management Interface is not a crucial step but a precautionary one. Chances are, if you are installing from

How to reinstall

Assuming you have a clean Windows install and have removed Enfold Server (and backed your data up), here's how to reinstall:

  • Run the .exe installer program for Enfold Server again. Some values (such as the service user) are not saved, so you'll need to reenter them.
  • Stop the server and client services.
  • Copy the backed up Products directory into the Products directory, overwriting any files.
  • Copy the backed up database the Data.fs file into the Server\var.
  • Copy the configuration files into their appropriate places (Client\etc, Server\etc, ees_cluster.config).
  • restart the server and client services.

The first time you do this there will be a delay as the database performs several tasks, including rebuilding database indexes.

Things that are not recovered when reinstalling:

  • modifications to services such as: service user, failure information, logs
  • modifications to scheduled tasks (i.e., the user it runs as, how often and so on.

Uninstalling

You can uninstall Enfold Server through the Add/Remove Programs option in Windows.

Enfold Server will not remove data or configuration files. If you need to do this, you must do it manually.

After you uninstall Enfold Server using the Add/Remove Programs, if you want to remove all configuration and data files, you can delete the C:\Program Files\Enfold Server directory. (If you are on Vista 64 bit, that path will be C:\ProgramFiles(x86)\Enfold Server). (For more detail about the directory structure, see the section above in the Upgrading section.

Note: It's possible that the Administrator has configured a different location for logs and backup files away from the standard C:\Program Files\Enfold Server. You can check this before uninstalling by starting the Enfold Server configuration utility and choosing Tasks in the left panel.

Sometimes people don't necessarily want to remove Enfold Server but wish to turn off scheduled tasks or prevent Enfold Server from starting when Windows starts.

  • To turn off scheduled tasks, select Start --> Control Panel --> Scheduled Tasks. Then right click and edit/delete any tasks listed.
  • To turn off automatic startup on Windows boot, open Encontrol utility. Select the Start or Stop link on the right. (You will need to do this for the Server as well as each client). Turn off ES and push the Manual button for starting Enfold Server. When the manual button is selected, you have to turn Enfold Server on.