Freigeben über


Workflowaufgabenformulare (SharePoint Foundation)

Letzte Änderung: Freitag, 30. Mai 2008

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Inhaltstypen von Workflowaufgaben
Angeben von Inhaltstypen von Workflowaufgaben
Verarbeitung von Workflowaufgabenformularen

Sie können benutzerdefinierte Formulare für die Aufgaben in einem Workflow angeben. Da es sich bei Aufgaben um SharePoint-Elemente handelt, die einem Inhaltstyp zugewiesen sind, hängen die für den Aufgabentyp verwendeten benutzerdefinierten Formulare jedoch vom Inhaltstyp ab.

Inhaltstypen von Workflowaufgaben

Standardmäßig werden allen SharePoint-Aufgabentypen Inhaltstypen zugewiesen. Wenn Sie einem Aufgabentyp nicht ausdrücklich einen Inhaltstyp zuweisen, wird dem Aufgabentyp der Basisinhaltstyp für Aufgaben zugewiesen. Alle Aufgabeninhaltstypen müssen auf dem Basisinhaltstyp WorkflowTask basieren.

Weitere Informationen zu Basisinhaltstypen finden Sie unter Hierarchie der Basisinhaltstypen.

Sie können benutzerdefinierte neue Formulare, Bearbeitungsformulare und Anzeigeformulare für einen Inhaltstyp angeben. In Microsoft SharePoint Foundation werden die von Ihnen angegebenen benutzerdefinierten Formulare beim Anzeigen einer Workflowaufgabe für den entsprechenden Aufgabeninhaltstyp verwendet.

HinweisHinweis

Zur einfacheren Programmierung wird Entwicklern empfohlen, Inhaltstypen für Aufgabentypen zu erstellen und auf eine genaue Übereinstimmung des Inhaltstypschemas und des vorgesehenen Bearbeitungsaufgabenformulars zu achten. Dieser Ansatz ermöglicht die 1:1-Zuordnung von Eigenschaften und macht die Analyse des erweiterten Eigenschaftenfelds zum Extrahieren zusätzlicher Werte unnötig.

Angeben von Inhaltstypen von Workflowaufgaben

Sie haben zwei Möglichkeiten, den Inhaltstyp für eine Workflowaufgabe anzugeben.

So verwenden Sie einen einzigen Inhaltstyp für alle Workflowaufgabentypen

  1. Fügen Sie gegebenenfalls in der Inhaltstypdefinition des Inhaltstyps der Aufgabe ein XMLDocument-Element hinzu, mit dem die benutzerdefinierten Bearbeitungs- und/oder Anzeigeformulare angegeben werden. Dieses XMLDocument-Element muss dem FormTemplates-Schema entsprechen. Legen Sie für die Bearbeitungs- oder Anzeigeformulare den folgenden Wert fest:

    <Edit>WkTaskIP.aspx</Edit>
    <Display>WkTaskIP.aspx</Display>
    

    Weitere Informationen zum Angeben von benutzerdefinierten Formularen für Inhaltstypen finden Sie unter Übersicht über das FormUrls-Schema.

  2. Legen Sie in der Workflowvorlagendefinition die TaskListContentTypeId des Workflow-Elements auf die ID des Inhaltstyps fest, den Sie allen Workflowaufgabentypen zuweisen möchten. Beispiel:

    TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160"  
    

So verwenden Sie unterschiedliche Inhaltstypen für die einzelnen Workflowaufgabentypen

  1. Fügen Sie gegebenenfalls in der Inhaltstypdefinition des Inhaltstyps der Aufgabe ein XMLDocument-Element hinzu, mit dem die benutzerdefinierten Bearbeitungs- und/oder Anzeigeformulare angegeben werden. Dieses XMLDocument-Element muss dem FormTemplates-Schema entsprechen. Legen Sie für die Bearbeitungs- oder Anzeigeformulare den folgenden Wert fest:

    <Edit>WkTaskIP.aspx</Edit>
    <Display>WkTaskIP.aspx</Display>
    

    Weitere Informationen zum Angeben von benutzerdefinierten Formularen für Inhaltstypen finden Sie unter Übersicht über das FormUrls-Schema.

  2. Verwenden Sie die CreateTaskWithContentType-Workflowaktivität, um die Aufgabe im Workflow zu erstellen. Verwenden Sie die TaskId-Eigenschaft, um die Aufgaben-ID festzulegen, und die ContentTypeId-Eigenschaft, um den Inhaltstyp der Aufgabe anzugeben.

Workflowaufgabentypen

