================= Upgrading Horde ================= :Last update: $Date: 2006/06/29 16:29:02 $ :Revision: $Revision: 1.4.4.11 $ :Contact: horde@lists.horde.org These are instructions to upgrade from earlier Horde versions. Please backup your existing data before running any of the steps described below. You can't use the updated data with your old Horde version anymore. After updating to a newer Horde version, or a newer version of **any** Horde application, you **always** need to update **all** configuration files. Upgrading Horde from 3.1.1 to 3.1.2 =================================== Session Configuration --------------------- A new configuration setting has been added to disable GET-based sessions. If this setting is enabled, session IDs will only be stored in session cookies, requiring the users to enable cookies in their browser and the cookie settings in Horde's configuration to be correct. Using session cookies is much safer since no session information can be stored in any web server or proxy log files, referrer headers, browser caches, or browser bookmarks. .. Warning:: This setting in enabled by default. Additional Indexes for the Preference Table ------------------------------------------- Optionally execute the provided SQL script 2006-06-29_horde_prefs_indexes.sql to create two additional indexes in the preference table, e.g.:: mysql --user=root --password= < scripts/upgrades/2006-06-29_horde_prefs_indexes.sql This increases database performance for some database systems, e.g. PostgreSQL if you have large preference tables. Upgrading Horde from 3.1 to 3.1.1 ================================= MySQL Session Handler --------------------- The mysql session handler has been improved to correctly lock concurrent accesses to the same session. You need to set in the Horde configuration if you want to use row-level locking and transactions or table-level locking. Row-level locking and transactions are only supported by some table engines like InnoDB, and is recommended for session tables. The default table type for MySQL is MyISAM though, that only supports table-level locking. If you used the SQL scripts from Horde 3.1 or earlier to create the session table, this is probably the current engine of you session table. If you want to change the table type to InnoDB, execute the following SQL statement:: ALTER TABLE horde_sessionhandler ENGINE = InnoDB Upgrading Horde from 3.0.x to 3.1.x =================================== SQL Backends ------------ A few new tables have been added to Horde. Execute one of the provided SQL scripts to update your data to the new Horde version, e.g.:: mysql --user=root --password= < scripts/upgrades/3.0_to_3.1.mysql.sql Groups ------ The Horde_Group API uses group IDs instead of group names to avoid ambiguity. Be sure to update any custom code that uses Horde_Group. History ------- The Horde_History storage has been moved out to a separate database table to drastically improve performance. .. Warning:: Migration of the Horde_History data may take a very long time, possibly days, depending on the number of entries. Be sure to execute this script from a location where it will not be timed out by firewall or terminal timeouts. Execute the provided PHP script to migrate your histories to the new table:: php scripts/upgrades/move_history_out_of_datatree.php Upgrading Horde from 2.x to 3.0.x ================================= Configuration files ------------------- The configuration files have been changed to XML format. To generate a valid configuration file from the XML file, follow the configuration instructions in the applications' ``docs/INSTALL`` file. Preferences ----------- The ``last_login`` and ``date_format`` preferences have changed their format and/or scope. Just remove all ``last_login`` and ``date_format`` preferences from the preferences backend. SQL Backends ------------ A few new tables have been added to Horde. Execute the provided SQL script to update your data to the new Horde version:: mysql --user=root --password= < scripts/upgrades/2.2_to_3.0.mysql.sql