Freigeben über


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

Letzte Änderung: Donnerstag, 8. April 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Angeben von Zuordnungsformularen
Verarbeitung von Zuordnungsformularen
Angeben von Initiierungsformularen
Verarbeitung von Initiierungsformularen

Bevor ein Workflow tatsächlich beginnt, müssen den Benutzern angezeigte Zuordnungs- und -Initiierungsformulare ausgefüllt werden. Mithilfe dieser Formulare können Benutzer im Vorfeld Parameter und andere Informationen für den Workflow festlegen. Zuordnungsformulare dienen zum Festlegen, wie der Workflow für eine bestimmte Liste, Bibliothek oder einen bestimmten Inhaltstyp gilt. Mit Initiierungsformularen wird festgelegt, wie der Workflow für ein bestimmtes SharePoint-Element gilt.

Zuordnungsformulare werden Administratoren angezeigt, wenn sie sich erstmals entschließen, einen Workflow einer bestimmten Liste, Bibliothek oder einem bestimmten Inhaltstyp hinzuzufügen bzw. zuzuordnen. Zuordnungsformulare erlauben Administratoren das Angeben von Parametern, Standardwerten und anderen Informationen für den Workflow entsprechend den Elementen in der Liste, Bibliothek oder dem Inhaltstyp, denen der Workflow zugeordnet werden soll.

Initiierungsformulare werden Benutzer angezeigt, wenn Sie einen Workflow für ein bestimmtes SharePoint-Element starten. Unter Verwendung von Initiierungsformularen können Benutzer von Administratoren festgelegte Zuordnungsparameter überschreiben oder ergänzen oder zusätzliche Parameter oder Informationen zum Workflow entsprechend dem jeweiligen SharePoint-Element angeben. Nicht alle Workflows benötigen Initiierungsformulare.

Das Initiierungsformular kann dasselbe Formular wie das Zuordnungsformular verwenden. Wenn Sie beispielsweise für jedes Workflowformular dasselbe Formular verwenden, können Administratoren während der Workflowzuordnung bestimmte Standardparameter festlegen. Anschließend kann der Benutzer, der die Workflowinstanz tatsächlich für ein bestimmtes Element startet, diese Standardparameter überprüfen und ändern.

Angeben von Zuordnungsformularen

Sie geben das Zuordnungsformular eines Workflows im XML-Code der Workflow-Vorlagendefinition an. Legen Sie hier den Wert des AssociationURL-Attributs des Workflow-Elements auf die benutzerdefinierte Formularseite fest, die für die Workflowzuordnung verwendet werden soll. Beispiel:

AssociationURL="MyWkflAssociationPage.aspx" 
HinweisHinweis

Windows SharePoint Services 3.0 unterstützt in der Workflow-Vorlagendefinition 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 Workflow-Vorlagendefinitionen wird von SharePoint Foundation nicht unterstützt.

Weitere Informationen zu Workflowdefinitionen finden Sie unter Workflowdefinitionen.

Verarbeitung von Zuordnungsformularen

Wählt ein Administrator einen Workflow aus, der einer bestimmten Liste, Bibliothek oder einem bestimmten Inhaltstyp zugeordnet werden soll, wird in SharePoint Foundation die Seite zum Hinzufügen eines neuen Workflows angezeigt. Auf dieser Seite kann der Administrator Einstellungen angeben, die für alle Workflows gemeinsam gelten, wie etwa die Workflowdefinition, Initiierungsbedingungen und ob der Workflow für Elemente, Ordner oder beides ausgeführt wird.

Wenn der Administrator auf dieser Seite auf die Schaltfläche Weiter klickt, wird in SharePoint Foundation das AssociationURL-Attribut des Workflow-Elements in der Workflowvorlagendefinition überprüft, um das ordnungsgemäße zu ladende Formular zu bestimmen.

Um dem Zuordnungsformular benutzerdefinierte Daten bereitzustellen, können Sie diese Informationen im AssocationData-Element speichern. So können Sie beispielsweise dieses Element zum Speichern von Standardwerten verwenden, die bei dessen Anzeige an das Zuordnungsformular übergeben werden. Das AssocationData-Element kann beliebigen gültigen XML-Code enthalten. Ihr Formular kann anschließend diese Zuordnungsdaten aus der Workflowvorlage laden.

Da die Workflowzuordnung erst erstellt wird, nachdem das benutzerdefinierte Zuordnungsformular gesendet wurde, übergibt SharePoint Foundation auch die folgenden Abfrageparameter an das benutzerdefinierte Zuordnungsformular:

<input type="hidden" name="WorkflowDefinition" value=<% _STSWriteHTML(Request.Form["WorkflowDefinition"]); %>>
<input type="hidden" name="WorkflowName" value=<% _STSWriteHTML(Request.Form["WorkflowName"]); %>>
<input type="hidden" name="AddToStatusMenu" value=<% _STSWriteHTML(Request.Form["AddToStatusMenu"]); %>>
<input type="hidden" name="AllowManual" value=<% _STSWriteHTML(Request.Form["AllowManual"]); %>>
<input type="hidden" name="RoleSelect" value=<% _STSWriteHTML(Request.Form["RoleSelect"]); %>>
<input type="hidden" name="AutoStartCreate" value=<% _STSWriteHTML(Request.Form["AutoStartCreate"]); %>>
<input type="hidden" name="AutoStartChange" value=<% _STSWriteHTML(Request.Form["AutoStartChange"]); %>>
<input type="hidden" name="GuidAssoc" value=<% _STSWriteHTML(Request.Form["GuidAssoc"]); %>>

