Gewusst wie: Erstellen und Bereitstellen von deklarativen Workflows in Sandkastenlösungen

In diesem Thema wird beschrieben, wie Sie einen deklarativen Workflow, der manchmal auch als Workflow ohne Code bezeichnet wird, in einer Lösung mit eingeschränkter Sicherheitsstufe bereitstellen.

Letzte Änderung: Mittwoch, 13. April 2011

Gilt für: SharePoint Foundation 2010

Verfügbar in SharePoint Online

Ein deklarativer Workflow wird in Microsoft SharePoint Designer erstellt und wird nicht als kompilierter C#- oder Microsoft Visual Basic-Code, sondern als eine oder mehrere XOML-Dateien gespeichert. Anschließend wird der Workflow in der Bibliothek Websiteobjekte einer Website als SharePoint-Lösungspaket (WSP-Datei) gespeichert, die heruntergeladen und dann in einer beliebigen Websitesammlung als Lösung mit eingeschränkter Sicherheitsstufe installiert werden kann. Zur Laufzeit wird das XOML-Markup in Code konvertiert, kompiliert und ausgeführt. Beachten Sie im Zusammenhang mit deklarativen Workflows die folgenden Punkte:

  • Nur sequenzielle Workflows können in SharePoint Designer erstellt werden, keine Zustandsautomatworkflows.

  • Nur ein wieder verwendbarer Workflow, aber kein Listenworkflow oder Website-Workflow, kann als Lösung mit eingeschränkter Sicherheitsstufe in SharePoint Designer gespeichert werden.

  • Ein deklarativer Workflow, der erstellt wurde, als SharePoint Designer eine Website in einer SharePoint Server 2010-Farm verwendete, kann nicht in einer Websitesammlung in einer SharePoint Foundation-Farm bereitgestellt werden.

  • Ein Workflow, der als globaler wieder verwendbarer Workflow veröffentlicht wird, kann nicht direkt als Lösung mit eingeschränkter Sicherheitsstufe in SharePoint Designer gespeichert werden. Sie können ihn jedoch als nicht-globalen Workflow kopieren, der dann als Lösung mit eingeschränkter Sicherheitsstufe gespeichert werden kann. Ausführliche Informationen hierzu finden Sie in den folgenden Abschnitten.

  • Ein von einer Bibliothek Websiteobjekte heruntergeladener deklarativer Workflow kann in Microsoft Visual Studio importiert und geändert werden, bevor er als Lösung mit eingeschränkter Sicherheitsstufe installiert wird. Bei dieser Vorgehensweise gibt es jedoch einige Feinheiten zu beachten. Ausführliche Informationen hierzu finden Sie in den folgenden Abschnitten.

So erstellen Sie den deklarativen Workflow in SharePoint Designer

  1. Stellen Sie in Ihrer Entwicklungsumgebung sicher, dass eine Website vorhanden ist, die alle Entitäten enthält, deren Vorhandensein von Ihrem Workflow vorausgesetzt wird, wie z. B. Listen und Inhaltstypen.

  2. Navigieren Sie in einem Browser zu der Website, und klicken Sie im Menü Websiteaktionen auf In SharePoint Designer bearbeiten. SharePoint Designer wird gestartet.

  3. Klicken Sie im Navigationsbereich auf Workflows.

  4. Klicken Sie auf dem Menüband auf Wieder verwendbarer Workflow . Weisen Sie in dem Dialogfeld, das geöffnet wird, einen entsprechenden Namen und eine entsprechende Beschreibung zu, und klicken Sie dann auf OK.

  5. Erstellen Sie den Workflow so, als ob er nur in der aktuellen Website verwendet wird. Die Tatsache, das Sie ihn als Lösung mit eingeschränkter Sicherheitsstufe packen werden, die in anderen Websitesammlungen bereitgestellt werden kann, hat keine Auswirkungen auf die Vorgehensweise beim Erstellen.

  6. Empfohlen: Wenn der Workflow abgeschlossen ist, speichern Sie ihn, und klicken Sie dann auf dem Menüband auf Veröffentlichen (nicht Global veröffentlichen). Testen Sie den Workflow in der Website, und bearbeiten Sie ihn ggf. erneut.

