Workflows mit Microsoft Office Sharepoint Server aufbauen

Seite 2: Die Umsetzung

Inhaltsverzeichnis

Vielversprechende Bewerbungen von .Net-Entwicklern hingegen landen in der Library „Dot Net Entwickler“. Hier wird ebenfalls eine automatische Eingangsbestätigung erzeugt, gleichzeitig erhält der zuständige Personalreferent eine Benachrichtigung, dass eine neue Bewerbung vorliegt. MOSS überwacht, ob der Personaler innerhalb des definierten Zeitraums die notwendigen Felder ausfüllt und weitere Schritte unternimmt und erinnert ihn gegebenenfalls per E-Mail. Analoges gilt für Java-Developer.

Neben den Libraries richtet der Entwickler auf der MOSS-Site entsprechende Mail-Adressen ein (Abb. 1).

Wie lässt sich dieses Szenario nun umsetzen? Auf MOSS-Seite gilt es zunächst, eine Site namens „HR“ einzurichten. In dieser Site erstellt der Programmierer die drei Libraries und – ganz wichtig – konfiguriert für jede eine E-Mail-Adresse (siehe Abbildung 1). Zuvor sind in der Sharepoint Central Administration alle grundsätzlich notwendigen Einstellungen für den Versand und Empfang von E-Mail vorgenommen worden. MOSS erstellt für jede Library automatisch ein Kontaktobjekt im Active Directory, und somit ist der Grundstein für die Integration von Exchange/Outlook und MOSS gelegt.

Wie aber kommen die drei Managed Folder in Anjas Outlook? Und wie gelangen Nachrichten, die sie dorthin verschiebt, in die passende Library? Hier ist einige Arbeit in der Exchange-2007-Konfiguration angesagt. Die notwendigen Schritte kann man komplett mit der PowerShell erledigen, allerdings liegt hier einer der seltenen Fälle vor, in denen auch die EMC (Exchange Management Console) fast alle benötigten Funktionen bietet.

Zunächst legt man mittels EMC (unter Organization Configuration -> Mailbox -> Manage Custom Folder) die drei Ordner an und erstellt dann für jeden der neu erzeugten Managed Folder ein sogenanntes „Managed Content Setting“ (per Rechtsklick auf den Managed Folder). Hier wird festgelegt, was genau mit Elementen in dem dazugehörigen Managed Folder zu passieren hat. Im vorliegenden Fall leitet Exchange eine Kopie jedes neuen Elements an den zuvor von MOSS erstellten Kontakt der passenden Library weiter.

Die Folders werden zu einer Policy zusammengefasst (Abb. 2).

Schließlich benötigt man eine „Managed Folder Mailbox Policy“ namens „HR“, die auch unter Organization Configuration -> Mailbox zu erstellen ist. Eine solche Policy definiert, welche Managed Folder in welcher Mailbox erscheinen sollen. Der Entwickler – beziehungsweise der Exchange Administrator – fasst alle drei Ordner in einer Policy zusammen (siehe Abbildung 2) und weist sie zu guter Letzt noch der Mailbox von Anja Zimmer zu. Die Zusammenfassung ist notwendig, da sich einer Mailbox nur eine Policy zuordnen lässt.

Zur Abwechslung soll dieser Schritt mit der PowerShell durchgefĂĽhrt werden. Die entsprechende Anweisung lautet:

Set-Mailbox -Identity "Anja Zimmer"  -ManagedFolderMailboxPolicy "HR" 

Die Managed Folders richtet Exchange ohne Eingriffe des Anwenders ein (Abb. 3).

Damit diese Änderung wirksam wird, muss der sogenannte „Managed Folder Assistant“ einmal laufen. Er lässt sich nur aus der PowerShell mit dem Commandlet Start-ManagedFolderAssistant starten. Anja Zimmer findet nun die drei zusätzlichen Ordner in der Hierarchie ihres Postfachs (siehe Abbildung 3) und kann fröhlich anfangen, E-Mails zu verschieben.

Allerdings wird zunächst nichts mit den einsortierten Objekten passieren. Die Weiterleitung findet erst beim nächsten Lauf des Managed Folder Assistant statt. Es bietet sich an, über eine automatische Ausführung desselben nachzudenken. Einen entsprechenden Schedule richtet man einfach wieder über die EMC ein, und zwar unter Server Configuration -> Mailbox. Dort selektiert man den Mailbox-Server, auf dem Anjas Postfach liegt, öffnet die Eigenschaften und wechselt zum Reiter „Messaging Records Management“. Der Managed Folder Assistant muss auf jedem Mailbox-Server laufen, auf dem sich entsprechend konfigurierte Postfächer befinden. Somit wäre die Konnektivität zwischen den Postfächern und MOSS hergestellt, und die Arbeit am eigentlichen Workflow kann beginnen.

Grundsätzlich macht der IT-Professional bei der Beschäftigung mit MOSS-Workflows neue Erfahrungen: Er nimmt Kontakt zu anderen Abteilungen auf und arbeitet eng mit dem Marketing, der Qualitätssicherung oder in diesem Beispiel mit der Personalabteilung zusammen. Hierbei ist es wichtig, eine gemeinsame Sprache zu finden. Vorhandene Prozesse, die meist nur in den Köpfen existieren, müssen schriftlich fixiert und am besten anhand eines Diagramms aufgezeichnet werden. So kann sich herausstellen, wie komplex selbst die Workflows sein können, die man zu Beginn als einfach eingestuft hat.

Die eigentliche Workflows-Konfiguration im MOSS soll nun beispielhaft anhand der Absagen-Library erfolgen.

Über die GUI (Website) können vier mitgelieferte, einfache Workflows konfiguriert werden. Dabei geht es hauptsächlich um Genehmigungsprozesse. Dokumente lassen sich in eine Document Library stellen, E-Mails an Verantwortliche schicken und nach dem Approval alle Beteiligten informieren. Macht man einen IT-fernen Anwender auf diese Möglichkeiten aufmerksam, bekommt der sofort „Hunger auf mehr“. Der lässt sich allerdings ohne Zusatztools nicht stillen, womit nun das eigentliche MOSS-Workflow-Werkzeug ins Spiel kommt: der Sharepoint Designer (SPD).

Workflows lassen sich in Sharepoint mit Listen assoziieren. Im SPD verbindet sich der Entwickler zuerst mit einer Sharepoint Site. In unserem Beispiel mit der vorhin angelegten HR-Site http://moss.echte-programmierer.de/hr. Über File -> New -> Workflow öffnet man einen Dialog, wobei sich die erste Frage auf die Liste für den Workflow bezieht. Zudem kann man zwischen drei Trigger wählen:

  • ein neues Element in der Liste,
  • die Ă„nderung eines Elementes in der Liste,
  • Befehl des Anwenders.

Alle drei Auslöser sind miteinander kombinierbar.

Auf dem nächsten Screen dreht sich alles um Bedingungen und Aktionen, hier schlägt sozusagen das Herz des Workflows, denn im Endeffekt lässt sich jeder Workflow auf diese beiden Elemente herunterbrechen. Man kann mehrere Bedingungen über „und“ und „oder“ verknüpfen, wobei die Bedingungen aus Feldern der Liste und Werten bestehen.