Ein oft genutzte Funktion in SharePoint sind die E-Mail Benachrichtigungen für Listen und Bibliotheken. Sie sind ja auch praktisch, bei jeder Änderung kann ich automatisch informiert werden und muss nicht mehr selber nachschauen. Obwohl man in den Benachrichtigungen eine Menge einstellen kann ist es nicht möglich sich nur informieren zu lassen wenn sich ein bestimmtes Metadatum ändert. Dies ist zum Beispiel dann wichtig, wenn ich mit SharePoint Qualitätsmanagement (QM) Dokumente verwalte. So könnte ich meinen Benutzern anbieten, dass diese nur informiert werden, wenn es eine inhaltliche Änderung gibt. Eine Benachrichtigung bei redaktionellen Änderungen, z.B. der Korrektur von Rechtschreibfehlern erfolgt nicht. Leider ist diese Anpassung nur für SharePoint onPremise möglich. Dieser Artikel erläutert, wie Sie dabei vorgehen.

Die folgende Abbildung zeigt die Bedingungen für das setzen der Benachrichtigungen. Dieser Bereich muss entsprechend ergänzt werden.

Achtung, wir bearbeiten hier Dateien aus dem Dateisystem eines SharePoint Servers. Bearbeiten Sie NIEMALS die Originaldateien, sondern immer nur Kopien.

Filter hinzufügen

Die Datei, welche die Benachrichtigungen definiert, befindet sich bei SharePoint 2013 im 15er Ordner, in SharePoint 2010 entsprechend im 14er Ordner. Dieser Ordner finden Sie bei SharePoint 2013 in %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\15. Gehen Sie dort in das Unterverzeichnis \TEMPLATE\XML und suchen Sie die Datei alerttemplates.xml. Kopieren Sie die Datei und benennen Sie diese um z.B. in alerttemplates_contoso.xml. Öffnen Sie diese Datei in einem XML Editor Ihrer Wahl. Wenn Sie die Datei untersuchen, werden Sie sehen, dass hier Benachrichtigungen für verschiedene Listen- und Bibliothektypen definiert sind. Wir möchten gern das Template für Dokumentenbibliotheken anpassen.


Die Struktur innerhalb einer Liste/Dokumentenbibliothek ist immer gleich.

Um einen neuen Filter zu setzen, müssen wir also den Abschnitt Filter ergänzen. In diesem gibt es schon drei Dokumentenbibliotheken spezifische Filter. Der erste Filter ist generisch (Benachrichtigung bei alle Änderungen) und hier nicht aufgeführt. Jeder Filter besteht dabei aus einem Namen für die Ansicht, einem kurzen Namen und Filterregeln. Beachten Sie dabei, dass Sie Umlaute im Namen HTML kodieren müssen.

Während der Name recht einfach ist, sind die Regeln komplexer. Sie finden diese im Abschnitt Query und werden dort in CAML notiert. Allerdings sind nicht alle CAML Ausdrücke erlaubt, im Zweifelfall hilft es sich anzuschauen, wie die schon vorhandenen Regeln aufgebaut sind.

In meinem Fall habe ich in einer Dokumentenbibliothek ein neues Feld angelegt, welches vom Typ Auswahl ist und die Werte

  • Inhaltlich
  • Redaktionell

hat. Bei einer Änderung muss das Feld entsprechend gesetzt werden. Wurde es auf Inhaltlich gesetzt, soll eine Benachrichtigung erfolgen. Das Feld hat den Namen TypAenderung.

Ich habe mir einen vorhandenen Filter kopiert und diesen angepasst. Es sind jetzt also vier Filter vorhanden. Die neue Abfrage für den neuen Filter würde dann wie unten aussehen.

Filter veröffentlichen

Um die Änderung zu veröffentlichen müssen Sie die neue XML Datei importieren. Anpassungen der Benachrichtigungen können Sie entweder für die ganze Farm, pro Sitecollection oder für eine spezielle Liste veröffentlichen. Ich habe mich für die Anpassung per Sitecollection entschieden. Zum Import nutze ich stsadm.exe. Sie finden dies im 14er/15er Ordner im Unterverzeichnis Bin. Da ich die Sitecollection http://sharePoint.contoso.com/sites/QM
anpassen möchte, sieht der Befehl bei mir so aus:
stsadm -o updatealerttemplates -filename „C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\XML\alerttemplates_contoso.xml“ -url http://sharePoint.contoso.com/sites/QM

Nach dem Import muss der SharePoint Timer Dienst neu gestartet werden. Dafür gibt es mehrere Möglichkeiten, eine ist das Services Snap-In.

Und schon kann der Benutzer die neue Bedingung setzen.

Achtung: Die Validierung der Regel erfolgt erst wenn die Regel gesetzt wird! Testen Sie also vorher!

Schon gesetzte Benachrichtigungen werden nicht geändert. Wenn dies gewünscht ist hilft die PowerShell weiter oder der Benutzer löscht seine Benachrichtigungen und erstellt diese neu.

Kommentar verfassen