Community » Applications » IMP
Upgrading IMP
Contact: | imp@lists.horde.org |
---|
Contents
- 1 General instructions
- 2 Upgrading IMP From 6.1.x To 6.2
- 3 Upgrading IMP From 6.1.x To 6.1.4
- 4 Upgrading IMP From 6.0.x To 6.1
- 5 Upgrading IMP From 5.x To 6.x
- 6 Upgrading IMP From 5.0.x To 5.0.22
- 7 Upgrading IMP From 5.0.x To 5.0.20
- 8 Upgrading IMP From 5.0.x To 5.0.15
- 9 Upgrading IMP From 5.0.x To 5.0.14
- 10 Upgrading IMP From 5.0.x To 5.0.12
- 11 Upgrading IMP From 5.0.x To 5.0.10
- 12 Upgrading IMP From 4.x To 5.x
- 12.1 HTML GUI editor
- 12.2 Server Options (backends.php; OLD servers.php)
- 12.3 Configuration Options (conf.php)
- 12.4 Preferences (prefs.php)
- 12.5 Hooks (hooks.php)
- 12.6 Custom Message Headers (OLD header.php)
- 12.7 Custom Message Trailers (OLD trailer.txt)
- 12.8 Fetchmail
- 12.9 Flags
- 12.10 Menu
- 12.11 Portal
- 13 Upgrading IMP From 4.1.x To 4.2.x
- 14 Upgrading IMP From 4.0.x To 4.1.x
1 General instructions
These are instructions to upgrade from earlier IMP versions. Please backup your existing data before running any of the steps described below. You can't use the updated data with your old IMP version anymore.
Upgrading IMP is as easy as running:
pear upgrade -a -B horde/imp
If you want to upgrade IMP 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/imp
If you want to upgrade to an alpha or beta version of IMP, 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/imp
If you want to upgrade from an IMP version prior to 5.0, please follow the instructions in INSTALL to install the most recent IMP version using the PEAR installer.
After updating to a newer IMP 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 IMP From 6.1.x To 6.2
2.1 Server Options (backends.php)
The 'format' quota option has been removed.
The 'cache_lifetime' option is now honored for the 'cache' and 'hashtable' caching backends.
The 'interval' parameter has been added to the quota configuration.
The 'lmtp' parameter has been added to the smtp configuration.
2.2 Configuration Options (conf.php)
The following options have been added:
$conf['compose']['htmlsig_img_size'] $conf['compose']['link_attach_size_hard'] $conf['contactsimage']['backends'] $conf['maillog']['driver']
The following options have been removed:
$conf['compose']['ac_threshold'] $conf['compose']['convert_to_related'] $conf['maillog']['use_maillog']
The default value for the following options have been changed:
$conf['pgp']['keylength']
2.4 MIME Viewer Options (mime_drivers.php)
The 'pgp_inline' config parameter has been added to the plaintext driver. The 'thumbnails_dataurl' config parameter has been added to the images driver.
2.5 Permissions
The 'max_bodysize' permission has been added.
2.6 Preferences (prefs.php)
The following preferences have been added:
signature_show_compose
The following preferences have been removed:
default_msg_charset mail_domain mimp_download_confirm mimp_inline_all mimp_preview_msg pgp_scan_body
The default value for the following preferences have been changed:
ckeditor_buttons
2.7 API Changes
These API calls have been changed:
- mailboxList Added the 'subscribed' return value.
3 Upgrading IMP From 6.1.x To 6.1.4
3.1 Hooks (hooks.php)
The 'trailer' hook now has two additional parameters in addition to the previously existing $html parameter: $identity and $to. Further details on the content of these parameters can be found in hooks.php.dist.
4 Upgrading IMP From 6.0.x To 6.1
4.1 Server Options (backends.php)
Sorting on non-IMAP servers, or IMAP servers that do not support the SORT extension, has been disabled by default in IMP 6.1. To restore the old behavior (NOT RECOMMENDED), see the 'sort_force' option in config/backends.local.php.
The 'debug' option has been added to the SMTP configuration.
IMAP/POP caching can now be done using database backends (see documentation for the 'cache' parameter).
The following quota drivers have been removed:
Command Maildir Mdaemon Mercury32 Sql
4.2 Configuration Options (conf.php)
The $conf['user']['allow_folders'] option has been removed. This can now be set per-backend using the Horde permissions system.
The $conf['server']['fixed_folders'] option has been removed. Preventing actions on a specific mailbox can be controlled via native IMAP ACLs or, alternatively, by the 'mbox_acl' hook.
The $conf['user']['autocreate_special'] option has been removed. This can now be set on a per-backend basis in config/backends.local.php ('autocreate_special' option).
The $conf['msgsettings']['filtering'] and $conf['msgsettings']['replacement'] options have been removed. This feature has been moved to the 'msg_filter' hook.
The following spam-reporting options have been removed and can now be configured per-backend in config/backends.local.php:
$conf['notspam']['email'] $conf['notspam']['email_format'] $conf['notspam']['program'] $conf['notspam']['reporting'] $conf['notspam']['spamfolder'] $conf['spam']['email'] $conf['spam']['email_format'] $conf['spam']['program'] $conf['spam']['reporting'] $conf['spam']['spamfolder']
The following options have been added:
$conf['pgp']['keylength']
The following options have been removed:
$conf['compose']['link_all_attachments']
4.3 Hooks (hooks.php)
The 'attach_body_check' hook has been added. This hook handles the attachment word checking code that previously was provided as an example in the 'pre_sent' hook.
The 'compose_attach' hook has been removed and replaced by the 'compose_attachment' hook. Both hooks are designed for the same purpose; however, the arguments have been completely changed so it is safest to entirely deprecate usage of the previous hook.
The 'mbox_readonly' hook has been removed. Mailbox permissions can instead be controlled via native IMAP ACLs or, alternatively, by the 'mbox_acl' hook.
The 'mbox_special' hook has been removed. Additional special mailboxes can now be defined per-backend in config/backends.local.php.
The 'mailboxarray' and 'msglist_flags' hooks have been altered to remove the second argument ($mode). If the current view mode is needed, it can be obtained via a call to $GLOBALS['registry']->getView().
The 'spam_email' hook has been removed. This configuration can now be defined per-backend in config/backends.local.php.
The $html argument to the 'trailer' hook has been added.
The following hooks have been added:
mbox_acl msg_filter
The following hooks have been removed:
dimp_messageview dimp_previewview mimp_advanced signature
4.4 MIME Viewer Options (mime_drivers.php)
Thumbnails can now be disabled for images and PDF attachments.
Thumbnails are now automatically generated for video attachments if the ffmpeg binary is present on your system. This is enabled by default.
4.5 Permissions
IMP permissions are now applied per backend. To upgrade existing permissions, an admin needs to run the following script:
bin/imp-admin-upgrade --task=backend_perms
4.6 Preferences (prefs.php)
The default values for these preferences have been changed:
request_mdn
The following preferences are no longer used and may be safely removed from your preference backend (only after all users have logged in - these preferences MAY be used to automatically upgrade to new preferences when a user logs into IMP 6 for the first time):
compose_bcc compose_cc link_attach
5 Upgrading IMP From 5.x To 6.x
The basic view now requires javascript support on the browser. If not available, the user will automatically be redirected to the minimal view.
5.1 Server Options (backends.php)
The 'namespace' option now requires the namespaces to be in the UTF-8 charset, not UTF7-IMAP.
The 'smtphost' and 'smtpport' options have been removed. They have been replaced by the 'smtp' option, which allows ALL available SMTP configuration options to be overriden.
The 'admin' option has been changed: optional configuration parameters should live within the base 'admin' array rather than a 'params' array within the base.
5.2 Configuration Options (conf.php)
The $conf['fixed_folders'] option now requires the mailboxes to be in the UTF-8 charset, not UTF7-IMAP.
The $conf['compose']['link_attach_size_limit'] option was added.
The $conf['print']['add_printedby'] option was removed and replaced by the 'add_printedby' preference.
The $conf['user']['select_sentmail_folder'] option was removed. To prevent changing the sentmail mailbox, the 'sent_mail_folder' preference should be locked instead.
The following configuration options were removed:
$conf['dimp']['viewport']['buffer_pages'] $conf['dimp']['viewport']['viewport_wait']
5.3 MIME Viewer Options (mime_drivers.php)
The 'safe_addrs' option has been removed from the Images driver config. To set the default list of e-mail addresses that should be considered "safe", the 'image_replacement_addrs' preference can now be used.
5.4 Hooks (hooks.php)
The 'mbox_sort' and 'mbox_special' hooks have been added.
The 'dimp_addressformatting' hook has been removed.
The $action parameter for reporting not spam message to the 'spam_email' and 'post_spam' hooks has been changed from 'ham' to 'innocent'.
5.5 Preferences (prefs.php)
The default values for these preferences have been changed:
drafts_folder sent_mail_folder spam_folder trash_folder
The following preferences are no longer used and may be safely removed from your preference backend (only after all users have logged in - these preferences MAY be used to automatically upgrade to new preferences when a user logs into IMP 6 for the first time):
dimp_qsearch_field dimp_show_preview dimp_splitbar dimp_splitbar_vert dimp_toggle_headers dynamic_view image_addrbook move_ham_after_report sig_first stationery
The 'cursor_compose' preference removed the 'sig' option. Existing preferences will automatically be converted to 'bottom'.
The 'save_attachments' preference removed the 'prompt_yes' and 'prompt_no' options. Existing preferences will automatically be converted.
The 'add_printedby', 'image_replacement_addrs', 'reply_charset', and 'reply_strip_sig' preferences were added.
The 'forward_default' preference now contains the 'editasnew' option.
5.6 API Changes
copyMessages
The $mailbox and $target parameters are now required to be UTF-8 strings.
createFolder
This call has been removed (replaced with 'createMailbox').
deleteMessages
The $mailbox parameter is now required to be a UTF-8 string.
flagMessages
The $mailbox parameter is now required to be a UTF-8 string.
folderlist
This call has been removed (replaced with 'mailboxList').
moveMessages
The $mailbox and $target parameters are now required to be UTF-8 strings.
searchMailbox
The $mailbox parameter is now required to be a UTF-8 string.
5.7 Compose: Linked Attachments
Linking attachments is no longer a user-configurable action. If enabled, ALL attachments are now linked unless the size of the attachment is less than $conf['compose']['link_attach_threshold'].
6 Upgrading IMP From 5.0.x To 5.0.22
6.1 Configuration (conf.php)
The $conf['spam']['email_format'] and $conf['notspam']['email_format'] configuration options have been added.
7 Upgrading IMP From 5.0.x To 5.0.20
7.1 Preferences (prefs.php)
The 'delhide_trash' preference has been added.
8 Upgrading IMP From 5.0.x To 5.0.15
8.1 Preferences (prefs.php)
The 'delete_mark_seen' preference has been added.
9 Upgrading IMP From 5.0.x To 5.0.14
9.1 Preferences (prefs.php)
The 'reply_lang' preference has been added.
10 Upgrading IMP From 5.0.x To 5.0.12
10.1 MIME Viewer Options (mime_drivers.php)
The 'allthumbs' option has been removed from the HTML driver. Image thumbnail previews are now always shown if an image conversion utility is present on the system.
11 Upgrading IMP From 5.0.x To 5.0.10
11.1 Configuration Options (conf.php)
The 'allow_resume_all' option has been removed. Only messages specifically marked as drafts can be resumed; however, all messages are given the option to "Edit As New".
12 Upgrading IMP From 4.x To 5.x
This is a non-exhaustive, quick explanation of what has changed between an IMP 4.x installation to IMP 5.x.
12.1 HTML GUI editor
IMP only supports the CKeditor javascript HTML rich text editor. Xinha is no longer supported.
Button configuration is now stored in the prefs value 'ckeditor_buttons'.
12.2 Server Options (backends.php; OLD servers.php)
The format of servers.php has changed and has been renamed to backends.php.
The 'realm' option has been removed. Altering usernames at runtime should instead by accomplished by using Horde's 'authusername' and/or IMP's 'preauthenticate' hooks.
12.3 Configuration Options (conf.php)
Configuration relating to displaying the terms of agreement, GnuPG, OpenSSL, spellchecking, and login redirection have been moved to Horde.
The 'show_preview' option has been removed; enabling previews is now handled by the 'show_preview' preference.
The 'allow_resume_all_in_drafts' option has been removed; all messages that appear in the configured Drafts mailbox are now always allowed to be resumed.
The 'css_files' configuration option for the dynamic (dimp) display has been removed. Equivalent behavior can now be found in the Horde-wide 'cssfiles' hook.
The 'max_from_chars' and 'max_subj_chars' configuration options for the minimal (mimp) display have been removed.
The following configuration options have been removed:
allow_receipts append_trailer cache_folders limit_factor prepend_header show_account_colors size_limit sort_limit
12.4 Preferences (prefs.php)
The 'sending_charset' and 'time_format' preferences have been moved to Horde.
The following preferences are no longer used and may be safely removed from your preference backend:
attachment_display auto_delete_drafts delete_attachments_monthly delete_sentmail_monthly dimp_login_view disposition_request_read disposition_send_mdn fckeditor_buttons fetchmail_link fetchmail_menu filter_on_sidebar forward_bodytext image_addrbook image_replacement nav_audio nav_expanded_sidebar nav_popup purge_sentmail purge_spam purge_trash use_vinbox use_vtrash vinbox_id vtrash_id
12.5 Hooks (hooks.php)
The format of hooks.php has changed. See horde/docs/UPGRADING for more information.
The 'vinfo' hook has been removed. Use Horde's 'authusername' and/or IMP's 'preauthenticate' hooks instead.
The 'msglist_format' hook has been removed. X-Priority header handling is now handled in the core IMP code. Attachment icon display is now handled by the 'atc_flag' preference. The 'msglist_flags' hook is now used to dynamically set flags on messages.
12.6 Custom Message Headers (OLD header.php)
The header.php configuration file has been removed. Setting custom headers is now done in the 'pre_sent' hook.
12.7 Custom Message Trailers (OLD trailer.txt)
The trailer.txt file has been removed. Setting message trailers is now done in the 'trailer' hook.
12.8 Fetchmail
All code relating to fetchmail has been removed.
12.9 Flags
The list of available IMAP Flags/Keywords is now configurable via the 'msgflags' preference.
The Answered, Deleted, and Draft IMAP flags are no longer user settable by default - these flags have special meanings and are automatically handled by the various message action functions instead.
12.11 Portal
Portal rendering has been moved to Horde - config/portal.php is no longer needed or used.
13 Upgrading IMP From 4.1.x To 4.2.x
This is a non-exhaustive, quick explanation of what has changed between an IMP 4.1.x installation to IMP 4.2.x.
13.1 SQL Backend
An SQL table has been added that can be used to track sent messages. This is necessary to provide users with the "favourite recipients" address book, and for message rate throttling.
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/imp.sql
13.2 Unified IMAP Quota Driver
Separate quota drivers for Cyrus and Courier servers are no longer necessary. These drivers have been replaced by a generic IMAP driver that should also be suitable for other IMAP servers that support the QUOTA extension. Update config/servers.php and change the 'quota' => 'driver' setting to 'imap'.
13.3 Application Hooks
All hooks that are specific to IMP have been moved from the horde/config/hooks.php file. Move your existing IMP Hooks from there to imp/config/hooks.php.
13.4 User-Defined Mailbox Icons
The usage of the hook _imp_hook_mbox_icons() has changed. If you use this hook, make sure you change your implementation so it returns the correct value.
13.5 Changed Preferences
The default values for the mailbox preferences 'sent_mail_folder', 'drafts_folder', and 'trash_folder' have been changed and localized. Use the old values to prohibit the creation of duplicate mailboxes for users that didn't explicitly set the mailboxes in their preferences.
The following preferences are no longer used and may be safely removed from your config/prefs.php file and your preferences backend:
'auto_expand' 'num_words'
The 'mail_hdr' preferences has been moved from the identities to a regular preference. Existing user preferences are no longer used and have to be re-created by the users.
13.6 New Message List Format Hook
The new hook _imp_hook_msglist_format() has been added which allows the formatting of a message entry in the mailbox message list to be altered at the time the list is created. This hook has made the following configuration options obsolete:
$conf['mailbox']['show_attachments'] $conf['mailbox']['show_xpriority']
If you wish to continue using the functionality previously provided by these options, you should activate the msglist_format hook in config/conf.php. The sample hook contained in config/hooks.php contains the code necessary to replicate the previous behavior.
13.7 Spell Checking
The pspell driver is no longer supported since it does not work with HTML messages. If using pspell, you must upgrade to aspell version 0.60+.
13.8 Javascript HTML Editor
Support has been added for FCKeditor as an option for the javascript HTML editor available on the compose page. You must have Horde 3.2 or later installed to use this editor.
14 Upgrading IMP From 4.0.x To 4.1.x
This is a non-exhaustive, quick explanation of what has changed between an IMP 4.0.x installation to IMP 4.1.x.
14.1 Automatic Namespace Detection
The namespace, hierarchies, folders, delimiter, and dotfiles parameters were removed from config/servers.php. Namespaces are now automatically configured pursuant to RFC 2342.
If using the UW IMAP daemon, you may notice a bunch of additional namespaces that were not displayed before as well as the ability of the user to view all files that live in their home directory via the folders screen. Information on how to correct your IMAP server configuration can be found at
http://wiki.horde.org/ImpUWIMAPNamespaces
14.2 User-Defined Headers
The config/headers.txt file has been removed and replaced by config/headers.php. Any user-defined headers should be migrated to this file. The new file has the advantage of allowing any valid PHP expression to be executed at run-time when generating the headers. See the top of the headers.php file for the new format required.
14.3 Removed Preferences
The following preferences are no longer used and may be safely removed from your config/prefs.php file and your preferences backend:
'disposition_request_delivery' 'wrap_width'
14.4 Virtual Folders
The format for saved Virtual Folders has changed. To convert to the new format you must run the script located at scripts/upgrades/convert_vfolders.php.