Zur Unterscheidung der vom Workflow erstellten Aufgabentypen weisen Sie jedem Aufgabentyp eine ganzzahlige ID in diesem Workflow zu. Der erste Aufgabentyp ist 0, der zweite ist 1 usw. Dadurch können Sie jedem Aufgabentyp verschiedene Inhaltstypen und verschiedene Formulare zuweisen. Diese Aufgabentyp-IDs müssen nur innerhalb eines bestimmten Workflows eindeutig sein. So verfügt beispielsweise jeder Workflow, mit dem eine Aufgabe erstellt wird, über den Aufgabentyp 0, doch muss der Aufgabentyp nicht über alle Workflows hinweg identisch sein.

Wenn ein Benutzer auf den Link zum Bearbeiten einer Aufgabe klickt, wird von SharePoint Foundation die Workflowvorlagendefinition untersucht, um den Aufgabeninhaltstyp zu ermitteln. Anschließend wird die Inhaltstypdefinition untersucht, um zu ermitteln, ob für diesen Inhaltstyp ein benutzerdefiniertes Bearbeitungsformular angegeben ist. Wenn dies der Fall ist, wird das angegebene Formular von SharePoint Foundation angezeigt. Wenn kein benutzerdefiniertes Bearbeitungsformular angegeben ist, wird von SharePoint Foundation das Standardrendering des Bearbeitungsformulars angezeigt.

Weitere Informationen zur Inhaltstypdefinition finden Sie unter Inhaltstypdefinitionen.

Typen benutzerdefinierter Inhaltstypformulare

Sie können zwei Arten von benutzerdefinierten Formularen für Inhaltstypen angeben:

  • Formularvorlagen, bei denen es sich um ASMX-Steuerelemente handelt, mit denen der zentrale Abschnitt einer SharePoint-Webseite gerendert wird, das heißt alles außer den SharePoint-Rahmenelementen (normalerweise als "Chrom" bezeichnet) der Seite. Das Chrom für die Seite wird von SharePoint Foundation gerendert.

    Weitere Informationen finden Sie unter Übersicht über das FormTemplates-Schema.

  • Formularseiten, bei denen es sich um ASPX-Seiten handelt, durch die die gesamte SharePoint-Standardseite einschließlich der SharePoint-Rahmenelemente (das heißt des SharePoint-"Chroms") ersetzt wird. Für Formularseiten müssen Sie alle gewünschten Navigationslinks und sonstigen Elemente bereitstellen, die sich normalerweise im SharePoint-Chrom befinden.

    Weitere Informationen finden Sie unter Übersicht über das FormUrls-Schema.

Verarbeitung von Workflowaufgabenformularen

Wenn ein Benutzer auf den Link zum Bearbeiten einer Aufgabe klickt, muss von SharePoint Foundation der Aufgabeninhaltstyp ermittelt werden. Wenn die Aufgabe mithilfe der CreateTaskWithContentType-Workflowaktivität erstellt wurde, ist der Inhaltstyp in dieser Aktivität angegeben. Anderenfalls wird von SharePoint Foundation die Workflowvorlagendefinition untersucht, um den Aufgabeninhaltstyp zu ermitteln.

Anschließend wird von SharePoint Foundationdie Inhaltstypdefinition untersucht, um zu ermitteln, ob für diesen Inhaltstyp ein benutzerdefiniertes Bearbeitungsformular angegeben ist. Wenn dies der Fall ist, wird das angegebene Formular von SharePoint Foundation angezeigt.

Der Workflowentwickler ist verantwortlich für die Daten, die dem Aufgabenformular zunächst übergeben werden, sowie für die Aktionen, die ausgeführt werden, wenn der Benutzer das Formular absendet. Der Entwickler kann das Formular beispielsweise so programmieren, dass der Inhalt der Xml-Eigenschaft des SPListItem-Elements abgerufen wird, das die Aufgabe darstellt, und diese Informationen als Datenquelle verwenden. Die Aufgaben-XML wird dem Formular von SharePoint Foundation immer als sekundäre Datenquelle übergeben.

Analog wird empfohlen, beim Absenden des Formulars die AlterTask-Methode aufzurufen und dabei das SPListItem-Objekt und die aktualisierten Daten als Parameter zu übergeben. In SharePoint Foundation wird ein OnTaskChanged-Ereignis ausgelöst, wenn diese Methode aufgerufen wird. Fügen Sie zur Behandlung dieses Ereignisses dem Workflow eine OnTaskChanged-Ereignisaktivität hinzu.

Siehe auch

Konzepte

Workflowformulare (Übersicht)

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

Workflowänderungsformulare (SharePoint Foundation)