Community  »  Applications  »  Kronolith

Upgrading Kronolith

Contact: kronolith@lists.horde.org

1   General instructions

These are instructions to upgrade from earlier Kronolith versions. Please backup your existing data before running any of the steps described below. You can't use the updated data with your old Kronolith version anymore.

Upgrading Kronolith is as easy as running:

pear upgrade -a -B horde/kronolith

If you want to upgrade Kronolith 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/kronolith

If you want to upgrade to an alpha or beta version of Kronolith, 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/kronolith

If you want to upgrade from a Kronolith version prior to 3.0, please follow the instructions in INSTALL to install the most recent Kronolith version using the PEAR installer.

After updating to a newer Kronolith 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.

2   Upgrading Kronolith from 2.3.x to 3.x

2.1   Preferences

The last_kronolith_maintenance preference has been removed.

2.2   UTC timestamps

Kronolith 3.0 using an SQL backend stores all event dates in UTC by default. This allows to share events across different timezones. If you are upgrading from earlier Kronolith versions, you can either turn this feature off and keep working with your existing event data, or convert the existing data to the UTC timezone.

If you want to convert the data, make sure that you have run all other upgrade scripts first, so that your database tables are up to date. Then, to convert the event times, execute the provided PHP script:

kronolith-convert-to-utc

2.3   Daily agendas

There is a new script in kronolith-agenda to send out daily agendas to all users. It should be run once a day. This replaces the scripts/reminders.php script from older versions, but you have to take care yourself now that the script isn't run more than once per day.

3   Upgrading Kronolith from 2.3 to 2.3.x

Kronolith requires at least version 0.21.0 of Date_Holidays now, which has much better support for translations.

4   Upgrading Kronolith from 2.2 to 2.3.x

Some fields in the SQL share driver tables have been changed. 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> < scripts/upgrades/2.2_to_2.3.sql

5   Upgrading Kronolith from 2.1.x to 2.2.x

5.1   SQL Backends

Two new fields have been added to the default SQL table layout.

Execute the provided SQL script to update your data to the new Kronolith version, e.g.:

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

5.2   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. The new tables needed for this driver already should have been created by the step above.

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:

kronolith-convert-datatree-shares-to-sql

5.3   Preferences

The preference that stores the address books that are searched for attendees with free/busy urls has changed both the name and the format. The preference used to be called "search_abook" and contained a serialized PHP array. The new preference is called "search_sources", contains a tab-separated list, and goes along with the "search_fields" preference.