So packen Sie den Workflow als SharePoint-Lösung

  1. Öffnen Sie nach Abschluss des Workflows diesen in der Ansicht Workfloweinstellungen in SharePoint Designer. (Klicken Sie auf dem Menüband auf Workfloweinstellungen, falls Sie sich im Bearbeitungsmodus befinden.)

  2. Klicken Sie auf dem Menüband auf Als Vorlage speichern. Der Workflow wird in der Bibliothek Websiteobjekte der Website als SharePoint-Lösungspaket (WSP-Datei) gespeichert.

    HinweisHinweis

    Wenn Sie einen Workflow packen, der in SharePoint Designer global veröffentlicht wurde, ist die Schaltfläche Als Vorlage speichern deaktiviert. Sie müssen den Workflow zuerst kopieren, um ihn packen zu können.

    1. Klicken Sie im Knoten Global wieder verwendbarer Workflow des Navigationsbereichs von SharePoint Designer mit der rechten Maustaste auf den Workflow, und wählen Sie dann Kopieren und ändern aus.

    2. Weisen Sie in dem Dialogfeld, das geöffnet wird, dem Workflow einen entsprechenden Namen zu, und klicken Sie dann auf OK.

    3. Klicken Sie auf dem Menüband auf Speichern. Der neue Workflow wird automatisch als nicht-globaler Workflow erstellt, den Sie als Vorlage speichern können.

So ändern Sie den Workflow in Visual Studio (optional)

  1. Laden Sie das Lösungspaket des Workflows aus der Bibliothek Websiteobjekte herunter.

  2. Starten Sie in Visual Studio ein Projekt mithilfe der Vorlage SharePoint-Lösungspaket importieren. Verwenden Sie nicht die Vorlage Wiederverwendbaren Workflow importieren. Mit dieser Vorlage wird der deklarative Workflow automatisch in einen codierten Workflow codiert und kann deshalb nicht als Lösung mit eingeschränkter Sicherheitsstufe bereitgestellt werden.

    HinweisHinweis

    Zu den restlichen Schritten dieses Verfahrens gibt es eine Alternative, die in How to: Import and Package a Declarative Workflow in Visual Studio beschrieben wird. Sie hat den Vorteil, dass bei der Festlegung eines Features im Projekt auf den Bereich Website durch die Aktivierung des Features im Featurekatalog der Websitesammlung dieses für jede Website in der Websitesammlung verfügbar gemacht wird, ohne dass das Feature für jede Website, in der es verwendet werden soll, separat aktiviert werden muss. Die alternative Methode hat jedoch den Nachteil, dass das erstellte Lösungspaket (WSP-Datei) nur in Microsoft SharePoint Server-Websitesammlungen installiert werden kann, nicht in SharePoint Foundation-Websitesammlungen. Mit den Schritten dieses Verfahrens wird ein Paket erstellt, das in jeder SharePoint-Websitesammlung bereitgestellt werden kann, aber das Feature muss für jede Website, in der es verwendet werden soll, separat aktiviert werden.

  3. Geben Sie im Assistenten zum Anpassen von SharePoint eine beliebige lokale Website für das Debuggen an. Dies muss nicht die Website sein, die von SharePoint Designer verwendet wurde, als der Workflow erstellt wurde.

  4. Wählen Sie Sandkastenlösung aus, und klicken Sie auf Weiter.

  5. Geben Sie auf der nächsten Seite des Assistenten den Pfad zum Lösungspaket ein, das Sie in Schritt 1 heruntergeladen haben, und klicken Sie dann auf Weiter.

  6. Lassen Sie auf der nächsten Seite des Assistenten alle Elemente ausgewählt (Standard), und klicken Sie dann auf Fertig stellen. Wenn das Projekt in Visual Studio geöffnet wird, werden Sie feststellen, dass keine C#- oder Visual Basic-Codedateien vorhanden sind. Stattdessen wird der Workflow mit einer XOML-Datei definiert. Sie werden auch feststellen, dass von Visual Studio ein Feature für das Projekt erstellt wurde.

  7. Doppelklicken Sie im Projektmappen-Explorer auf die FEATURE-Datei, um den Feature-Designer zu öffnen, und legen Sie als Bereich Web fest.

    HinweisHinweis

    Der einzige weitere mögliche Bereich ist Website. Wenn Sie jedoch Website auswählen, kann das Workflowfeature nur für die Stammwebsite der Websitesammlung aktiviert werden, weshalb der Workflow nicht in Unterwebsites verwendet werden kann. Mit dem Bereich Web wird das Feature im Featurekatalog jeder Website in der Websitesammlung verfügbar gemacht, einschließlich der Stammwebsite. Das Feature muss für jede Website, in der es verwendet werden soll, separat aktiviert werden.

  8. Fügen Sie Elemente hinzu, die Sie zusammen mit dem Workflow packen und bereitstellen möchten. (Fügen Sie nur Elemente hinzu, die in einer Lösung mit eingeschränkter Sicherheitsstufe bereitgestellt werden können.) Wenn für den Workflow beispielsweise davon ausgegangen wird, dass ein bestimmter benutzerdefinierter Inhaltstyp vorhanden ist, und wenn die Websitesammlungen, in denen Sie den Workflow bereitstellen möchten, diesen Inhaltstyp nicht aufweisen, sollten Sie den Inhaltstyp dem Visual Studio-Projekt hinzufügen.

  9. Öffnen Sie im Projektmappen-Explorer die Datei *.oxml.wfconfig.xml.

  10. Stellen Sie sicher, dass das Visibility-Attribut des Template-Elements den Wert "Public" aufweist. Ändern Sie den Wert andernfalls in "Public".

    HinweisHinweis

    SharePoint Designer muss immer eine bestimmte Website verwenden, selbst wenn Sie damit einen wieder verwendbaren Workflow erstellen, den Sie in anderen Websites bereitstellen möchten. Falls Sie während der Bereitstellung des Workflows in SharePoint Designer irgendwann auf die Schaltfläche Veröffentlichen geklickt haben (was beim empfohlenen Schritt 6 des weiter oben beschriebenen Verfahrens So erstellen Sie den deklarativen Workflow in SharePoint Designer der Fall wäre), erhält das Visibility-Attribut des Template-Elements den Wert "Public". Wenn Sie jedoch den Workflow vor dem Speichern als Vorlage nicht veröffentlicht haben, erhält das Visibility-Attribut des Template-Elements den Wert "DraftPublic". Dieses Attribut muss in "Public" geändert werden, bevor Sie die Lösung in Visual Studio erneut packen.

  11. Öffnen Sie die Datei elements.xml im Projektmappen-Explorer im Ordner PropertyBags.

  12. Verschieben Sie den Fensterinhalt zum PropertyBags-Element, dessen Url-Attribut auf die Datei .xoml.config.xml verweist, und überprüfen Sie, ob die NoCodeVisibility-Eigenschaft den Wert "Public" hat. Ändern Sie ihn andernfalls in "Public".

  13. Optional können Sie die XOML-Datei bearbeiten. Sie sollten jedoch dabei unbedingt die folgenden Punkte beachten:

    • Wenn Sie im Projektmappen-Explorer auf die XOML-Datei doppelklicken, wird der Visual Studio-Workflow-Designer geöffnet. Diesen Designer können Sie nicht verwenden. Zwischen SharePoint Designer und dem Visual Studio-Workflow-Designer gibt es einige Inkompatibilitäten. (Wenn Sie die Datei dennoch im Workflow-Designer öffnen, werden wahrscheinlich für Elemente in der Entwurfsoberfläche Fehlersymbole angezeigt – ein weißes Ausrufezeichen in einem roten Kreis.) Stattdessen müssen Sie mit der rechten Maustaste auf die XOML-Datei klicken und im Dialogfeld Öffnen mit einen XML-Editor oder Text-Editor auswählen.

    • Die Bearbeitung der XOML-Datei ist fehleranfällig. Sie sollten damit nur Änderungen vornehmen, die in SharePoint Designer nicht möglich sind.

  14. Klicken Sie nach der Fertigstellung des Projekts im Menü Erstellen auf Bereitstellen, und testen Sie die Lösung.

