Community » Applications » Ingo
- 1 General instructions
- 2 Upgrading Ingo From 3.1.x To 3.2
- 3 Upgrading Ingo From 3.0.x To 3.1.x
- 4 Upgrading Ingo From 2.x To 3.x
- 5 Upgrading Ingo From 1.x To 2.x
- 6 Upgrading Ingo From 1.2.1 To 1.2.2
- 7 Upgrading Ingo From 1.2 To 1.2.1
- 8 Upgrading Ingo From 1.1.x To 1.2
- 9 Upgrading Ingo From 1.0.x To 1.1.x
These are instructions to upgrade from earlier Ingo versions. Please backup your existing data before running any of the steps described below. You can't use the updated data with your old Ingo version anymore.
Upgrading Ingo is as easy as running:
pear upgrade -a -B horde/ingo
If you want to upgrade Ingo with all binary dependencies, you need to remove the -B flag. Please note that this might also try to install PHP extensions through PECL that might need further configuration or activation in your PHP configuration:
pear upgrade -a horde/ingo
If you want to upgrade to an alpha or beta version of Ingo, you need to tell the PEAR installer to prefer non-stable package versions. Please note that this might also install pre-release 3rd-party PEAR packages:
pear -d preferred_state=alpha upgrade -a horde/ingo
If you want to upgrade from an Ingo version prior to 2.0, please follow the instructions in INSTALL to install the most recent Ingo version using the PEAR installer.
After updating to a newer Ingo version, you always need to update configurations and database schemes. Log in as an administrator, go to Administration => Configuration and update anything that's highlighted as outdated.
Added the 'newEmailFilter' API link. Takes one argument: 'email', the e-mail address to pre-populate into a new rule.
The Sieve driver now uses the 'enotify' extension by default. If using an old version of Sieve that only supports the deprecated 'notify' setting, set 'notify' to true in the sieve script parameters (see backends.php).
The Sieve driver now uses 'imap4flags' by default to set flags. If using an old version of Sieve that only supports the deprecated 'imapflags' setting, set 'imapflags' to true in the sieve script parameters (see backends.php).
The following options have been removed (see Permissions section for replacement functionality):
Ingo permissions are now applied per backend. To upgrade existing permissions, an admin needs to run the following script:
The following permissions have been added:
max_blacklist max_forward max_whitelist
The following permissions have been removed:
allow_rules (replacement: set max_rules permission to 0)
The 'script' and 'transport' settings of the backend configuration have been changed from strings to arrays, to allow different backends for different filter rules.
The applyFilters() no longer returns a value.
The 'hordeauth' parameter and the 'password' and 'username' parameters have been removed. By default, the transport backend will use Horde authentication credentials to access. To set a different username and/or password, you should use the 'transport_auth' hook.
The following configuration options have been removed:
The port number for the timesieved daemon has been changed to the official Sieve port 4190 in the default configuration. If your timesieved daemon is still running on the former default port 2000, or any other port than 4190, you need to create a config/backends.local.php file with the following content:
<?php $backends['sieve']['params']['port'] = 2000; $backends['sivtest']['params']['port'] = 2000;
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
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
This is a non-exhaustive, quick explanation of what has changed between Ingo version 1.1.x and 1.2.x.
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:
ingo-convert-prefs-to-sql < 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 email@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>
This is a non-exhaustive, quick explanation of what has changed between Ingo version 1.0.x and 1.1.x.
In config/backends.php, the procmailrc parameter in the procmail entry has been deprecated. It has been replaced by the filename parameter.