Workflowänderungsformulare (Microsoft SharePoint Server 2010)

Letzte Änderung: Mittwoch, 7. April 2010

Gilt für: SharePoint Server 2010

Sie können Benutzern die Möglichkeit geben, Ihren Workflow an bestimmten Punkten während der Ausführung zu ändern. Die Optionen, die Sie Benutzern auf diese Weise anbieten, werden als Änderungen bezeichnet. Sie können dann Änderungsformulare erstellen, die es Benutzern ermöglichen, die Parameter für die Änderungen anzugeben.

Sie können auch Microsoft InfoPath 2010-Workflowänderungsformulare erstellen. Standardmäßig können solche Änderungsformulare nur als serverseitige Formulare verwendet werden. Die Änderungsformulare werden in den Microsoft Office 2010-Clientanwendungen nicht angezeigt, selbst wenn sie in InfoPath 2010 als symmetrische Formulare entworfen wurden.

Weitere grundlegende Informationen zu Workflowänderungsformularen finden Sie unter Workflowänderungsformulare (SharePoint Foundation) im Microsoft Windows SharePoint Services 3.0 SDK.

Angeben von Änderungsformularen

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

Für die Angabe eines Änderungsformulars müssen die folgenden Daten festgelegt werden:

  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:

    ModificationUrl="_layouts/WFMod.aspx"  
    

    Dies ist eine in oss14short enthaltene ASPX-Seite, die ein Office InfoPath Forms Services-Webpart umfasst, um das InfoPath 2010-Workflowänderungsformular zu hosten.

  3. Fügen Sie dem Metadata-Element in der Workflowvorlagendefinitions-XML zwei Elemente hinzu. Das erste Element ist Modification_GUID_FormURN-Element (Workflow), wobei guid die GUID ist, die Sie für das Änderungsformular generiert haben. Legen Sie dieses Element auf den URN des Änderungsformulars wie im folgenden Beispiel dargestellt fest:

    <Modification_GUID_FormURN>
       urn:schemas-microsoft-com:office:infopath:workflow:ReviewRouting-Modify
    </Modification_GUID_FormURN>
    

    Das zweite Element ist Modification_Guid_Name, 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. Der Name wird von SharePoint Server 2010 als HyperlinkText für die Änderungsverknüpfung auf der Workflowstatusseite angezeigt. Legen Sie dieses Element auf den URN des Änderungsformulars wie im folgenden Beispiel dargestellt fest:

    <Modification_GUID_Name>Add a New Reviewer</Modification_GUID_Name>
    

Weitere Informationen zum Workflowdefinitionsschema finden Sie unter Workflowdefinitionen im Microsoft SharePoint 2010 Software Development Kit (SDK).

Verarbeitung von Änderungsformularen

Wenn der Benutzer auf eine Workflowänderungsverknüpfung klickt, wird das ModificationURL-Attribut des Workflow-Elements von SharePoint Server 2010 untersucht, um das Formular zu ermitteln, das geladen werden soll. Bei Office InfoPath 2007-Formularen hat der Entwickler diesen Wert auf "_layouts/WFMod.aspx" festgelegt. Diese Seite wird in SharePoint Server 2010 geladen. Das entsprechende Modification_GUID_FormURN-Element (Workflow)-Element wird von der Seite auf der Grundlage der von SharePoint Server 2010 übergebenen Änderungs-GUID überprüft. Dann wird das angegebene InfoPath-Workflowänderungsformular von der Seite geladen. Sie übergibt auch die Kontextdaten der ContextData-Eigenschaft der EnableWorkflowModification-Aktivität als primäre Datenquelle an das Formular.

Wichtiger HinweisWichtig

Die ContextData-Eigenschaft der EnableWorkflowModification-Aktivität muss XML-Code enthalten, der mit dem XML-Schema des Änderungsformulars übereinstimmt. Dies muss auch dann zutreffen, wenn keine Kontextdaten an das Formular übergeben werden. In solchen Fällen müssen Sie dennoch XML-Code angeben, der mit dem XML-Schema des Änderungsformulars übereinstimmt, selbst wenn der XML-Code keine Daten enthält. Ist dies nicht der Fall, kann die erwartete XML-Zeichenfolge nicht von der Seite WFMod.aspx an das zu ladende Änderungsformular übergeben werden, und das Änderungsformular kann nicht geladen werden.

Wenn der Benutzer das Änderungsformular übermittelt, wird die ModifyWorkflow-Methode von der Seite WFMod.aspx aufgerufen und die Workflowinstanz-ID sowie die aktualisierten Kontextinformationen übergeben.

In SharePoint Server 2010 wird ein OnWorkflowModified-Ereignis ausgeläst, wenn die ModifyWorkflow-Methode aufgerufen wird. Fügen Sie dem Workflow zur Verarbeitung des Ereignisses und der Änderung eine OnWorkflowModified-Ereignisaktivität hinzu. Die ContextData-Eigenschaft dieses Ereignisses enthält den durch das Änderungsformular übermittelten XML-Code.

Siehe auch

Konzepte

Workflows in SharePoint Server 2010

InfoPath-Formulare für Workflows

Workflowzuordnungs- und initialisierungsformulare (Microsoft SharePoint Server 2010)

Workflowaufgabenformulare (Microsoft SharePoint Server 2010)

Weitere Ressourcen

Workflow Definition Schema for InfoPath Forms