# List of all update tasks that should be excluded.

# Version 1
!com.openexchange.groupware.update.tasks.CreateTableVersion
!com.openexchange.groupware.update.tasks.SpamUpdateTask
!com.openexchange.groupware.update.tasks.PasswordMechUpdateTask
# Version 2
!com.openexchange.groupware.calendar.update.AlterMailAddressLength
!com.openexchange.groupware.update.tasks.TaskModifiedByNotNull
# Version 4
!com.openexchange.groupware.update.tasks.DelFolderTreeTableUpdateTask
# Version 5
!com.openexchange.groupware.update.tasks.UnboundFolderReplacementUpdateTask
# Version 6
!com.openexchange.groupware.calendar.update.AlterCreatingDate
!com.openexchange.groupware.update.tasks.TaskReminderFolderZero
!com.openexchange.groupware.update.tasks.MailUploadQuotaUpdateTask
# Version 7
!com.openexchange.groupware.update.tasks.NewAdminExtensionsUpdateTask
# Version 8
!com.openexchange.groupware.update.tasks.InfostoreRenamePersonalInfostoreFolders
# Version 10
!com.openexchange.groupware.calendar.update.UpdateFolderIdInReminder
# Version 11
!com.openexchange.groupware.update.tasks.ClearLeftoverAttachmentsUpdateTask

# SP4 update tasks start here

# Version 12
# Searches for duplicate infostore folder names and changes them. 
!com.openexchange.groupware.update.tasks.InfostoreResolveFolderNameCollisions
# Changes URL columns for infostore items to VARCHAR(256).
!com.openexchange.groupware.update.tasks.InfostoreLongerURLFieldTask
# Version 13
# Creates necessary table for spell check in database: spellcheck_user_dict
!com.openexchange.groupware.update.tasks.SpellCheckUserDictTableTask
# Version 14
# Sets a not defined changed_from column for contacts to created_from.
!com.openexchange.groupware.update.tasks.ContactsChangedFromUpdateTask
# Version 15
# Checks and fixes the VARCHAR column sizes for contacts tables.
!com.openexchange.groupware.update.tasks.ContactsFieldSizeUpdateTask
# Version 16
# Moves contacts illegally moved to global addressbook into private contact folder.
!com.openexchange.groupware.update.tasks.ContactsGlobalMoveUpdateTask
# Version 17
# Removes attachments and links to deleted contacts.
!com.openexchange.groupware.update.tasks.ContactsRepairLinksAttachments
# Version 18
# Enlarges the column for task titles to VARCHAR(256).
!com.openexchange.groupware.update.tasks.EnlargeTaskTitle
# Version 19
# Changes the column for series appointments exceptions to type TEXT to be able
# to store a lot of exceptions.
!com.openexchange.groupware.calendar.update.AlterDeleteExceptionFieldLength
# Version 20
# Removes broken reminder caused by a bad SQL update command.
!com.openexchange.groupware.update.tasks.RemoveBrokenReminder
# Version 21
# Bug 12099 caused some appointments to have the attribute modifiedBy stored as
# 0 in the database. This attribute is fixed with the creator.
!com.openexchange.groupware.update.tasks.AppointmentChangedFromZeroTask
# Version 22
# Bug 12326 caused appointment exceptions to be treated at some code parts as
# series. Fix for bug 12212 added an check to discover those exceptions and not
# to treat them anymore as series. Fix for bug 12326 did this, too. Fix for bug
# 12442 adds an update task that corrects invalid data in the database for those
# appointments.
!com.openexchange.groupware.update.tasks.AppointmentExceptionRemoveDuplicateDatePosition
# Version 23
# Bug 12495 caused appointment change exceptions to not have the recurrence date
# position. This is essential for clients to determine the original position of
# the change exception. This task tries to restore the missing recurrence date
# position.
!com.openexchange.groupware.update.tasks.AppointmentRepairRecurrenceDatePosition
# Version 24
# Bug 12528 caused appointment change exception to not have the recurrence
# string anymore. This is essential for handling the recurrence date position
# correctly. This task tries to restore the missing recurrence string by copying
# it from the series appointment.
!com.openexchange.groupware.update.tasks.AppointmentRepairRecurrenceString
# Version 25
# Bug 12595 caused a wrong folder identifier for participants of an appointment
# change exception. Then for this participant the change exception is not
# viewable anymore in the calendar. This update task tries to replace the wrong
# folder identifier with the correct one.
!com.openexchange.groupware.update.tasks.CorrectWrongAppointmentFolder

# SP5 update tasks start here

