Versionierungseigenschaften von SharePoint Dokumentenmappen

Dokumentenmappen ermöglichen die Organisation von mehreren Dokumenten und die Vergabe von zusammengehörigen Metadaten. Änderungen von Dokumentenmappen werden nicht automatisch versioniert. Wir zeigen Ihnen in diesem Blogbeitrag worauf es bei der Versionierung ankommt.

 

Voraussetzungen

Für die Verwendung von Dokumentenmappen muss das entsprechende Webseitensammlungsfeature aktiviert sein. Dieses steht nur für SharePoint Server (ab 2010) Versionen und nicht für die SharePoint Fundation Variante zur Verfügung.

 

Die Verwendung dieses Inhaltstypen erfolgt auf Dokumentenbibliotheken. Um die Versionsverwaltung zu nutzen, muss diese in der Dokumentenbibliothek aktiviert werden.

 

Das wichtigste über SharePoint Dokumentenmappen

Dokumentenmappen verfügen über eine „Neu“ und eine „Willkommen“ Seite. Diese dienen standardmäßig der Erstellung neuer Dokumentenmappen, bzw. der Organisation von Metadaten und von sich in der Mappe befindlichen Dokumenten. Eine persönliche Anpassung dieser Seiten, wie z.B. das Einbinden von Web Parts, ist dabei kein Problem.

 

Die „Willkommen“ Seite erreicht man indem man eine Dokumentenmappe aus der Dokumentenbibliothek auswählt oder indem man eine Neue erstellt und abspeichert. Von hier aus erfolgt auch die Erstellung und Verwaltung von Versionen, mehr zu diesem Thema finden Sie im nächsten Abschnitt.

  

Erstellen von Versionen

Im Vergleich zu anderen Listenelementen in der Dokumentenbibliothek werden Versionen von Dokumentenmappen nicht automatisch bei Änderungen gespeichert. Sie müssen explizit erstellt werden, was zur Folge hat, dass die aktuellste Version nicht unbedingt auch das aktuelle Element wiederspiegelt. Wird eine neue Version einer Dokumentenmappe erstellt, speichert diese auch die aktuellen Versionszustände der Dokumente innerhalb der Bibliothek. Die Versionserfassung erfolgt über die Willkommen Seite. Dafür befindet sich im Ribbon unter Verwalten die Option „Version erfassen“ (siehe Abb. [1]). Nach der optionalen Kommentareingabe wird dann eine neue Version erstellt.

 

 versionierung dokumentenmappen

Abbildung 1: Erfassen einer neuen Dokumentenmappen Version

 

Die Option, ob nur Haupt- oder Haupt- und Nebenversionen erstellt werden sollen, kann wie gewohnt unter den Bibliothekseinstellungen angepasst werden. Wenn Sie Haupt- und Nebenversionen aktiviert und nun eine neue Dokumentenmappen Version erstellt haben, ist Ihnen vielleicht aufgefallen, dass es keine weitere Abfrage im Dialog nach der Versionsart gab. Dies liegt daran, dass bei Dokumentenmappen, unabhängig von dieser Einstellung, nur Hauptversionen gespeichert werden. Die Einstellung beeinflusst dabei nur die anderen Dokumente und Elemente, die sich in Ihrer Bibliothek befinden, hier werden je nach Einstellung auch Nebenversionen gespeichert.

  

Neue Versionen dieser Elemente entstehen dabei, wie gewohnt, durch Änderungen des Dokumentes oder dessen Eigenschaften.

  

Das DocumentSet Objekt

Das Documentset Objekt repräsentiert die Dokumentenmappe in C# und wird dabei als eine besondere Art Ordner angesehen, welcher sich wie ein Element in einer Dokumenten Bibliothek verhält. Zusätzlich zu den Funktionalitäten eines SPFolder Objektes besitzt es also auch die eines SPItem Objektes. Eine neue Instanz des Documentset Objektes kann durch die Funktionen GetDocumentSet(SPFolder)(Abb. 2 Zeile 1) oder Create(SPFolder, string, SPContentTypeId, Hashtable) erzeugt werden.

  

An die Versionen kommt man über das VersionCollection Attribut (Abb. 2 Zeile 3). Möchte man an die aktuellste Version gelangen, lässt man sich einfach das DocumentSetVersion Objekt an der Stelle 0 zurückgeben (Abb. 2 Zeile 4). Auch hier ist wieder zu beachten, dass die aktuellste Version nicht gleich das aktuelle Dokumentenmappen Objekt sein muss. Dieses erhält man nur über das SPListItem Objekt (Abb. 2 Zeile 2).

  

DocumentSet docSet = DocumentSet.GetDocumentSet(SPFolder Folder);

SPListItem item = docSet.Item;

DocumentSetVersionCollection snapshots = docSet.VersionCollection;

DocumentSetVersion latestVersion = snapshots[0];

Abbildung 2: C# Code zum DoumentSet Objekt