Workflow Integration in Collaboration Manager

Der Collaboration Manager lässt sich mit Workflow Engines integrieren. Das macht Sinn, damit Sie Ihre Business Logik in der Provisionierung abbilden können. Genauer gesagt unterstützt ein Workflow in den Schritten Antrag, Genehmigung und Generierung. In der standardmäßigen Konfiguration, provisioniert der Collaboration Manager direkt nach dem Erstellen eines neuen Listeintrages in der Workspace Liste.
clip_image001

Collaboration Manager Provisionierung auf manuell stellen Site Collection Collaboration Manager aufrufen – Site Settings – Collaboration Manager – Workspace Creation auf manuell “Workspace creation by custom workflow or web service” stellen.

Welche Workflows werden unterstützt:

  • SharePoint 2010 Workflow Engine mit SharePoint Designer (und damit SP 2010 / 2013)
  • Nintex
  • K2

In diesem Artikel beschreibe ich die Einrichtung der Workflows. Nun können Sie z.B. ein Freigabeworkflow bauen, der entscheidende Schritt am Ende ist es, dem Collaboration Manager anzustoßen, damit der Workspace erstellt wird. Dies erfolgt durch den Aufruf eines Web Service. Damit in einem SharePoint 2010 Workflow ein Web Service aufgerufen werden kann, liefern wir eine extra Solution aus, die im SharePoint Designer eine weitere Aktion hinzufügt.

SharePoint Designer

Solution herunterladen: https://onedrive.live.com/?authkey=%21ACwmDW6i%5FjMjGH4&id=16C2CFEB0F28406C%21206&cid=16C2CFEB0F28406C Solution installieren: Solutions2Share.Solutions.WorkflowActivities2013.wsp

001

Add-SPSolution -LitheralPath C:installSolutions2Share.Solutions.WorkflowActivities2013.wsp | Install-SPSolution -GACDeployment -WebApplication ‘<url of CM Web Application>’

Site Collection Feature aktivieren:

  • Workflows
  • Solutions2Share – Workflow Designer Workflow Actions

clip_image002
Anschließend können Sie den SharePoint Designer 2013 starten und sich mit der Site Collection, auf der der Collaboration Manager installiert ist, öffnen. Anschließend wählen Sie aus dem Ribbon ein neuen Workflow. Wählen Sie bei Plattform “SharePoint 2010” Workflow.
clip_image003
Sofern der SharePoint Designer Workflow Action Solution hinzugefügt und aktiviert wurde, steht als benutzerdefinierte Aktion “Call a Webservice” zur Verfügung.  Als Adresse für den Web Service Aufruf verwenden Sie bitte die URL zur Collaboratio Manager Site Collection im Format <URL Web Application>/<Managed Path>/<Site Collection>/_layouts/15/Solutions2Share/CM/CMService.asmx z.B.: http://portal.contoso.com/sites/selfservice/_layouts/15/Solutions2Share/CM/CMService.asmx Sie können die Seite direkt im Browser öffnen um korrekte URL zu testen.

  • SOAP 1.1
  • Action = Leer
  • Als Parameter bzw. SOAP Request geben Sie ein XML an, das wie folgt aussieht. Sie können einige Optionen per Variable ausfüllen lassen:
<?xml version=”1.0″ encoding=”utf-8″?>
<soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
  <soap:Body>
    <CreateWorkspaceFromTemplate xmlns=”http://tempuri.org”>
      <siteurl xmlns=”http://tempuri.org”>{Common:WebUrl}</siteurl>
      <SiteTitle xmlns=”http://tempuri.org”>{ItemProperty:Title}</SiteTitle>
      <lcid xmlns=”http://tempuri.org”>0</lcid>
      <ownerid xmlns=”http://tempuri.org”>1</ownerid>
      <workspacelistitemid xmlns=”http://tempuri.org”>{WorkflowVariable:ItemID}</workspacelistitemid>

 

    </CreateWorkspaceFromTemplate>
  </soap:Body>
</soap:Envelope>

Eine genaue Beschreibung der Parameter ist hier im Installationsordner unter “DocumentationCollaboration_Manager_2013_WebService.pdf” – hier die wichtigsten Optionen:

  • Siteurl = URL zur Collaboration Manager Website
  • Site Title = Der Titel, der anzulegenden Website, hier macht es Sinn das per Variable auszulesen
  • Lcid = Sprache der Zielseite
  •     0 = Sprache der CM Site Collection,
  •     1033 = Englisch,
  •     1031 = Deutsch
  • Owner ID = Site Collection Administrator, dies muss in Form einer ID des Benutzer aus der Collaboration Manager Site Collection abgerufen werden, z.B. indem ich einen Benutzer in die CM Site Collection hinzufüge, die ID aus der URL auslese und hier dann statisch hinterlege.
  • Workspacelistitemid = ID des Listeintrages in der Workspace Liste, das angelegt werden soll.
  • User ID und Kennwort, hier muss der SharePoint Farm Account angegeben werden.

clip_image004

Nintex

Stellen Sie sicher, dass auf der Collaboration Manager Site Collection Nintex Workflows aktiviert sind. Anschließend erstellen Sie einen neuen Nintex Workflow. Fügen Sie eine weitere Action “Call a web service” hinzu.  Als Adresse für den Web Service Aufruf verwenden Sie bitte die URL zur Collaboratio Manager Site Collection im Format <URL Web Application>/<Managed Path>/<Site Collection>/_layouts/15/Solutions2Share/CM/CMService.asmx z.B.: http://portal.contoso.com/sites/selfservice/_layouts/15/Solutions2Share/CM/CMService.asmx Sie können die Seite direkt im Browser öffnen um korrekte URL zu testen.  Melden Sie sich mit dem SharePoint Farm Account an und klicken auf “Refresh”. Anschließen wählen Sie als Funktion CreateWorkspacefromTemplate aus. Editor mode: SOAP builder clip_image005

Die Variablen können Sie analog zum Abschnitt SharePoint Designer ausfüllen. Da das Erstellen einer Site Collection meist länger als eine Minute dauert, kann es passiert es oft, dass SharePoint den Workflow mit einem “Timeout” abbricht – dadurch wird ein Fehler erzeugt der unnötig ist. Im Nintex Workflow muss man dazu in der Fehlerbehandlung einfach einstellen, Fehler abfangen / weiter behandeln (wie im vorherigen Screenshot, etwas weiter unten).