Freigeben über


Exemplarische Vorgehensweise: Erstellen und Debuggen einer Projektmappe für einen SharePoint-Workflow

In dieser exemplarischen Vorgehensweise wird das Erstellen einer grundlegenden sequenziellen Workflowvorlage veranschaulicht. Der Workflow überprüft eine Eigenschaft einer freigegebenen Dokumentbibliothek, um festzustellen, ob ein Dokument überprüft wurde. Wenn das Dokument überprüft wurde, wird der Workflow abgeschlossen.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen eines Projekts für einen sequenziellen SharePoint-Workflow mit einer Listendefinition in Visual Studio

  • Erstellen von Workflowaktivitäten

  • Behandeln von Workflowaktivitätsereignissen

Hinweis

In dieser exemplarischen Vorgehensweise wird ein Projekt für einen sequenziellen Workflow verwendet, der Prozess für Zustandsautomatworkflowprojekte ist identisch.

Möglicherweise unterscheiden sich die auf Ihrem Computer angezeigten Namen oder Positionen einiger Visual Studio-Benutzeroberflächenelemente von den Angaben in den folgenden Anweisungen. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren von Visual Studio-IDE.

Voraussetzungen

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

  • Unterstützte Editionen von Microsoft Windows und SharePoint.

  • Visual Studio.

Hinzufügen von Eigenschaften zur SharePoint-Bibliothek für freigegebene Dokumente

Um den Überprüfungsstatus von Dokumenten in der Bibliothek Freigegebene Dokumente nachzuverfolgen, erstellen wir drei neue Eigenschaften für freigegebene Dokumente auf unserer SharePoint-Website: Status, Assignee und Review Comments. Wir definieren diese Eigenschaften in der Bibliothek Freigegebene Dokumente.

So fügen Sie Eigenschaften zur SharePoint-Bibliothek für freigegebene Dokumente hinzu

  1. Öffnen Sie eine SharePoint-Website, z. B. http://<Systemname>/SitePages/Home.aspx, in einem Webbrowser.

  2. Wählen Sie auf der QuickLaunch-Leiste SharedDocuments.

  3. Wählen Sie Bibliothek auf dem Menüband Bibliothekstools, und klicken Sie dann auf dem Menüband auf die Schaltfläche Spalte erstellen, um eine neue Spalte zu erstellen.

  4. Benennen Sie die Spalte Dokumentstatus, legen Sie für den Typ Auswahl (Menü zur Auswahl) fest, geben Sie die folgenden drei Optionen an, und wählen Sie dann die Schaltfläche OK aus:

    • Überprüfung erforderlich

    • Überprüfung abgeschlossen

    • Angeforderte Änderungen

  5. Erstellen Sie zwei weitere Spalten, und nennen Sie sie Zugewiesene Person und Kommentare überprüfen. Legen Sie für den Spaltentyp „Zugewiesene Person“ eine einzelne Textzeile und für den Spaltentyp „Kommentare überprüfen“ mehrere Textzeilen fest.

Ermöglichen der Bearbeitung von Dokumenten ohne Auschecken

Es ist einfacher, die Workflowvorlage zu testen, wenn Sie die Dokumente bearbeiten können, ohne sie auszuchecken. Im nächsten Schritt konfigurieren Sie die SharePoint-Website, um dies zu aktivieren.

So können Dokumente bearbeitet werden, ohne sie auszuchecken

  1. Wählen Sie auf der Schnellstartleiste den Link Freigegebene Dokumente aus.

  2. Wählen Sie im Menüband Bibliothekstools die Registerkarte Bibliothek aus, und wählen Sie dann die Schaltfläche Bibliothekseinstellungen aus, um die Seite Einstellungen für Dokumentbibliothek anzuzeigen.

  3. Wählen Sie im Abschnitt Allgemeine Einstellungen den Link Versionsverwaltungseinstellungen aus, um die Seite Versionsverwaltungseinstellungen anzuzeigen.

  4. Stellen Sie sicher, dass die Einstellung Dokumente müssen ausgecheckt werden, bevor sie bearbeitet werden können auf Nein festgelegt ist. Anderenfalls ändern Sie sie in Nein, und wählen Sie dann die Schaltfläche OK aus.

  5. Schließen Sie den Browser.

