Exemplarische Vorgehensweise: Importieren eines wiederverwendbaren Workflows aus SharePoint-Designer in Visual Studio

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

Im SharePoint-Designer erstellte Workflows oder deklarative Workflows bestehen nicht aus Code, sondern aus XML-Anweisungen.Der SharePoint-Designer 2010 führt wiederverwendbare Workflows ein, die portable, deklarative Workflows sind, die von anderen Listen in SharePoint-Websites verwendet werden können.

Die Workflow, die in Visual Studio 2012, wie sequenzielle und Zustandsautomatworkflows erstellt, werden als Codeworkflows aufgerufen.Codeworkflows bestehen aus XML-Dateien und Codemodulen, in denen Benutzer das Verhalten des Workflows anpassen können.

Visual Studio ermöglicht es Ihnen, die wiederverwendbaren Workflows importieren, im SharePoint-Designer 2010 und an zur Verwendung in den SharePoint-Websites in Codeworkflows konvertieren erstellt werden.

Diese exemplarische Vorgehensweise enthält die folgenden Aufgaben:

  • Erstellen eines einfachen, wiederverwendbaren Workflows im SharePoint-Designer.

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

  • Importieren der WSP-Datei in Visual Studio mit dem Projekttyp Wiederverwendbaren Workflow importieren.

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

  • Verwenden des importierten Workflows in einer SharePoint-Website.

HinweisHinweis

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

Erstellen von SharePoint-Zielunterwebsites

Zunächst erstellen Sie zwei neue SharePoint-Unterwebsites: eine zum Hosten der wiederverwendbaren Workflows des SharePoint-Designers und eine zum Hosten der konvertierten Workflows.

So erstellen Sie SharePoint-Unterwebsites

  1. In SharePoint Designer 2010 auf der Menüleiste, wählen Sie Datei, Neue leere Website aus.

  2. Im Dialogfeld Neue leere Website durchsuchen Sie zu einer SharePoint-Website, in der Sie den Workflow erstellen möchten, oder verwenden Sie den Wert http://SystemName/und dann die Schaltfläche OK aus.

    Die Homepage wird angezeigt.

  3. Im Abschnitt Unterwebsites wählen Sie die Schaltfläche Neu aus.

  4. Im Dialogfeld wählen Sie NeuSharePoint-Vorlagen aus der Liste im linken Bereich aus, und wählen Sie Teamwebsite aus der Liste im rechten Bereich aus.

  5. Im Feld Geben Sie den Standort der Website an ersetzen Sie das Wort Unterwebsite in der URL durch "SPD1", und wählen Sie dann die Schaltfläche OK aus.

    Hiermit wird die neue Unterwebsite im SharePoint-Designer geöffnet.Schließen Sie diese Instanz des SharePoint-Designers, und wechseln Sie wieder zur ersten Instanz (der Website der obersten Ebene).

  6. Wiederholen Sie die Schritte 3 bis 5, um die zweite Unterwebsite zu erstellen. Ersetzen Sie diesmal das Wort Unterwebsite in URL durch "SPD2".

Erstellen eines wiederverwendbaren SharePoint-Designerworkflows

Da SharePoint keine wiederverwendbaren Workflows einschließt, die Sie für dieses Beispiel verwenden können, erstellen Sie einen.Wenn in diesem einfachen Workflow ein Benutzer eine neue Aufgabe mit einem bestimmten Titel in der Aufgabenliste eingibt,wird diesem Benutzer die Aufgabe zugewiesen.

So erstellen Sie einen wiederverwendbaren SharePoint-Designerworkflow

  1. Im Abschnitt Unterwebsites wählen Sie die SPD1 Website, um sie zu ändern.

  2. Klicken Sie im Menüband wählen Sie die Schaltfläche Wieder verwendbarer Workflow aus.

    Der Assistent zum Erstellen von wiederverwendbaren Workflows wird angezeigt.

  3. Im Feld Name geben Sie SPD-Aufgaben-Workflow ein.

  4. In der Liste wählen Sie InhaltstypAufgabe aus und wählen dann die Schaltfläche OK aus.

    Der Workflow wird im SharePoint-Workflowdesigner geöffnet.

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

  6. In der Liste der Bedingungen, wählen Sie Wenn das aktuelle Elementfeld gleich Wert ist aus.

    In diesem Schritt wird eine Bedingung hinzu, die Wenn Feld gleich Wert genannt wird.

  7. In Wenn Feld gleich Wert Zustand wählen Sie den Feld Link aus.

  8. In der Liste der Werte, wählen Sie Titel aus.

  9. In Wenn Feld gleich Wert Zustand wählen Sie den value Link aus.

  10. Geben Sie im Feld New task ein.

    Die Bedingungsanweisung lautet jetzt Aktuelles Element:Wenn Titel gleich New task.

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

  12. In der Liste der Aktionen, wählen Sie Feld im aktuellen Element festlegen aus.

  13. In der Feld auf Wert festlegen Aktion wählen Sie den Feld Link, und wählen Sie dann in der Liste auswählen, Zugewiesen zu aus.

  14. In der Feld auf Wert festlegen Aktion wählen Sie den value Link, und wählen Sie dann in der Liste der vorhandenen Benutzer und Gruppen aus, wählen Der Benutzer, der die Arbeitsaufgabe erstellt hat aus.

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

    Die Aktionsanweisung lautet jetzt Festlegen von Zugwiesen auf Aktuelles Element:CreatedBy.