# Version 26
# Introduces foreign key constraints on infostore_document and del_infostore_document.
# Assures these constraints are met.
!com.openexchange.groupware.update.tasks.ClearOrphanedInfostoreDocuments
# Version 27
# Initial User Server Setting table
!com.openexchange.groupware.update.tasks.TaskCreateUserSettingServer
# Version 28
# Adding column 'system' to both tables 'oxfolder_permissions' and 'del_oxfolder_permissions'
!com.openexchange.groupware.update.tasks.FolderAddPermColumnUpdateTask
# Version 29
# Run task of version 17 again. The SP4 version was not fast enough for database
# connection timeouts.
!com.openexchange.groupware.update.tasks.ContactsRepairLinksAttachments2
# Version 30
# This update task combines several optimizations on the schema. Especially some
# indexes are improved.
!com.openexchange.groupware.update.tasks.CorrectIndexes
# Version 31
# This task corrects the charset and collation on all tables and the database
# itself.
!com.openexchange.groupware.update.tasks.CorrectCharsetAndCollationTask
# Version 32
# New infostore folder tree
!com.openexchange.groupware.update.tasks.NewInfostoreFolderTreeUpdateTask
# Version 33
# Extends size of VARCHAR column `dn` in both working and backup table of `prg_date_rights`.
!com.openexchange.groupware.update.tasks.CalendarExtendDNColumnTask
# Version 34
# Adds an index on prg_dates_members to improve performance in large contexts.
!com.openexchange.groupware.update.tasks.AddAppointmentParticipantsIndexTask

# v6.10 update tasks start here

# Version 40
# Adds necessary tables for multiple mail accounts and migrates mail account data
!com.openexchange.groupware.update.tasks.MailAccountCreateTablesTask
!com.openexchange.groupware.update.tasks.MailAccountMigrationTask
# Version 42
# Adds necessary tables to support missing POP3 features
!com.openexchange.groupware.update.tasks.POP3CreateTableTask
# Version 44
# Adds necessary tables to support generic configuration storage
!com.openexchange.groupware.update.tasks.CreateGenconfTablesTask
# Version 46
# Adds necessary tables for subscribe service
!com.openexchange.groupware.update.tasks.CreateSubscribeTableTask
# Version 48
# Adds necessary tables for publish service
!com.openexchange.groupware.update.tasks.CreatePublicationTablesTask
# Version 50
# Adds necessary column in contact table for counting usage.
!com.openexchange.groupware.update.tasks.ContactsAddUseCountColumnUpdateTask
# Version 52
# Renames the standard group of all users.
!com.openexchange.groupware.update.tasks.RenameGroupTask
# Version 54
# This update tasks creates additional indices to improve database performance.
!com.openexchange.groupware.update.tasks.CorrectIndexes6_10
# Version 56
# Changes the column for series appointments exceptions to type TEXT to be able
# to store a lot of exceptions.
!com.openexchange.groupware.calendar.update.AlterChangeExceptionFieldLength
# Version 58
# Due to a bug, there are several appointments with the String "null" in the recurrence pattern
# instead of SQL NULL. This update task repairs these broken lines in the database.
!com.openexchange.groupware.calendar.update.RepairRecurrencePatternNullValue
# Version 60
# The collation of column uid in table login2user must be changed to utf8_bin to prevent a collision of login
# names that are equal except some accent or some German umlauts.
!com.openexchange.groupware.update.tasks.AlterUidCollation
# Version 62
# Runs the task AlterUidCollation again. The schema creating scripts did not contain the fix for v6.10.
!com.openexchange.groupware.update.tasks.AlterUidCollation2

# v6.12 update tasks start here

# Version 70
# New config parameters to set the default confirmation status of newly created appointments
# for participants in private an public folders
!com.openexchange.groupware.update.tasks.DefaultConfirmStatusUpdateTask
# Version 72
# Creates necessary tables for virtual folder tree
!com.openexchange.folderstorage.virtual.VirtualTreeCreateTableTask
# Version 74
# Creates indexes on tables "prg_contacts" and "del_contacts" to improve auto-complete search
!com.openexchange.groupware.update.tasks.ContactsAddIndex4AutoCompleteSearch
# Version 76
# Drops incorrect admin permission on top level infostore folder
!com.openexchange.groupware.update.tasks.RemoveAdminPermissionOnInfostoreTask

# v6.14 update tasks start here