Erstellen eines SharePoint-Projekts für einen sequenziellen Workflow

Ein sequenzieller Workflow besteht aus einer Reihe von Schritten, die nacheinander ausgeführt werden, bis die letzte Aktivität abgeschlossen ist. In diesem Verfahren erstellen wir einen sequenziellen Workflow, der auf die Liste „Freigegebene Dokumente“ angewendet wird. Im Workflow-Assistenten können Sie den Workflow der Website- oder der Listendefinition zuordnen und angeben, wann der Workflow gestartet wird.

So erstellen Sie ein Projekt für einen sequenziellen SharePoint-Workflow

  1. Starten Sie Visual Studio.

  2. Wählen Sie in der Menüleiste Datei>Neu>Projekt aus, um das Dialogfeld Neues Projekt anzuzeigen.

  3. Erweitern Sie unter Visual C# oder Visual Basic den Knoten SharePoint, und wählen Sie dann den Knoten 2010 aus.

  4. Wählen Sie im Vorlagenbereich die Vorlage SharePoint 2010-Projekt aus.

  5. Geben Sie im Feld Name den Namen MySharePointWorkflow ein, und klicken Sie auf die Schaltfläche OK.

    Der Assistent zum Anpassen von SharePoint wird angezeigt.

  6. Aktivieren Sie auf der Seite Website und Sicherheitsebene für Debuggen angeben das Optionsfeld Als Farmlösung bereitstellen, und wählen Sie dann die Schaltfläche Fertig stellen aus, um die Vertrauensebene und die Standardwebsite zu akzeptieren.

    In diesem Schritt wird die Vertrauensebene für die Lösung als Farmlösung festgelegt, die einzige verfügbare Option für Workflowprojekte. Weitere Informationen finden Sie unter Überlegungen zu Sandkastenlösungen.

  7. Wählen Sie im Projektmappen-Explorer den Projektknoten aus, und klicken Sie dann auf der Menüleiste auf Projekt>Neues Element hinzufügen.

  8. Erweitern Sie unter Visual C# oder Visual Basic den Knoten SharePoint, und wählen Sie dann den Knoten 2010 aus.

  9. Wählen Sie im Bereich Vorlagen die Vorlage Sequenzieller Workflow (nur Farmlösung) und dann die Schaltfläche Hinzufügen aus.

    Der Assistent zum Anpassen von SharePoint wird angezeigt.

  10. Übernehmen Sie auf der Seite Workflownamen für das Debuggen angeben den Standardnamen (MySharePointWorkflow – Workflow1). Behalten Sie den Standardwert des Workflowvorlagentyps Listenworkflow bei, und wählen Sie dann die Schaltfläche Weiter aus.

  11. Wählen Sie auf der Seite Soll Visual Studio den Workflow in einer Debugsitzung automatisch zuordnen? die Schaltfläche Weiter aus, um alle Standardeinstellungen zu akzeptieren.

    In diesem Schritt wird der Workflow automatisch der Bibliothek „Freigegebene Dokumente“ zugeordnet.

  12. Lassen Sie auf der Seite Bedingungen zum Starten des Workflows angeben die Standardoptionen im Abschnitt Wie soll der Workflow gestartet werden? ausgewählt, und wählen Sie die Schaltfläche Fertig stellen aus.

    Auf dieser Seite können Sie angeben, wann Ihr Workflow gestartet wird. Standardmäßig wird der Workflow gestartet, wenn ein Benutzer ihn manuell in SharePoint startet oder wenn ein Element erstellt wird, dem der Workflow zugeordnet ist.

Erstellen von Workflowaktivitäten

Workflows enthalten mindestens eine Aktivität, die auszuführende Aktionen darstellt. Verwenden Sie den Workflow-Designer, um Aktivitäten für einen Workflow anzuordnen. In diesem Verfahren fügen wir dem Workflow zwei Aktivitäten hinzu: HandleExternalEventActivity und OnWorkFlowItemChanged. Diese Aktivitäten überwachen den Überprüfungsstatus von Dokumenten in der Liste Freigegebene Dokumente.

