Freigeben über


Exemplarische Vorgehensweise: Importieren eines wiederverwendbaren Workflows aus SharePoint Designer

In dieser exemplarischen Vorgehensweise wird gezeigt, wie ein in SharePoint Designer 2010 erstellter wiederverwendbarer Workflow in ein Visual Studio SharePoint-Workflowprojekt importiert wird.

Workflows, die in SharePoint Designer erstellt wurden, oder deklarative Workflows bestehen aus XML-Anweisungen anstelle von Code. Mit SharePoint Designer 2010 wurden wiederverwendbare Workflows eingeführt. Hierbei handelt es sich um portierbare deklarative Workflows, die von verschiedenen Listen in SharePoint-Websites verwendet werden können.

Workflows, die in Visual Studio 2012 erstellt wurden, z. B. sequenzielle Workflows und Zustandsautomatworkflows, werden als Codeworkflowsbezeichnet. Codeworkflows bestehen aus XML-Dateien und Codemodulen, in denen Benutzer*innen das Verhalten des Workflows anpassen können.

Mit Visual Studio können Sie in SharePoint Designer 2010 erstellte wiederverwendbare Workflows importieren und zur Verwendung in SharePoint-Websites in Codeworkflows konvertieren.

Diese exemplarische Vorgehensweise enthält die folgenden Aufgaben:

  • Erstellen eines einfachen, wiederverwendbaren Workflows in SharePoint Designer.

  • Exportieren des wiederverwendbaren SharePoint Designer-Workflows in eine WSP-Datei und in SharePoint.

  • Importieren der WSP-Datei in Visual Studio mithilfe des Projekts „Wiederverwendbaren Workflow importieren“.

  • Ändern des Workflows durch Hinzufügen von Code.

  • Verwenden des importierten Workflows auf einer SharePoint-Website.

    Hinweis

    Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren der IDE.

Voraussetzungen

Zum Abschließen dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

  • Unterstützte Editionen von Microsoft Windows und SharePoint.

  • Visual Studio.

  • Microsoft Office SharePoint Designer 2010.

Erstellen von SharePoint-Unterwebsites als Ziel

Zuerst erstellen Sie zwei neue SharePoint-Unterwebsites: eine zum Hosten der wiederverwendbaren Workflows aus SharePoint Designer, eine andere zum Hosten der konvertierten Workflows.

So erstellen Sie SharePoint-Unterwebsites

  1. Wählen Sie in SharePoint Designer 2010 in der Menüleiste Datei>Neue leere Website aus.

  2. Navigieren Sie im Dialogfeld Neue leere Website zu einer SharePoint-Website, auf der Sie den Workflow erstellen möchten, oder verwenden Sie den Wert http://SystemName/, und wählen Sie die Schaltfläche OK aus.

    Die Startseite wird angezeigt.

  3. Wählen Sie im Abschnitt Unterwebsites die Schaltfläche Neue aus.

  4. Wählen Sie im Dialogfeld Neue in der Liste im linken Bereich SharePoint-Vorlagen und dann in der Liste im rechten Bereich Teamwebsite aus.

  5. Ersetzen Sie im Feld Geben Sie den Speicherort der Website an das Wort subsite in der URL durch SPD1, und klicken Sie die Schaltfläche OK.

    Dadurch wird die neue Unterwebsite in SharePoint Designer geöffnet. Schließen Sie diese Instanz von SharePoint Designer, und wechseln Sie zurück zur ersten Instanz (der Website auf oberster Ebene).

  6. Wiederholen Sie die Schritte 3 bis 5, um die zweite Unterwebsite zu erstellen. Dieses Mal ersetzen Sie das Wort subsite in der URL durch SPD2.

Erstellen eines wiederverwendbaren SharePoint Designer-Workflows

Da SharePoint keine wiederverwendbaren Workflows enthält, die Sie für dieses Beispiel verwenden können, erstellen Sie einen. Wenn ein Benutzer oder eine Benutzerin bei diesem einfachen Workflow eine neue Aufgabe mit einem bestimmten Titel in die Aufgabenliste eingibt, wird die Aufgabe diesem Benutzer bzw. dieser Benutzerin zugewiesen.

So erstellen Sie einen wiederverwendbaren SharePoint Designer-Workflow

  1. Wählen Sie im Abschnitt Unterwebsites die Website SPD1 aus, um sie zu ändern.

  2. Wählen Sie im Menüband die Schaltfläche Wiederverwendbaren Workflow aus.

    Der Assistent zum Erstellen wiederverwendbarer Workflows wird angezeigt.

  3. Geben Sie im Feld Name den Namen SPD-Aufgabenworkflow ein.

  4. Wählen Sie in der Liste Inhaltstyp den Typ Aufgabe aus, und klicken Sie dann auf die Schaltfläche OK.

    Der Workflow wird im SharePoint Designer-Workflow-Designer geöffnet.

  5. Wählen Sie im Workflow-Designer Schritt 1 aus, und klicken Sie dann im Menüband auf die Schaltfläche Bedingung.

  6. Wählen Sie in der Liste der Bedingungen Wenn das aktuelle Elementfeld gleich Wert ist aus.

    In diesem Schritt wird die Bedingung mit dem Namen Wenn das aktuelle Elementfeld gleich Wert ist hinzugefügt.

  7. Wählen Sie in der Bedingung Wenn das aktuelle Elementfeld gleich Wert ist den Link Feld aus.

  8. Wählen Sie in der Liste der Werte Titel aus.

  9. Wählen Sie in der Bedingung Wenn das aktuelle Elementfeld gleich Wert ist den Link Wert aus.

  10. Geben Sie in das Feld Neue Aufgabe ein.

    Die Bedingungsanweisung lautet nun Wenn das aktuelle Elementfeld:Titel ist gleich neue Aufgabe.

  11. Wählen Sie die Zeile unter der Bedingungsanweisung und dann im Menüband die Schaltfläche Aktion aus.

  12. Wählen Sie in der Liste der Aktionen Feld im aktuellen Element festlegen aus.

  13. Wählen Sie in der Aktion Feld auf Wert festlegen den Link Feld und anschließend in der Liste Zugewiesen zu aus.

  14. Wählen Sie in der Aktion Feld auf Wert festlegen den Link Wert und anschließend in der Liste der vorhandenen Benutzer*innen und Gruppen Benutzer, der das Element erstellt hat aus.

  15. Wählen Sie die Schaltfläche Hinzufügen und dann die Schaltfläche OK aus.

    Die Aktionsanweisung lautet nun „Zugewiesen zu“ auf aktuelles Element festlegen:CreatedBy.

Speichern und Bereitstellen des wiederverwendbaren Workflows

Da in Visual Studio nur WSP-Dateien importieren werden können, müssen Sie den wiederverwendbaren Workflow als WSP-Datei speichern und in SharePoint bereitstellen, bevor Sie ihn in Visual Studio importieren.

Wichtig

Wenn Sie bei Durchführung des folgenden Verfahrens einen Laufzeitfehler erhalten, müssen Sie die Prozedur auf einem System ausführen, über das auf die SharePoint-Website zugegriffen werden kann.

So speichern Sie wiederverwendbaren Workflows und stellen sie bereit

  1. Wählen Sie oben in SharePoint Designer die Schaltfläche Speichern aus, um den Fortschritt zu speichern, und klicken Sie dann auf die Schaltfläche Veröffentlichen, um den Workflow auf der SharePoint-Website SPD1 bereitzustellen.

  2. Wählen Sie im Navigationsbereich das Objekt Workflows aus.

  3. Wählen Sie unter Wiederverwendbarer Workflow den Workflow SPD-Aufgabenworkflow aus.

  4. Wählen Sie im Menüband die Schaltfläche Als Vorlage speichern aus, um den Workflow als WSP-Datei zu speichern.

  5. Öffnen Sie die SharePoint-Website SPD1 in einem Browser, um die WSP-Datei in SharePoint anzuzeigen.

  6. Wählen Sie auf der Schnellstartleiste den Link Bibliotheken aus.

  7. Wählen Sie im Abschnitt Dokumentbibliotheken den Link Websiteobjekte aus.

    Die Datei SPD-Aufgabenworkflow wird mit anderen Websiteressourcen aufgelistet.

  8. Wählen Sie in der Liste der Dateien den Namen dieser Datei aus.

  9. Wählen Sie im Dialogfeld Dateidownload die Schaltfläche Speichern aus, um die WSP-Datei im lokalen System zu speichern.

Importieren der WSP-Datei in Visual Studio

Importieren Sie die WSP-Datei mithilfe des Projekts „Wiederverwendbaren Workflow importieren“ in Visual Studio. Bei diesem Projekt wird der Workflow aus einem wiederverwendbaren, deklarativen Workflow in einen Codeworkflow konvertiert. Nachdem der Workflow konvertiert wurde, verwenden Sie Code, um sein Verhalten zu ändern.

