/
UPGRADING
760 lines (476 loc) · 19.8 KB
/
UPGRADING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
===============
Upgrading IMP
===============
:Contact: imp@lists.horde.org
.. contents:: Contents
.. section-numbering::
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 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.
Upgrading IMP From 6.1.x To 6.2
===============================
Server Options (backends.php)
-----------------------------
The 'format' quota option has been removed.
Configuration Options (conf.php)
--------------------------------
The following options have been added::
$conf['compose']['link_attach_size_hard']
$conf['contactsimage']['backends']
The following options have been removed::
$conf['compose']['ac_threshold']
Hooks (hooks.php)
-----------------
The following hooks have been added::
compose_addr
MIME Viewer Options (mime_drivers.php)
--------------------------------------
The 'pgp_inline' config parameter has been added to the plaintext driver.
Preferences (prefs.php)
-----------------------
The following preferences have been added::
signature_show_compose
The following preferences have been removed::
pgp_scan_body
API Changes
-----------
These API calls have been changed::
- mailboxList
Added the 'subscribed' return value.
Upgrading IMP From 6.1.x To 6.1.4
=================================
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.
Upgrading IMP From 6.0.x To 6.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
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']
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
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.
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
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
API Changes
-----------
These API calls have been added::
- getMaillog
- getMaillogChanges
- logMaillog
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.
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.
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']
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.
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'.
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.
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.
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'].
Upgrading IMP From 5.0.x To 5.0.22
==================================
Configuration (conf.php)
------------------------
The $conf['spam']['email_format'] and $conf['notspam']['email_format']
configuration options have been added.
Upgrading IMP From 5.0.x To 5.0.20
==================================
Preferences (prefs.php)
-----------------------
The 'delhide_trash' preference has been added.
Upgrading IMP From 5.0.x To 5.0.15
==================================
Preferences (prefs.php)
-----------------------
The 'delete_mark_seen' preference has been added.
Upgrading IMP From 5.0.x To 5.0.14
==================================
Preferences (prefs.php)
-----------------------
The 'reply_lang' preference has been added.
Upgrading IMP From 5.0.x To 5.0.12
==================================
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.
Upgrading IMP From 5.0.x To 5.0.10
==================================
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".
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.
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'.
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.
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
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
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.
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.
Custom Message Trailers (OLD trailer.txt)
-----------------------------------------
The trailer.txt file has been removed. Setting message trailers is now done
in the 'trailer' hook.
Fetchmail
---------
All code relating to fetchmail has been removed.
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.
Menu
----
The dynamic view (DIMP) no longer supports the 'action' parameter located
in config/menu.php.
Portal
------
Portal rendering has been moved to Horde - config/portal.php is no longer
needed or used.
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.
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
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'.
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``.
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.
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.
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.
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+.
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.
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.
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
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.
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'
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``.
.. _INSTALL: INSTALL