So erstellen Sie Workflowaktivitäten

  1. Der Workflow sollte im Workflow-Designer angezeigt werden. Anderenfalls öffnen Sie Workflow1.cs oder Workflow1.vb im Projektmappen-Explorer.

  2. Wählen Sie im Designer die Aktivität OnWorkflowActivated1 aus.

  3. Geben Sie im Fenster EigenschaftenonWorkflowActivated neben der Eigenschaft Invoked ein, und drücken Sie dann die EINGABETASTE.

    Der Code-Editor wird geöffnet, und der Workflow1-Codedatei wird eine Ereignishandlermethode namens onWorkflowActivated hinzugefügt.

  4. Wechseln Sie zurück zum Workflow-Designer, öffnen Sie die Toolbox, und erweitern Sie dann den Knoten Windows Workflow v3.0.

  5. Führen Sie im Knoten Windows Workflow v3.0 der Toolbox eine der folgenden Schrittabfolgen aus:

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

    2. Ziehen Sie die Aktivität While aus der Toolbox in den Workflow-Designer, und verbinden Sie die Aktivität mit der Zeile unter der Aktivität onWorkflowActivated1.

  6. Wählen Sie die Aktivität WhileActivity1 aus.

  7. Stellen Sie im Fenster Eigenschaften für Bedingung „Codebedingung“ ein.

  8. Erweitern Sie die Eigenschaft Bedingung, geben Sie neben der untergeordneten Eigenschaft BedingungisWorkflowPending ein, und drücken Sie dann die EINGABETASTE.

    Der Code-Editor wird geöffnet, und der Workflow1-Codedatei wird eine Methode mit dem Namen isWorkflowPending hinzugefügt.

  9. Wechseln Sie zurück zum Workflow-Designer, öffnen Sie die Toolbox, und erweitern Sie dann den Knoten SharePoint-Workflow.

  10. Führen Sie im Knoten SharePoint-Workflow der Toolbox eine der folgenden Schrittabfolgen aus:

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

    • Ziehen Sie die Aktivität OnWorkflowItemChanged aus der Toolbox in den Workflow-Designer, und verbinden Sie die Aktivität mit der Zeile in der Aktivität whileActivity1.

  11. Wählen Sie die Aktivität onWorkflowItemChanged1 aus.

  12. Legen Sie im Fenster Eigenschaften die in der folgenden Tabelle festgelegten Eigenschaften fest.

    Eigenschaft Wert
    CorrelationToken workflowToken
    Aufgerufen onWorkflowItemChanged

Behandeln von Aktivitätsereignissen

Überprüfen Sie schließlich den Status des Dokuments jeder einzelnen Aktivität. Wenn das Dokument überprüft wurde, ist der Workflow abgeschlossen.

So behandeln Sie Aktivitätsereignisse

  1. Fügen Sie in Workflow1.cs oder Workflow1.vb das folgende Feld am Anfang der Klasse Workflow1 hinzu. Dieses Feld wird in einer Aktivität verwendet, um zu bestimmen, ob der Workflow abgeschlossen ist.

    Boolean workflowPending = true;
    
  2. Fügen Sie der Workflow1-Klasse die folgende Methode hinzu. Diese Methode überprüft den Wert der Eigenschaft Document Status der Liste „Dokumente“, um festzustellen, ob das Dokument überprüft wurde. Wenn die Eigenschaft Document Status auf Review Complete festgelegt ist, legt die Methode checkStatus das Feld workflowPending auf false fest, um anzugeben, dass der Workflow fertiggestellt werden kann.

    private void checkStatus()
    {
        if ((string)workflowProperties.Item["Document Status"] == "Review Complete")
        workflowPending = false;
    }
    
  3. Fügen Sie den Methoden onWorkflowActivated und onWorkflowItemChanged den folgenden Code hinzu, um die Methode checkStatus aufzurufen. Wenn der Workflow gestartet wird, ruft die onWorkflowActivated-Methode die checkStatus-Methode auf, um festzustellen, ob das Dokument bereits überprüft wurde. Wenn es nicht überprüft wurde, wird der Workflow fortgesetzt. Wenn das Dokument gespeichert wird, ruft die onWorkflowItemChanged-Methode die checkStatus-Methode erneut auf, um festzustellen, ob das Dokument überprüft wurde. Während das workflowPending-Feld auf true festgelegt ist, wird der Workflow weiterhin ausgeführt.

    private void onWorkflowActivated(object sender, ExternalDataEventArgs e)
    {
        // Check the status.
        checkStatus();
    }
    
    private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)
    {
        // Check the status.
        checkStatus();
    }
    
  4. Fügen Sie der isWorkflowPending-Methode den folgenden Code hinzu, um den Status der workflowPending-Eigenschaft zu überprüfen. Jedes Mal, wenn das Dokument gespeichert wird, ruft die whileActivity1-Aktivität die isWorkflowPending-Methode auf. Diese Methode untersucht die Result-Eigenschaft des ConditionalEventArgs-Objekts, um zu bestimmen, ob die WhileActivity1-Aktivität fortgesetzt oder beendet werden soll. Wenn die Eigenschaft auf true festgelegt ist, wird die Aktivität fortgesetzt. Anderenfalls werden die Aktivität und der Workflow beendet.

    private void isWorkflowPending(object sender, ConditionalEventArgs e)
    {
        e.Result = workflowPending;
    }
    
  5. Speichern Sie das Projekt.