# Version 90
# Creates the table replicationMonitor for monitoring if slaves are completely replicated.
!com.openexchange.groupware.update.tasks.CreateReplicationTableTask
# Version 92
# Config parameter for en-/disabling contact collection on incoming and outgoing mails.
!com.openexchange.groupware.update.tasks.ContactCollectOnIncomingAndOutgoingMailUpdateTask
# Version 94
# Resolves Global Address Book's group permission to individual user permissions.
!com.openexchange.groupware.update.tasks.GlobalAddressBookPermissionsResolverTask
# Version 96
# Adds "personal" column to to mail/transport account table.
!com.openexchange.groupware.update.tasks.MailAccountAddPersonalTask
# Version 98
# Removes duplicate contact collector folders
!com.openexchange.groupware.update.tasks.DuplicateContactCollectFolderRemoverTask
# Version 100
# Adds necessary indexes to improve shared folder search for a user
!com.openexchange.groupware.update.tasks.FolderAddIndex4SharedFolderSearch
# Version 102
# Adds necessary tables to support MAL-based poll
!com.openexchange.groupware.update.tasks.MALPollCreateTableTask

# v6.16 update tasks start here

# Version 200
# This is the last update task with a database schema version. All newer update task must use the new update task interface UpdateTaskV2.
# NEVER exclude this task or all previous update tasks must be run again.
!com.openexchange.groupware.update.tasks.LastVersionedUpdateTask
# background: Renames "Unified INBOX" to "Unified Mail"
!com.openexchange.groupware.update.tasks.UnifiedINBOXRenamerTask
# blocking: Creates necessary tables for mail header cache
!com.openexchange.groupware.update.tasks.HeaderCacheCreateTableTask
# blocking: Modifies tables needed for MAL Poll
!com.openexchange.groupware.update.tasks.MALPollModifyTableTask
# blocking: Extends the calendar tables and creates table to store the confirmation data for external participants.
!com.openexchange.groupware.update.tasks.ExtendCalendarForIMIPHandlingTask
# background: Enables the bit for the contact collector feature for every user because that bit was not checked before 6.16.
!com.openexchange.groupware.update.tasks.ContactCollectorReEnabler

# v6.18 update tasks start here

# blocking: Creates the table infostoreReservedPaths to exclusively create path and file names through the WebDAV interface.
!com.openexchange.groupware.infostore.database.impl.InfostoreFilenameReservationsCreateTableTask
# blocking: Adds a column to the table user_setting_server named folderTree to store the selected folder tree.
!com.openexchange.groupware.update.tasks.FolderTreeSelectionTask
# blocking: Creates the table publication_users that will store usernames and passwords that secure the access to publications.
!com.openexchange.publish.database.PublicationWithUsernameAndPasswordUpdateTask
# background: Repairs appointments where the number of attachments does not match the real amount of attachments.
!com.openexchange.groupware.update.tasks.AttachmentCountUpdateTask
# background: Creates an initial empty filestore usage entry for every context that currently did not uploaded anything.
!com.openexchange.groupware.update.tasks.AddInitialFilestoreUsage
# background: Currently users contacts are created with the display name attribute filed. Outlook primarily uses the fileAs attribute. This
# task copies the display name to fileAs if that is empty.
!com.openexchange.groupware.update.tasks.AddFileAsForUserContacts
# blocking: Adds a column to publications to enable or disable each publication.
!com.openexchange.publish.database.EnabledColumn
# blocking: Adds a column to subscription to enable or disable each subscription.
!com.openexchange.subscribe.database.EnabledColumn
# blocking: Extends the field "reason" for participants.
!com.openexchange.groupware.update.tasks.ParticipantCommentFieldLength
# blocking: New table for linking several appointments (from different sources) together that represent the same person.
!com.openexchange.groupware.update.tasks.AggregatingContactTableService
# blocking: Fixes a possibly wrong primary key on table publication. The primary key may be wrong because columns cid and id are
# interchanged if table publication was created by the update task.
!com.openexchange.publish.database.FixPublicationTablePrimaryKey
# blocking: Tries againg to create the table publication_users. The update task PublicationWithUsernameAndPasswordUpdateTask may fail due to
# possibly wrong primary key on table publications.
!com.openexchange.publish.database.PublicationWithUsernameAndPasswordUpdateTaskRetry
# blocking: Adds columns for storing the time stamp of the creation and the last modification for each publication.
!com.openexchange.publish.database.PublicationsCreatedAndLastModifiedColumn
# blocking: Adds columns for storing the time stamp of the creation and the last modification for each user authentication for publications.
!com.openexchange.publish.database.PublicationUsersCreatedAndLastModifiedColumn
# blocking: Adds columns for storing the time stamp of the creation and the last modification for each subscription.
!com.openexchange.subscribe.database.SubscriptionsCreatedAndLastModifiedColumn
# blocking: Fixes a possibly wrong primary key on table subscription. The primary key may be wrong because columns cid and id are
# interchanged if table subscription was created by the update task.
!com.openexchange.subscribe.database.FixSubscriptionTablePrimaryKey
