================
 Upgrading Ingo
================

:Last update:   $Date: 2011/01/24 18:33:10 $
:Revision:      $Revision: 1.1.2.13 $
:Contact:       ingo@lists.horde.org


These are instructions to upgrade from earlier Ingo versions. Please
backup your existing data before running any of the steps described below.


Upgrading Ingo from 1.2.x to 1.2.6
==================================

New Experimental SQL Share Driver Support
-----------------------------------------

A new, better scaling, experimental SQL Horde_Share driver has been added in
Horde 3.3.12. This driver offers significant performance improvements over the
existing SQL driver, but it has not received the same level of testing.  In
order to make use of this driver, you must be using Horde 3.3.12 or later.

Execute the provided SQL script to add the new tables needed for this driver,
e.g.::

   mysql --user=root --password=<MySQL-root-password> <db name> < scripts/upgrades/sharesng.sql

If you want to use the new SQL Share driver, you must also execute the
provided PHP script to migrate your existing share data to the new format::

   php scripts/upgrades/convert_sql_shares_to_sqlng.php


Upgrading Ingo From 1.2.1 To 1.2.2
==================================

The group_uid field in the SQL share driver groups table has been changed from
an INT to a VARCHAR(255). Execute the provided SQL script to update your
database if you are using the native SQL share driver.

   mysql --user=root --password=<MySQL-root-password>  <db name> < 1.2.1_to_1.2.2.sql


Upgrading Ingo From 1.2 To 1.2.1
================================

The share_owner field in the SQL share driver table has been changed from a
VARCHAR(32) to a VARCHAR(255). Execute the provided SQL script to update your
database if you are using the native SQL share driver.

   mysql --user=root --password=<MySQL-root-password>  <db name> < 1.2_to_1.2.1.sql


Upgrading Ingo From 1.1.x To 1.2
==================================


This is a non-exhaustive, quick explanation of what has changed between Ingo
version 1.1.x and 1.2.x.


SQL Backend
-----------

An SQL table has been added than can optionally be used as a storage backend
for the filter rules. Using this backend no longer limits the number and size
of rules.

Execute the provided SQL script to add the table to your database, e.g.::

   mysql --user=root --password=<MySQL-root-password> <db name> < scripts/sql/ingo.sql

You also have to execute the provided PHP script to migrate the existing rules
from the preferences backend to the new database table::

   php scripts/upgrades/convert_prefs_to_sql.php < filename

``filename`` is a file that contains a list of users, one username per line.
The username should be the same as how the preferences are stored in the
preferences backend (e.g. usernames may have to be in the form
user@example.com). You can create such a list with the following MySQL
command::

   mysql --user=root --password=<MySQL-root-password> --skip-column-names --batch --execute='SELECT DISTINCT pref_uid FROM horde_prefs' <db name>


New Beta SQL Share Driver Support
---------------------------------

A new beta-level SQL Horde_Share driver has been added in Horde 3.2. This driver
offers significant performance improvements over the existing Datatree driver,
but it has not received the same level of testing, thus the beta designation.
In order to make use of this driver, you must be using Horde 3.2-RC3 or
later. To migrate your existing share data, run
``convert_datatree_shares_to_sql.php``.  Be sure to read the entry above and create
the new SQL tables before running the migration script.


Upgrading Ingo From 1.0.x To 1.1.x
==================================

This is a non-exhaustive, quick explanation of what has changed between Ingo
version 1.0.x and 1.1.x.


Backends parameter changes - procmail driver
--------------------------------------------

In ``config/backends.php``, the ``procmailrc`` parameter in the procmail
entry has been deprecated.  It has been replaced by the ``filename``
parameter.