So stellen Sie den Workflow in einer Websitesammlung bereit

  1. Wenn Ihre Lösung für die Bereitstellung bereit ist, stellen Sie das fertige Lösungspaket (WSP-Datei) den Websitesammlungsadministratoren zur Verfügung.

    HinweisHinweis

    Wenn für den Workflow davon ausgegangen wird, dass bestimmte Entitäten vorhanden sind, wie z. B. Inhaltstypen, Listentypen und Listeninstanzen, die nicht mit der Lösung selbst bereitgestellt werden, müssen Sie die Websitesammlungsadministratoren auf die entsprechenden Entitäten hinweisen.

  2. Die Lösung mit eingeschränkter Sicherheitsstufe wird vom Websitesammlungsadministrator installiert und bereitgestellt, der die Lösung im Lösungskatalog der Websitesammlung bereitstellt. Dieser Vorgang besteht aus zwei Schritten:

    1. Der Websitesammlungsadministrator lädt das Lösungspaket in den Lösungskatalog hoch.

    2. Der Websitesammlungsadministrator stellt das Paket bereit, was für Lösungen mit eingeschränkter Sicherheitsstufe als "Aktivierung" bezeichnet wird. Mit diesem Schritt werden automatisch alle Features des Pakets aktiviert. Falls Lösungsvalidierer für die Websitesammlung registriert sind, werden sie ebenfalls in der Aktivierungsphase (Bereitstellungsphase) ausgeführt.

    Wenn die Lösung die Validierung besteht und nicht von einem Farmadministrator blockiert wurde, kann sie in der Websitesammlung verwendet werden.

Siehe auch

Konzepte

Möglichkeiten und Einschränkungen von Sandkastenlösungen

Einschränkungen bei Sandkastenlösungen

Architektur von Sandkastenlösungen