Eine SharePointListe kann man ohne grosse Probleme mit einer zusätzlichen Metaspalte erweitern. Mit den Metainformationen kann man zum Beispiel weitere Informationen zu einem Dokument ablegen. Diese Informationen werden sogar direkt aus den Office Clients editiert und angezeigt.

Wenn man bei diesen Felder angibt, dass sie zwingend gefüllt werden müssen, kann der Benutzer das Dokument erst speichern wenn er einen Wert eingegeben oder selektiert hat.
In diesem Artikel geht es jedoch nicht um diese Funktion, denn diese wurde schon durch Mischa Mundwiler (Klassifizierung von Dokumenten mit dem Document Information Panel) beschrieben. Er ist sogar einen Schritt weiter gegangen und hat gezeigt, wie man die Anzeige im Word anpassen kann.
In diesem Artikel geht es darum eine DocumentLibrary mit einem einfachen Workflow zu erweitern. Dabei soll es ein Workflow sein, welcher ohne Kenntnisse von Programmiersprachen erstellt werden kann.
Als erstes braucht man eine DocumentLibrary. Dort fügen wir zwei Spalten hinzu und zwar „Konzepttyp“ und „Dokument Status“. Zuerst muss man zu der gewünschten DocumentLibrary gehen und bei den Einstellungen die neuen Spalten hinzufügen.
In meinem Beispiel habe ich in der Spalte „Konzepttyp“ die Möglichkeiten „Detailkonzept“ oder „Grobkonzept“ hinzugefügt. Bei der zweiten Spalte „Dokument Status“ stehen mehrere Werte zur Auswahl. Für dieses Beispiel ist aber nur der Wert „Abgeschlossen“ relevant.

Wenn man bei den Spalten angegeben hat, dass sie zwingend gefüllt werden müssen, erscheint beim Speichern automatisch der Dialog, welcher auf dem ersten Bild gezeigt wurde. Sobald das Dokument gespeichert wurde, sieht das Dokument in SharePoint wie folgt aus:

Nun kommt der eigentliche Teil dieses Eintrages. Wir möchten ja einen einfachen Workflow erstellen, und zwar einen ohne Programmierung. Das bedeutet wir werden einen Sequentiellen Workflow mit dem SharePoint Designer erstellen.
Dazu müssen wir die Seite mit der Liste mittels SharePoint Designer öffnen. Im SharePoint Designer kann man die Seite öffnen indem man unter File > Open Site einfach die URL zu der Seite eintippt/einfügt (Bei meinem Beispiel http://wss/Demo/). Dann sollte man folgendes sehen:

Der Name meiner Document Library ist „Konzept“. Über das Menü kann man dieser Library einen neuen Workflow hinzufügen.

Das Erstellen eines Sequentiellen Workflows mit dem Designer erfolgt mit einem Wizard. Dieser fragt zuerst nach dem Namen des Workflows und der gewünschten SharePoint Liste, bei welcher der Workflow hinzugefügt werden soll. Hier kann man weitere Optionen setzen, wie zum Beispiel ob der Workflow bei einem neuen Dokument automatisch gestartet werden soll. Dies macht in unserem Fall natürlich Sinn. Denn so muss bei einem neuen Dokument kein Workflow von Hand gestartet werden.

In diesem Workflow soll folgendes geschehen. Sobald ein Grobkonzept abgeschlossen wird, soll ein Task einem Benutzer zugewiesen werden. Falls ein Detailkonzept abgeschlossen wird, soll ebenfalls ein Task zugewiesen und ausserdem eine Email versandt werden. Der Workflow gilt erst als abgeschlossen, wenn der zugewiesene Task als erledigt markiert wird.
Der Workflow ist nur ein Beispiel und kann oder muss keinen Sinn ergeben. ;-)
Damit wir die beschriebene Funktion erhalten, verwenden wir zwei Überprüfungen.
Grobkonzept
Falls das Dokument bei der Metainformation „Dokument Status“ = „Abgeschlossen“ und „Konzepttyp“ = „Grobkonzept“
=> Task an eine Person
Detailkonzept
Falls das Dokument bei der Metainformation „Dokument Status“ = „Abgeschlossen“ und „Konzepttyp“ = „Detailkonzept“
=> Task an eine Person & Email an eine Person
Der Wizard gibt uns verschiedene Activities zur Auswahl um einen Workflow zu erstellen. Bei der Überprüfung der Metafelder stellt er die möglichen Werte zur Verfügung, falls es sich um ein Dropdown Feld handelt.

In diesem Bild wurden die nötigen Überprüfungen zu den zwei Möglichkeiten eingefügt. Wenn nun noch die Aktionen eingefügt werden sieht das Ganze so aus:

Ein Sequentieller Workflow kann mittels deklarativer Sprache (XML) beschrieben werden, ein StateMachine Workflow hingegen nicht. Der SharePoint Designer kann somit nur einen Sequentiellen Workflow erstellen. Wenn man den Workflow speichert, zeigt sich einem wieder die Ordnerstruktur von SharePoint. Dabei sieht man die Definitionsdateien des Workflows „Benachrichtigen“:

Wenn nun ein neues Dokument in der Dokument Library abgelegt wird, muss der Benutzer die zwei neuen Metainformationen angeben. Ausserdem wird beim ersten Speichern automatisch der Workflow gestartet. Dieser überprüft bei jeder Änderung des Dokumentes die zwei Felder. Sobald eine der beiden Überprüfungen zutreffen, erstellt er einen Task und versendet bei einem Detailikonzept sogar ein Email. In der Taskliste zeigt sich ein neuer Task wie folgt:

Beim Öffnen des Taks sieht man folgendes:

Wenn dieser Task nun abgeschlossen wird, ist auch der Worklfow beendet und geht auf „Completed“.

Natürlich hat man mit einem Sequentiellen Workflow nur begrenzte Möglichkeiten, jedoch kommt man ohne Programmieren schon zu einem Workflow. In einem älteren Blog habe ich eine andere Möglichkeit gezeigt, wie man einen Sequentiellen Workflow visuell gestalten kann: Atlas Workflow Designer
Weitere Informationen zu dem SharePoint Designer gibt es auf dem offiziellen Blog unter: http://blogs.msdn.com/sharepointdesigner/default.aspx (Englisch)
Besonders interessant sind die neuen Lernvideos.