Der Workflowentwickler muss programmieren, welche Aktionen erfolgen, wenn der Administrator Änderungen am Formular sendet. Im Allgemeinen muss das benutzerdefinierte Workflowzuordnungsformular die folgenden Aktionen ausführen:

  • Untersuchen des Werts des GuidAssoc-Parameters zum Bestimmen, ob der Benutzer eine neue Workflowzuordnung hinzufügt oder eine vorhandene Workflowzuordnung bearbeitet

  • Aufrufen der AddWorkflowAssociation-Methode zum Erstellen einer neuen Workflowzuordnung, wenn der Benutzer eine neue Workflowzuordnung hinzufügt

  • Aufrufen der Update()-Methode zum Aktualisieren dieser Workflowzuordnung, wenn der Benutzer eine neue Workflowzuordnung hinzufügt

  • Erstellen der Aufgabenliste für den Workflow, sofern noch nicht vorhanden

  • Verwenden der vom Benutzer erfassten Daten zum entsprechenden Festlegen von Eigenschaften des SPWorkflowAssociation-Objekts

  • Erstellen der Workflowverlaufsliste, falls erforderlich

Angeben von Initiierungsformularen

Wenn der Workflow ein Initiierungsformular aufweisen soll, müssen Sie das InstantiationURL-Attribut des Workflow-Elements in der Workflowvorlagendefinition festlegen. Legen Sie dieses Element auf das Formular fest, mit dem Sie Workflowinitiierungsdaten erfassen möchten (siehe das folgende Beispiel).

InstantiationURL="MyWkflInitiationPage.aspx" 
HinweisHinweis

Windows SharePoint Services 3.0 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.

Weitere Informationen zu Workflowdefinitionen finden Sie unter Workflowdefinitionen.

Verarbeitung von Initiierungsformularen

Wenn der Benutzer einen Workflow für ein bestimmtes Element startet, wird in SharePoint Foundation das InstantiationURL-Attribut des Workflow-Elements in der Workflowvorlagendefinition überprüft, um das ordnungsgemäße zu ladende Formular zu bestimmen.

SharePoint Foundation lädt das angegebene Formular, an das in der URl die folgenden Abfrageparameter übergeben werden:

  • List   Die GUID der Liste, zu der das Element gehört.

  • ID   Die ID des Listenelements, für das der Workflow gestartet wird.

  • Source   Die Seite, auf der der Benutzer den Workflow gestartet hat.

  • TemplateID   Die GUID der Workflowzuordnung.

Darüber hinaus können Sie Ihr Formular so programmieren, dass die Zuordnungsformulardaten für diese Workflowzuordnung geladen werden. Die Informationen sind in der AssociationData-Eigenschaft des SPWorkflowAssociation-Objekts enthalten, das die Workflowzuordnung darstellt.

Der Workflowentwickler muss programmieren, welche Aktionen erfolgen, wenn der Benutzer Änderungen an der Seite sendet. Im Allgemeinen muss das Formular die folgenden Aktionen ausführen:

  • Das SPWorkflowManager-Objekt für die aktuelle Website bestimmen.

  • Mithilfe des SPWorkflowManager-Objekts die StartWorkflow-Methode aufrufen und die entsprechenden SPListItem- und SPWorkflowAssociation-Objekte übergeben. Verwenden Sie den eventData-Parameter zum Übergeben der Initiierungsformulardaten im Zeichenfolgenformat.

  • Den Benutzer auf die Quellseite zurückleiten, auf der der den Workflow gestartet hat.

Wenn die M:Microsoft.SharePoint.Workflow.SPWorkflowManager.StartWorkflow(Microsoft.SharePoint.SPListItem,Microsoft.SharePoint.Workflow.SPWorkflowAssociation,System.String)-Methode aufgerufen wird, erstellt der Workflow-Manager eines Instanz des Workflows für das SharePoint-Element. Der Workflow-Manager übergibt anschließend die mithilfe des Initiierungsformulars erfassten Daten an das OnWorkflowActivated-Element des Workflows selbst.

Jeder SharePoint Foundation-Workflow muss mit einer OnWorkflowActivated-Aktivität beginnen. Die OnWorkflowActivated-Aktivität enthält eine Eigenschaft (WorkflowProperties), die ein SPWorkflowActivationProperties-Objekt zurückgibt. Dieses Objekt stellt die Anfangseigenschaften des Workflows bei seinem Start dar, z. B. den Benutzer, der den Workflow hinzugefügt hat, und die Liste und das Elemente, für die/das der Workflow hinzugefügt wurde. Darüber hinaus gibt die AssociationData-Eigenschaft ein System.Collections.Hashtable-Objekt zurück, das die benutzerdefinierten Daten darstellt, die vom Workflowinitiierungsformular bereitgestellt wurden.

Siehe auch

Konzepte

Workflowformulare (Übersicht)

Workflowänderungsformulare (SharePoint Foundation)

Workflowaufgabenformulare (SharePoint Foundation)