Upgrading from Kolab 3.0¶
This chapter contains the upgrade notes for moving forward from Kolab 3.0 to Kolab 3.1.
ChangeLog¶
Kolab 3.1 compared to Kolab 3.0 ships the following additional components:
iRony
A DAV access provider for groupware, including WebDAV with help of the chwala API, and CardDAV and CalDAV.
chwala
A properly designed and integrated file storage management layer, primarily for integration into other web applications through it’s self-reliant UI component builder functions (JavaScript) obtaining information from its own API.
kolab_files
for roundcubemail-plugins-kolabOne implementation of the integration of chwala into the Roundcube web client.
Further software updates address the following issues:
The Kolab Web Administration Panel has been enhanced to address duplicate surname issues, which in Kolab 3.0 would generate duplicate
uid
attributes.The way the
uid
is composed can now be configured with the introduction of apolicy_uid
setting in the[kolab_wap]
section of kolab.conf(5).The postfix MTA is now configured to strip the
Received from:
headers that could otherwise disclose a user’s geographical location.The postfix MTA is now configured to reject inbound email traffic that already has headers set to indicate a spam message.
The postfix MTA is now configured to strip additional
Received from: localhost [127.0.0.1] headers
from emails that pass through Amavis.A new annotation
/vendor/kolab/displayname
was introduced to provide a compatibility layer with CardDAV and CalDAV access layers, neither of which understand IMAP folder hierarchy.A new annotation
/vendor/kolab/uniqueid
was introducted to provide a compatibility layer with CardDAV and CalDAV access layers, neither of which would have otherwise allowed an IMAP folder to be renamed or relocated in the IMAP folder hierarchy.Note
This annotation is only used if
/vendor/cmu/cyrus-imapd/uniqueid
is not available. This Cyrus IMAP annotation became available in Cyrus IMAP 2.5.The
kolab_auth
plugin for Roundcube was enhanced to allow the use of a placeholder%dc
to be substituted by the root dn for a supplied domain name.This enhances the Hosted Kolab Groupware deployment capabilities significantly.
The kolab-webadmin software was enhanced to allow input of KB, MB and GB input for
mailQuota
.The kolab-webadmin software was enhanced to allow Shared Folders to be created through the web administration panel.
The kolab-webadmin software was enhanced to allow the configuration of Dynamic Mail-enabled Distribution Groups.
Updates to Cyrus IMAP¶
Updates to the Cyrus IMAP configuration can be applied automatically, by executing:
# setup-kolab imap
Warning
Executing the aforementioned command assumes you had not made any changes to cyrus.conf(5) nor imapd.conf(5).
If you had, either read the sections for cyrus.conf(5) (at /etc/cyrus.conf) and imapd.conf(5) (at /etc/imapd.conf) or re-apply the changes you need after executing the aforementioned setup command.
cyrus.conf(5) (at /etc/cyrus.conf
)¶
Underscores in START, SERVICES and EVENTS Item Names¶
The version of Cyrus IMAP shipped with Kolab 3.1 is incompatible with the use of underscore (‘_’) characters in the names for the START, SERVICES and EVENTS items.
The EVENTS section in cyrus.conf(5) may have looked as follows:
EVENTS {
# this is required
checkpoint cmd="ctl_cyrusdb -c" period=30
# this is only necessary if using duplicate delivery suppression,
# Sieve or NNTP
duplicate_prune cmd="cyr_expire -E 3" at=0400
# Expire data older then 69 days. Two full months of 31 days
# each includes two full backup cycles, plus 1 week margin
# because we run our full backups on the first sat/sun night
# of each month.
delete_prune cmd="cyr_expire -E 4 -D 69" at=0430
expunge_prune cmd="cyr_expire -E 4 -X 69" at=0445
# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" at=0400
# Create search indexes regularly
squatter cmd="squatter -s -i" at=0530
}
This will need to become:
EVENTS { # this is required checkpoint cmd="ctl_cyrusdb -c" period=30 # this is only necessary if using duplicate delivery suppression, # Sieve or NNTP duplicateprune cmd="cyr_expire -E 3" at=0400 # Expire data older then 69 days. Two full months of 31 days # each includes two full backup cycles, plus 1 week margin # because we run our full backups on the first sat/sun night # of each month. deleteprune cmd="cyr_expire -E 4 -D 69" at=0430 expungeprune cmd="cyr_expire -E 4 -X 69" at=0445 # this is only necessary if caching TLS sessions tlsprune cmd="tls_prune" at=0400 # Create search indexes regularly squatter cmd="squatter -s -i" at=0530 }
The Use of Squatter¶
Squatter is used to periodically create full-text indexes for messages in mailboxes.
At the time of this writing, however, headers that are relevant for Kolab Groupware data searches are not included in such indexes.
To circumvent this problem, remove running squatter from the EVENTS section in
/etc/cyrus.conf
.
To prevent existing squatter indexes from getting in the way, remove all files named cyrus.squat from your IMAP spools:
# for partition in `grep ^partition /etc/imapd.conf | awk '{print $2}'`; do find $partition -type f -name cyrus.squat -delete done
imapd.conf(5) (at /etc/imapd.conf
)¶
A few additional settings are needed for Cyrus IMAP to feature message traffic directly into shared folders.
If not already set, add the following setting to /etc/imapd.conf
:
postuser: shared
New Features in Cyrus IMAP¶
Event notifications. See the architecture and design document on Bonnie.
Multi-master replication
Removing old and Adding new Plugins for Roundcube¶
The following plugins are no longer included:
kolab_core
Todo
Is this list complete?
The following plugins are new:
kolab_files
Todo
Is this list complete?