So importieren Sie einen Workflow aus einer WSP-Datei und ändern ihn

  1. Wählen Sie in der Menüleiste von Visual Studio Datei>Neu>Projekt aus.

  2. Erweitern Sie im Dialogfeld Neues Projekt den Knoten SharePoint unter Visual C# oder unter Visual Basic, und wählen Sie dann den Knoten 2010 aus.

  3. Wählen Sie im Bereich Vorlagen die Vorlage Wiederverwendbaren SharePoint 2010-Workflow importieren aus. Übernehmen Sie den Namen des Projekts (WorkflowImportProject1), und klicken Sie auf die Schaltfläche OK.

    Der Assistent zum Anpassen von SharePoint wird angezeigt.

  4. Geben Sie auf der Seite Website und Sicherheitsebene für Debuggen angeben die URL für die zweite SharePoint-Unterwebsite ein, die Sie zuvor erstellt haben: http://Systemname/SPD2.

  5. Wählen Sie im Abschnitt Wie lautet die Vertrauensebene für diese SharePoint-Lösung? die Optionsschaltfläche Als Farmlösung bereitstellen und dann die Schaltfläche Weiter aus.

    Weitere Informationen zu Sandboxlösungen im Vergleich zu Farmlösungen finden Sie unter Überlegungen zu Sandboxlösungen.

  6. Navigieren Sie auf der Seite Neue Projektquelle angeben zu dem Speicherort auf dem System, an dem Sie zuvor die WSP-Datei gespeichert haben, öffnen Sie die Datei, und wählen Sie dann die Schaltfläche Weiter aus.

    Hinweis

    Wählen Sie die Schaltfläche Fertig stellen aus, um alle verfügbaren Elemente in der WSP-Datei zu importieren.

    Daraufhin wird eine Liste der wiederverwendbaren Workflows angezeigt, die für den Import verfügbar sind.

  7. Wählen Sie im Feld Zu importierende Elemente auswählen den Workflow SPD-Aufgabenworkflow und dann die Schaltfläche Fertig stellen aus.

    Nach Abschluss des Importvorgangs wird ein Projekt mit dem Namen WorkflowImportProject1 erstellt, das einen Workflow mit dem Namen SPD_Workflow_TestFT enthält. In diesem Ordner ist die Definitionsdatei des Workflows Elements.xml und die Workflow-Designerdatei (XOML). Der Designer enthält zwei Dateien: die Regeldatei (RULES) und die CodeBehind-Datei (je nach Programmiersprache des Projekts entweder CS oder VB-).

  8. Löschen Sie im Projektmappen-Explorer den Ordner Andere importierte Dateien.

  9. Löschen Sie in der Datei Elements.xmlInstantiationURL="_layouts/IniErkflIP.sspx".

  10. Wählen Sie im Projektmappen-Explorer das Projekt WorkflowImportProject1 aus, und wählen Sie in der Menüleiste Projekt>Als Startprojekt festlegen aus, um WorkflowImportProject1 als Startelement festzulegen.

    Dadurch wird die Liste sofort angezeigt, wenn Sie das Projekt debuggen.

  11. Da mit der Vorlage Wiederverwendbaren SharePoint 2010-Workflow importieren die Werte der Zuordnungseigenschaft für den importierten Workflow nicht importiert werden, müssen Sie sie eingeben. Gehen Sie dazu folgendermaßen vor:

    1. Wählen Sie im Projektmappen-Explorer den Knoten SPD_Workflow_TestFT aus.

    2. Wählen Sie die Schaltfläche mit den Auslassungspunkten (ASP.NET Mobile Designer ellipse) neben einer der Listeneigenschaften aus, z. B. neben der Eigenschaft Zielliste.

    3. Füllen Sie die fehlenden Werte im Assistenten zum Anpassen von SharePoint aus, und wählen Sie dann die Schaltfläche Fertig stellen aus.

  12. Wählen Sie die XOML-Datei und dann in der Menüleiste Ansicht>Designer aus, um den importierten Workflow im Workflow-Designer anzuzeigen.

  13. Führen Sie im Knoten Windows Workflow v3.0 der Toolbox einen der folgenden Schritte aus:

    • Öffnen Sie das Kontextmenü für die Codeaktivität, und wählen Sie Kopieren aus. Öffnen Sie im Workflow-Designer das Kontextmenü für die Zeile unter der Aktivität SequenceActivity1, und wählen Sie dann Einfügen aus.

    • Ziehen Sie die Codeaktivität aus der Toolbox in den Workflow-Designer, und verbinden Sie sie mit der Zeile unter der Aktivität SequenceActivity1.

      Dadurch wird dem Workflow-Designer eine Aktivität mit dem Namen CodeActivity1 hinzugefügt. Bei dieser Aktivität fügen Sie eine Codeaktion hinzu, mit der in der Liste „Ankündigungen“ eine Ankündigung erstellt wird, wenn Benutzer*innen den Workflow starten.

  14. Führen Sie einen der folgenden Schritte aus:

    • Doppelklicken Sie auf CodeActivity1, um einen Ereignishandler zu generieren und den Code anzuzeigen.

    • Legen Sie im Fenster Eigenschaften für CodeActivity1 den Wert der ExecuteCode-Eigenschaft auf codeActivity_ExecuteCode fest.

  15. Fügen Sie unter den vorhandenen Anweisungen using oder Imports Folgendes hinzu:

    using Microsoft.SharePoint;
    using System;
    
  16. Ersetzen Sie codeActivity1_ExecuteCode durch Folgendes:

    private void codeActivity1_ExecuteCode(object sender, System.EventArgs e)
    {
        
        try
        {
            // Get reference to SharePoint site.
            SPSite site = new SPSite("http://MyServer");
            SPWeb web = site.OpenWeb("SPD2/");
            // Get reference to Announcements list.
            SPList announcementsList = web.Lists["Announcements"];
    
            // Add announcement to Announcements list for the Task.
            SPListItem oListItem = announcementsList.Items.Add();
            oListItem["Title"] = "Assigned task on " + DateTime.Now.ToString();
            oListItem.Update();
        }
    
        catch (Exception err)
        {
            Console.WriteLine("Error: " + err.ToString());
        }        
    }
    