Testen der SharePoint-Workflowvorlage

Wenn Sie den Debugger starten, stellt Visual Studio die Workflowvorlage auf dem SharePoint-Server bereit und ordnet den Workflow der Liste Freigegebene Dokumente zu. Um den Workflow zu testen, starten Sie eine Instanz des Workflows aus einem Dokument in der Liste Freigegebene Dokumente.

So testen Sie die SharePoint-Workflowvorlage

  1. Legen Sie in Workflow1.cs oder Workflow1.vb einen Breakpoint neben der onWorkflowActivated-Methode fest.

  2. Drücken Sie die Taste F5, um die Lösung zu erstellen und auszuführen.

    Die SharePoint-Website wird angezeigt.

  3. Wählen Sie im Navigationsbereich in SharePoint den Link Freigegebene Dokumente aus.

  4. Wählen Sie auf der Seite Freigegebene Dokumente auf der Registerkarte Bibliothekstools den Link Dokumente aus, und wählen Sie dann die Schaltfläche Dokument hochladen aus.

  5. Klicken Sie im Dialogfeld Dokument hochladen auf die Schaltfläche Durchsuchen, wählen Sie eine beliebige Dokumentdatei aus, klicken Sie auf die Schaltfläche Öffnen und dann auf OK.

    Dadurch wird das ausgewählte Dokument in die Liste Freigegebene Dokumente hochgeladen und der Workflow gestartet.

  6. Überprüfen Sie in Visual Studio, ob der Debugger am Breakpoint neben der onWorkflowActivated-Methode anhält.

  7. Drücken Sie die Taste F5, um die Ausführung fortzusetzen.

  8. Sie können die Einstellungen für das Dokument hier ändern. Übernehmen Sie hier jedoch vorerst die Standardwerte, indem Sie die Schaltfläche Speichern auswählen.

    Dadurch kehren Sie zur Seite Freigegebene Dokumente der SharePoint-Standardwebsite zurück.

  9. Stellen Sie auf der Seite Freigegebene Dokumente sicher, dass der Wert unter der Spalte MySharePointWorkflow – Workflow1 auf In Bearbeitung festgelegt ist. Damit wird angegeben, dass der Workflow in Bearbeitung ist und dass das Dokument auf eine Überprüfung wartet.

  10. Wählen Sie auf der Seite Freigegebene Dokumente das Dokument aus, klicken Sie auf den angezeigten Pfeil, und wählen Sie dann das Menüelement Eigenschaften bearbeiten aus.

  11. Legen Sie Dokumentstatus auf Überprüfung abgeschlossen fest, und wählen Sie dann die Schaltfläche Speichern aus.

    Dadurch kehren Sie zur Seite Freigegebene Dokumente der SharePoint-Standardwebsite zurück.

  12. Überprüfen Sie auf der Seite Freigegebene Dokumente, ob der Wert unter der Spalte Dokumentstatus auf Überprüfung abgeschlossen festgelegt ist. Aktualisieren Sie die Seite Freigegebene Dokumente, und stellen Sie sicher, dass der Wert unter der Spalte MySharePointWorkflow – Workflow1 auf Abgeschlossen festgelegt ist. Damit wird angegeben, dass der Workflow abgeschlossen ist und das Dokument überprüft wurde.

Nächste Schritte

Weitere Informationen zum Erstellen von Workflowvorlagen finden Sie in diesen Themen: