EAS Kalender

Diese Seite widmet sich den unterschiedlichem Verhalten von Mobilgeräten hinsichtlich der Kalenderfunktion. Nachdem ein Kunde mich gefragt hat, warum er auf seinem Mobilgerät Termine vor mehr als 14 Tagen nur noch teilweise sieht, bin ich der Sache etwas weiter nachgegangen.

Steuerung auf dem Server

Über ActiveSync Mailbox Policies kann vorgegeben werden, wie lange in die Vergangenheit Termine von Clients repliziert werden können. Die Default Einstellungen auf einem Exchange Server sind:

[PS] C:\>Get-ActiveSyncMailboxPolicy | ft name,*cale* -AutoSize
 
Name                   MaxCalendarAgeFilter
----                   --------------------
Default                                 All

Per Default gibt es also kein Limit und der Client entscheidet, wie weit er alte Termine mit synchronisieren will. Über die EinstellMöglichkeiten gibt die Exchange Hilfe Auskunft:

Maximum calendar age filter
This setting specifies the maximum range of calendar days that can be synchronized to the mobile phone. The value is specified in days.
...
You don't have to assign a user to an Exchange ActiveSync mailbox policy. The following table summarizes the policy settings used if you don't assign a user to a policy
Default Exchange ActiveSync settings: Maximum calendar age filter =  7

Quelle: understanding Exchange ActiveSync Mailbox Policies http://technet.microsoft.com/en-us/library/bb123484(v=exchg.141).aspx

Allerdings sind nach meinen Beobachtungen beide Aussagen falsch:

  1. Der Default sind nicht 7 Tage sondern „ALL“
  2. Zeit wird nicht in Tagen angegeben, sondern analog zur MSDN in den Intervallen.

Das sieht man auch an der Fehlermeldung bei “set-ActiveSyncMailboxPolicy“

[PS] C:\ set-ActiveSyncMailboxPolicy default -MaxCalendarAgeFilter 999
Cannot process argument transformation on parameter 'MaxCalendarAgeFilter'. Cannot convert value "999" to type "Microsoft.Exchange.Data.Directory.SystemConfiguration.CalendarAgeFilterType" due to invalid enumeration values. Specify one of the following enumeration values and try again. The possible enumeration values are "All, TwoWeeks, OneMonth, ThreeMonths, SixMonths".

Die Aussagen werden auch noch einmal durch die Definitionen in der MSDN bestätigt

Das ist alles ganz interessant aber löst das beobachtet Problem nicht, da die Mailbox ActiveSync Richtlinie ja keine Limitierung enthält.

Verhalten auf dem Client

Entsprechend habe ich dann mit verschiedenen Clients experimentiert. Bei meinen Kunden war es "nur" Windows Phone 8", bei dem dieses Verhalten aufgetreten ist. Ich habe mir natürlich dann in meine TestUmgebung noch die Mühe gemacht, alle anderen Mobilgeräte zu prüfen, auf die ich Zugriff habe. Ich habe dazu Termine in der Vergangenheit angelegt und geschaut, welche Termine angekommen sind. Allen Plattformen gemeinsam war, dass Serientermine auch weiter in die Vergangenheit angezeigt wurden, solange die Serie noch in das aktuelle Fenster gefallen ist

Mobilplattform Verhalten Konfigurierbar
WP8
WP7.8
2 Wochen Nein
Apple IOS 2 Wochen
1 Monate
3 Monate
6 Monate
Alle
Ja
Android 4 8 Wochen Nein
Symbian Leider kein Gerät zur Hand Leider kein Gerät zur Hand
Blackberry Leider kein Gerät zur Hand Leider kein Gerät zur Hand

Schauen wir uns die Geräte genauer an:

WP8/WP7.8

Bei der Ersteinrichtung des WP8 werden Termine bis 14 Tage in die Vergangenheit mit repliziert. Werden auf dem WP8 Termine in der Vergangenheit angelegt, werden Sie sehr wohl zum Server repliziert. Outlook zeigt sie auch an Ist der Termin aber >14 Tage in der Vergangenheit kommt er nicht mehr auf dem WP8 an. Änderungen an Terminen vor 14+ Tagen erscheinen nicht auf dem PDA. Maßgeblich ist das Datum des Termins, nicht seine letzte Änderung. Serientermine die heute noch aktiv sind, werden auch in der Vergangenheit > 14Tage angezeigt.

Bei Windows Phone 7.8 wird ein Termine älter 14 Tage im Kalender sogar einige Zeit angezeigt, bis er durch die Replikation wieder auf dem Telefon entfernt wird. Im Postfach bleibt er bestehen.

Die EinstellMöglichkeiten sind bei Windows Phone 7.8 und 8.0 nur bezüglich der E-Mail möglich.

Anscheinend hat niemand daran gedacht, dass die Speicher auf Mobilgeräten mittlerweile größer sind und es durchaus Gründe geben kann, Termine in der Vergangenheit zu sichten. Ich selbst nutze dies auch, insbesondere wenn in einem Termin auch Notizen wie Ansprechpartner, Adresse, Hoteladresse etc. hinterlegt sind.

Auch dieses Verhalten ist bei Microsoft dokumentiert.

Once the accounts are set up, your phone will sync the following appointments (these settings can't be changed):
- Two weeks of past single-instance (non-recurring) appointments.
- All future single-instance appointments.
- All recurring appointments that have occurrences within the last two weeks or anytime in the future.
Quelle1: use calendars http://www.windowsphone.com/en-us/how-to/wp8/people/use-calendars
Quelle2: Synchronising calendars and to-dos http://www.windowsphone.com/en-ca/how-to/wp7/people/sync-calendars-and-to-dos

Da kann man sich natürlich streiten, wie sinnvoll dann Richtlinien auf dem Exchange Server sind, wenn das primäre Mobilgerät von Microsoft eh nicht mehr als die letzten 14 Tage repliziert.

Auch andere Personen scheinen sich darüber zu ärgern.

Es gibt speziell für Windows Phone 8 mittlerweile eine ganze Menge von Apps, die z.B. eine Wochenansicht des Kalenders nachrüsten. Aber auch diese Anwendungen greifen einfach nur auf den vorhandenen Kalender zu und was dort nicht vorhanden ist, können Sie auch nicht anzeigen.

Ich vermute nicht, dass sich GoodLink und andere Softwarehäuser, die früher alternative ActiveSync Clients gebaut haben, durch einen eigenen Client abhelfen.

IOS (IPhone/IPad)

Ich habe die Funktion mit IOS 6 auf einen iPhone 4s getestet. Es ist nach meiner Recherche das einzige Mobilsystem, welches eine Einstellung über das Alter der zu replizierenden Termine zulässt:

In den Einstellungen - Mail, Kontakte, Kalender können sie oben die Haltezeit für Mails und weiter unten auch für den Kalender einstellen.

Android 4

Auf meinem Google Nexus 4 (Android 4.2.2) konnte ich ebenfalls die Termine nachverfolgen. Es speichert alte Termine per Default 8 Wochen. auch diese Zeit ist nicht einstellbar. Einzig die Zeit für die E-Mails ist konfigurierbar

Insofern bin ich froh, dass bei ActiveSync zumindest 8 Wochen repliziert werden. Wenn man den verschiedenen Forenbeiträgen glauben darf, dann repliziert Android auch mit Google selbst nicht mehr als 1 Monat.

Zwischenstand

Irgendwie ist es komisch, dass aktuell (Mai 2013) nur IOS es geschafft hat, eine Konfiguration für die Vorhaltezeit alter Termins einzubauen., während Windows Phone mit gerade mal 2 Wochen schon eine fast unbrauchbare Dauer vorgibt und Android mit 8 Wochen zumindest besser da steht. Ich würde mir natürlich wünschen, dass der Anwender auf dem Mobiltelefon selbst die Dauer einstellen kann und der Exchange Administrator dann die serverseitige Richtlinie auch sinnvoll einsetzen kann.

Weitere Links