Bereitstellen des Projekts und Zuordnen des Workflows

Führen Sie als Nächstes das Projekt „WorkflowImportProject1“ aus, um es auf einer SharePoint-Website bereitzustellen, und ordnen Sie den Workflow der Aufgabenliste zu, um den geänderten, konvertierten Workflow anzuzeigen und zu testen.

So stellen Sie das Projekt bereit und ordnen den Workflow zu

  1. Drücken Sie in Visual Studio die Taste F5, um das konvertierte Workflowprojekt auszuführen und bereitzustellen.

  2. Wählen Sie in der Schnellstartleiste den Link Aufgaben aus, um die Liste mit Aufgaben anzuzeigen.

  3. Wählen Sie auf der Registerkarte Listentools die Schaltfläche Elemente aus, und klicken Sie dann auf die Schaltfläche Neues Element.

    Daraufhin wird das Dialogfeld Aufgaben – Neues Element geöffnet.

  4. Geben Sie im Feld Titel den Titel Neue Aufgabe ein, und wählen Sie die Schaltfläche Speichern aus.

  5. Klicken Sie auf der Registerkarte Listentools auf die Schaltfläche Listen und dann auf die Schaltfläche Listeneinstellungen.

    Die Seite Listeneinstellungen wird geöffnet.

  6. Wählen Sie im Abschnitt Berechtigungen und Verwaltung den Link Workfloweinstellungen aus.

    Die Seite Workfloweinstellungen wird angezeigt.

  7. Wählen Sie den Link Workflow hinzufügen aus.

  8. Wählen Sie in der Liste Workflow den Eintrag WorkflowImportProject1 – SPD-Workflowtest aus.

  9. Geben Sie im Feld Name den Namen SPD-Workflowtest ein, und klicken Sie auf die Schaltfläche OK.

  10. Wählen Sie in der Schnellstartleiste die Liste Aufgaben aus.

  11. Wählen Sie den Pfeil neben Neue Aufgabe aus und anschließend in der Liste den Eintrag Workflows aus.

  12. Wählen Sie im Abschnitt Neuen Workflow starten den Link für SPD-Workflowtest aus, und klicken Sie auf die Schaltfläche Starten, um den Workflow zu starten.

    Hinweis

    Alternativ können Sie festlegen, dass ein Workflow automatisch einer Liste zugeordnet wird, indem Sie den Assistenten für Workfloweinstellungen ausführen und für den Workflow die automatische Zuordnung festlegen.

    Beachten Sie, dass im Rahmen des Workflows zwei Aktionen ausgeführt werden: In der Spalte Zugewiesen zu der Aufgabe wird Ihr Name und in der Liste Ankündigungen wird eine Ankündigung angezeigt.