Speichern und Bereitstellen des wiederverwendbaren Workflows

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

Wichtiger HinweisWichtig

Wenn beim Ausführen der folgenden Prozedur ein Laufzeitfehler auftritt, müssen Sie die Prozedur auf einem System ausführen, das über Zugriff auf die SharePoint-Website verfügt.

So speichern und stellen Sie den wiederverwendbaren Workflow bereit

  1. Am Anfang des SharePoint Designer Speichern verwenden Sie die Schaltfläche, um den Status zu speichern, und wählen Sie dann die Schaltfläche Veröffentlichen, um den Workflow zur SPD1 SharePoint-Website bereitzustellen.

  2. im Navigationsbereich wählen Sie das Workflows-Objekt.

  3. Die Wieder verwendbarer Workflow wählen Sie SPD Task Workflow aus.

  4. Klicken Sie im Menüband Als Vorlage speichern verwenden Sie die Schaltfläche, 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. Klicken Sie auf der Schnellstartleiste wählen Sie den Bibliotheken Link aus.

  7. Im Abschnitt Dokumentbibliotheken wählen Sie den Websiteobjekte Link aus.

    Die Datei SPD-Aufgabenworkflow wird zusammen mit anderen Websiteobjekten aufgeführt.

  8. In der Liste der Dateien, wählen Sie den Namen dieser Datei aus

  9. Im Dialogfeld Dateidownload wählen Sie die Schaltfläche Speichern, um die WSP-Datei auf dem lokalen System zu speichern.

Importieren der WSP-Datei in Visual Studio

Importieren Sie die WSP-Datei mit dem Projekt Wiederverwendbaren Workflow importieren in Visual Studio.Dieses Projekt konvertiert den Workflow von einem wiederverwendbaren, deklarativen Workflow in einen Codeworkflow.Nachdem der Workflow konvertiert wurde, verwenden Sie Code, um sein Verhalten zu ändern.

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

  1. In Visual Studio auf der Menüleiste, wählen Sie Datei, Neu, Projekt aus.

  2. Im Dialogfeld Neues Projekt erweitern Sie den Knoten SharePoint entweder mit Visual C# oder Visual Basic, und wählen Sie dann den Knoten 2010 aus.

  3. Vorlagen im Bereich die Vorlage aus Wiederverwendbaren SharePoint 2010-Workflow importieren, lassen Sie den Namen des Projekts als WorkflowImportProject1, und wählen Sie dann die Schaltfläche OK aus.

    Der Assistent zum Anpassen von SharePoint wird angezeigt.

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

  5. Im Wie lautet die Vertrauensebene für diese SharePoint-Lösung?-Abschnitt aktivieren Sie das Optionsfeld Als Farmlösung bereitstellen, und wählen Sie dann die Schaltfläche Weiter aus.

    Weitere Informationen über Sandkastenlösungen im Vergleich zu Farmlösungen finden Sie in Überlegungen zu Sandkastenlösungen.

  6. Auf der Seite Neue Projektquelle angeben navigieren Sie zu dem Speicherort im System, in dem Sie zuvor die WSP-Datei gespeichert haben, öffnen Sie die Datei auswählen und dann die Schaltfläche Weiter.

    HinweisHinweis

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

    Dadurch wird eine Liste wiederverwendbarer Workflows angezeigt, die zum Importieren verfügbar sind.

  7. Im Feld Zu importierende Elemente auswählen wählen Sie den SPD Task Workflow Workflow aus, und wählen Sie dann die Schaltfläche Fertig stellen aus.

    Nach Abschluss des Importvorgangs wird ein Projekt mit dem Namen WorkflowImportProject1 erstellt, das einen Workflow SPD_Workflow_TestFT enthält.Dieser Ordner enthält die Definitionsdatei "Elements.xml" des Workflows und die Workflow-Designerdatei (.xoml).Der Designer enthält zwei Dateien: die Regeldatei (.rules) und die Code-Behind-Datei (entweder .cs oder .vb, abhängig von der Programmiersprache des Projekts).

  8. In Projektmappen-Explorer löschen Sie den Ordner Andere importierte Dateien.

  9. In der Datei Elements.xml löschen Sie InstantiationURL="_layouts/IniErkflIP.sspx".

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

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

  11. Da die Wiederverwendbaren SharePoint 2010-Workflow importieren Vorlage nicht die Zuordnungseigenschaftswerte für den importierten Workflow importiert werden, müssen Sie sie eingeben.Gehen Sie dazu wie folgt vor:

    1. In Projektmappen-Explorer wählen Sie den Knoten SPD_Workflow_TestFT aus.

    2. Wählen Sie die Schaltfläche mit den Auslassungspunkten (Auslassungszeichen im ASP.NET Mobile-Designer) neben einer der Listeneigenschaften, wie der Eigenschaft Zielliste aus.

    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 aus, wählen Sie Ansicht, Designer, um den importierten Workflow im Workflow-Designer anzuzeigen.

  13. Im Knoten Windows Workflow v3.0Werkzeugkasten, führen Sie einen der folgenden Schritte aus:

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

    • Ziehen Sie die Aktivität Code von Werkzeugkasten zum Workflow-Designer, und schließen Sie sie mit der Zeile unter der Aktivität SequenceActivity1.

    Hiermit wird dem Workflow-Designer eine Aktivität mit dem Namen CodeActivity1 hinzugefügt.In dieser Aktivität fügen Sie eine Codeaktion hinzu, die in der Ankündigungsliste eine Ankündigung erstellt, wenn der Benutzer den Workflow startet.

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

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

    • Im Fenster Eigenschaften für CodeActivity1, legen Sie den Wert der - Eigenschaft auf ExecuteCodecodeActivity_ExecuteCode fest.

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

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

    Private Sub codeActivity1_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Try
            ' Get reference to SharePoint site.
            Dim site As SPSite = New SPSite("http://MyServer")
            Dim web As SPWeb = site.OpenWeb("SPD2/")
            ' Get reference to Announcements list.
            Dim announcementsList As SPList = web.Lists("Announcements")
            ' Add announcement to Announcements list for the Task.
            Dim oListItem As SPListItem = announcementsList.Items.Add
            oListItem("Title") = ("Assigned task on " + DateTime.Now.ToString)
            oListItem.Update()
        Catch err As Exception
            Console.WriteLine(("Error: " + err.ToString))
        End Try
    End Sub
    
    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 nun WorkflowImportProject1 zum Bereitstellen auf einer SharePoint-Website aus, und ordnen Sie den Workflow anschließend 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. In Visual Studio wählen Sie die F5-TASTE, um das konvertierte Workflowprojekt auszuführen und bereitzustellen.

  2. Klicken Sie auf der Schnellstartleiste wählen Sie den Aufgaben Link, um die Aufgabenliste anzuzeigen.

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

    Das Dialogfeld wird geöffnet. Aufgaben - Neues Element

  4. Im Feld geben Sie Titel neue Aufgabe ein, und wählen Sie dann die Schaltfläche Speichern aus.

  5. Listentools auf der Registerkarte die Schaltfläche List aus, und wählen Sie dann die Schaltfläche Listeneinstellungen aus.

    Die Seite Listeneinstellungen angezeigt wird.

  6. Im Abschnitt Berechtigungen und Verwaltung wählen Sie den Workfloweinstellungen Link aus.

    Die Seite Workfloweinstellungen angezeigt wird.

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

  8. In der Liste wählen Sie WorkflowWorkflowImportProject1 - SPD Workflow Test aus.

  9. Name Sie im Feld den Namen " SPD Workflow Test ein, und wählen Sie dann die Schaltfläche OK aus.

  10. Klicken Sie auf der Schnellstartleiste wählen Sie die Liste Aufgaben aus.

  11. Wählen Sie den Pfeil neben Neue Aufgabe, und dann, in der Liste aus, wählen Sie Workflows aus.

  12. Im Abschnitt Neuen Workflow starten wählen Sie den Link für SPD Workflow Test aus, und wählen Sie dann die Schaltfläche Start, um den Workflow zu initiieren.

    HinweisHinweis

    Alternativ kann ein Workflow automatisch einer Liste zugeordnet werden, indem Sie den Workfloweinstellungs-Assistenten ausführen und den Workflow auf automatische Zuordnung festlegen.

    Beachten Sie, dass der Workflow zwei Aktionen ausführt: Ihr Name wird in der Spalte Zugewiesen an der Aufgabe angezeigt, und in der Liste Ankündigungen wird eine Ankündigung angezeigt.

Siehe auch

Konzepte

Importieren von Elementen aus einer vorhandenen SharePoint-Website

Weitere Ressourcen

Entwickeln von SharePoint-Lösungen

Erstellen von wiederverwendbaren Steuerelementen für Webparts oder Anwendungsseiten