I helped a contact set up Office 365 and encountered a curious problem.
He is a financial adviser and as part of his workflow, he uses tasks with a due date set far into the future. For example, “Call this client in two years time”.
He has an Office 365 E3 plan, which gives him enterprise-quality retention and archiving features.
We enabled archiving which by default means that messages over two years old are moved to an online archive mailbox.
He then noticed that tasks were disappearing. Then he found them in the archive mailbox. Some of the tasks that were being archived were the ones for action right now.
Why does Exchange archive tasks that are just on or even before their due date? It seems odd; but read this post carefully:
- A non-recurring task expires (or moves to the archive) according to its message-received date, if one exists.
- If a non-recurring task does not have a message-received date, it expires (or moves to the archive) according to its message-creation date.
You might not think that tasks are messages; but in Exchange everything is a message, kind-of. Nowhere does this post by Ross Smith at Microsoft refer to the task’s due date. That seems curious; but the evidence from both this post and our experience is that Exchange will indeed archive a task, regardless of its due date, if it is older than the archive period.
No problem, I thought, we’ll just set the Tasks folder not to auto-archive. Forget the folder properties though; this is Enterprise stuff set by policy and there is no auto-archive tab:
OK, so we have to look at the policies. This gets a little complex. If you right-click a folder in Outlook Web App, after enabling online archiving, you will notice an Assign Policy option which refers to both Archive Policy and Retention Policy:
However, you cannot right-click Tasks and choose “Personal never move to archive”. Nor can you use Policy tab that appears in Outlook (provided you have the right version) for most folders:
The Tasks folder is special. It inherits the default archiving policy for the mailbox, which cannot be overridden.
Here is how we have (I hope) fixed this. What you have to do is to set a default archiving policy of “Never archive” and then override this for the folders that you do want to archive. A bit backwards, but there it is.
You can do this either through the Office 365 Exchange admin screens, or with PowerShell. First, go to Compliance Management and select Retention tags.
Why are we looking at Retention tags and not Archive tags? The reason, as far as I can make out, is that what Microsoft calls in some places the Archive policy is implemented as a Retention policy with Action “Move to Archive”. Therefore, we have to create a new Default Retention Tag which specifies Never archive:
Now go to the Retention Policies tab. By default there is a single Default MRM policy. You can either amend this, or create a new policy. A policy is defined by a collection of Retention tags. The key tag in this instance is “Default 2 year move to archive”. You can either remove this and replace it with “Default never archive”, or create a new policy including “Default never archive”. It seems that Retention policies work better if they have a Default tag of some sort, so I suggest not omitting a Default tag altogether.
An Archive policy that never archives anything is not much use, so you should also include some Personal Retention tags. These let you override the default policy for specific folders, such as Inbox. You can also add Retention tags that apply automatically to specific folders (the Default MRM policy has examples for Junk Email and Deleted Items) but note that these cannot affect the Archive policy, as they cannot contain the action “Move to Archive”. Only Default and Personal tags can include Archive policy.
Finally, if you created a new policy rather than amending Default MRM Policy, you have to apply it to the mailbox. Go to Recipients, select the mailbox and click Edit, select Mailbox features, and change the Retention Policy.
Note that the archive policy doesn’t seem to be applied until the archiving process next runs, which by default is every seven days. You can kick it off in PowerShell like this:
Start-ManagedFolderAssistant -Identity <name of the mailbox>
My opinion: that is a lot of work simply to have Tasks not auto-archive. But on the plus side, it gives you a good understanding of how archiving and retention policies work in Office 365.
If you know an easier way, please let me know!