Freigeben über


Workflowänderungsformulare (SharePoint Foundation)

Letzte Änderung: Donnerstag, 8. April 2010

Gilt für: SharePoint Foundation 2010

Sie möchten ggf. Ihren Benutzern ermöglichen, den Workflow an bestimmten Stellen zu ändern, solange dieser für ein Element ausgeführt wird. Sie können einem Benutzer beispielsweise ermöglichen, seine Aufgabe einer anderen Person zuzuweisen, oder sogar dem Workflow eine bestimmte Aufgabe hinzuzufügen. Die Optionen, die Sie Benutzern anzeigen, um den aktuell für ein Element ausgeführten Workflow zu ändern, werden als Änderungen bezeichnet.

Sie können Änderungsformulare erstellen, die es Benutzern ermöglichen, die Parameter für die Änderungen anzugeben.

Beim Entwerfen Ihres Workflows erstellen Sie eine Änderung, indem Sie dem Workflow eine EnableWorkflowModification-Aktivität hinzufügen. Die Verfügbarkeit der Änderung wird von der EventHandlingScope-Aktivität bestimmt, der Sie die EnableWorkflowModification-Aktivität hinzufügen. Durch Definieren einer Änderung wird der Workflowstatusseite für die jeweilige Änderung ein Link hinzugefügt. Wenn die enthaltende EventHandlingScope-Aktivität während der Ausführung des Workflows in den Gültigkeitsbereich gelangt, stellt Microsoft SharePoint Foundation dem Benutzer den Änderungslink zur Verfügung. Wenn sie die enthaltende Aktivität den Gültigkeitsbereich verlässt, entfernt Windows SharePoint Services den Link von der Workflowstatusseite.

Der Änderungslink auf der Workflowstatusseite leitet den Benutzer zum Workflowänderungsformular.

Angeben von Änderungsformularen

Jedes Änderungsformular, das Sie in Ihrem Workflow verwenden, benötigt eine eigene GUID. Diese GUID wird von SharePoint Foundation verwendet, um das richtige Formular für die vom Benutzer ausgewählte Änderung auszuwählen.

Zum Angeben eines Änderungsformulars müssen Sie drei Elemente festlegen:

  1. Legen Sie die ModificationID-Eigenschaft der EnableWorkflowModification-Aktivität auf die für Ihre Änderung generierte GUID fest.

  2. Legen Sie in der Workflowvorlagendefinition das ModificationURL-Attribut des Workflow-Elements auf den folgenden Wert fest:

    Wenn Ihr Workflow mehrere Änderungen enthält, können Sie das angegebene Formular mit diesem Attribut so programmieren, dass Folgendes passiert:

    • Die Anzeige einer anderen Ansicht des Formulars basierend auf der an dieses Formular übergebenen Änderungs-ID

    • Eine Umleitung zu einem gesonderten Formular basierend auf der an dieses Formular übergebenen Änderungs-ID

      HinweisHinweis

      SharePoint Foundation unterstützt in der Workflowvorlagendefinition absolute oder serverrelative Pfade. Sie müssen alle URLs für Formularpfade in einem dieser Formate ausdrücken, beispielsweise als absoluten Pfad wie "http://site/library/page.aspx" oder als serverrelativen Pfad wie "/layouts/page.aspx". Das Reparieren von Links in Workflowvorlagendefinitionen wird von SharePoint Foundation nicht unterstützt.

  3. Fügen Sie der Workflowvorlagendefinition ein Änderung_GUID_Name-Element hinzu, wobei GUID die GUID bezeichnet, die Sie für Ihr Änderungsformular generiert haben. Legen Sie dieses Element auf den Namen fest, den Sie der Änderung geben möchten. SharePoint Foundation zeigt diesen Namen als linkText für den Änderungslink auf der Workflowstatusseite an. Beispiel:

    <Modification_GUID_Name>Add a New Reviewer</Modification_GUID_Name>
    

Verarbeitung von Änderungsformularen

Wenn eine bestimmte EnableWorkflowModification-Aktivität in den Gültigkeitsbereich gelangt, ruft der Workflow die EnableWorkflowModification-Methode auf und übergibt an SharePoint Foundation zwei Datenelemente als Parameter:

  • Die GUID des Änderungsformulars, das in der ModificationId-Eigenschaft der Aktivität gespeichert ist.

  • Die an das Änderungsformular zu übergebenden Informationen im Zeichenfolgenformat. Diese Informationen entsprechen zumeist dem Datenkontext, der in der ContextData-Eigenschaft der Aktivität gespeichert ist.

    HinweisHinweis

    Der Workflowentwickler muss die Zeichenfolge generieren, die die an die EnableWorkflowModification-Methode zu übergebenden Kontextdaten enthält. Zur Vereinfachung der Programmierung wird empfohlen, dass Entwickler ein Objekt für jede entwickelte Änderung erstellen. Jedes Änderungsobjekt muss ein XML-Serialisierungsschema haben, das exakt dem Schema der primären Datenquelle des Änderungsformulars entspricht.

SharePoint Foundation untersucht die Workflowvorlagendefinitions-XML zum Bestimmen des Namens der Änderung und verwendet diesen als linkText für den Änderungslink, der der Workflowstatusseite hinzugefügt wird.

Im SharePoint-Objektmodell werden die Änderungen, die gegenwärtig für eine Workflowinstanz verfügbar sind, im SPWorkflowModificationCollection-Objekt aufgelistet.

Wenn ein Benutzer auf einen angegebenen Änderungslink klickt, untersucht SharePoint Foundation die Workflowvorlagendefinitions-XML, insbesondere die ModificationURL des Workflow-Elements, welches das anzuzeigende Änderungsformular angibt. SharePoint Foundation lädt das Formular und übergibt die Kontextdaten aus der EnableWorkflowModification-Aktivität.

Der Änderungsformularentwickler muss programmieren, welche Aktionen erfolgen, wenn der Benutzer das Änderungsformular sendet. In den meisten Fällen ruft das Formular die ModifyWorkflow-Methode auf und übergibt die Workflowinstanz-ID, ein SPWorkflowModification-Objekt und optional die aktualisierten Kontextinformationen. Diese Aktion ändert die ausgeführten Workflowinstanz entsprechend.

Fügen Sie zum Verarbeiten des Workflowänderungsereignisses dem Workflow eine OnWorkflowModified-Ereignisaktivität hinzu. SharePoint Foundation löst diese Ereignisaktivität aus, wenn die ModifyWorkflow-Methode aufgerufen wird. Diese Aktivität ist am sinnvollsten bei Verwendung im Ereignishandler einer EventHandlingScope-Aktivität. SharePoint Foundation übergibt die Kontextdaten der Änderung an die Ereignisaktivität.

Der Workflowentwickler muss erneut die Kontextdaten analysieren, die als Zeichenfolge an die OnWorkflowModified-Ereignisaktivität übergeben werden.

Siehe auch

Konzepte

Workflowformulare (Übersicht)

Zuordnungs- und -Initiierungsformulare für Workflows (SharePoint Foundation)

Workflowaufgabenformulare (SharePoint Foundation)