Schritt 2: Erstellen des Bearbeitungsformulars für Workflowaufgaben

Letzte Änderung: Freitag, 24. Juni 2011

Gilt für: SharePoint Server 2010

Als Nächstes müssen Sie ein Formular erstellen, das Workflowbenutzern die Interaktion mit der Workflowaufgabe ermöglicht, die ihnen zugewiesen ist.

Dieser Schritt in der exemplarischen Vorgehensweise folgt Prozeduren, die unter Gewusst wie: Entwerfen eines Workflowaufgabenformulars für die Verwendung von Aufgabendaten beschrieben sind.

HinweisHinweis

Bei dieser Prozedur wird davon ausgegangen, dass Sie wissen, wie Steuerelemente einem Microsoft InfoPath 2010-Formular hinzugefügt und diese Steuerelemente konfiguriert werden.

Voraussetzungen

Schritt 1: Erstellen eines Workflowinitiierungsformulars in SharePoint Server 2010 (ECM)

So erstellen Sie das Bearbeitungsformular für Workflowaufgaben

  1. Öffnen Sie InfoPath Designer 2010.

  2. Wählen Sie im Abschnitt Beliebte Formularvorlagen die Option Leeres Formular aus, und klicken Sie auf die Schaltfläche Formular entwerfen.

  3. Fügen Sie dem Formular die folgenden Steuerelemente hinzu:

    Steuerelementtyp

    Name

    Datentyp

    Textfeld

    Instructions

    Text (Zeichenfolge)

    Kontrollkästchen

    isFinished

    Wahr/Falsch (Boolesch)

    Schaltfläche

    OK

    n/v

    Schließlich sollte das Formular der folgenden Abbildung entsprechen.

    Formular für die Bearbeitung von Workflowaufgaben

  4. Fügen Sie der Schaltfläche OK Regeln hinzu.

    1. Klicken Sie mit der rechten Maustaste auf die Schaltfläche, die Sie dem Formular hinzugefügt haben, und wählen Sie Schaltflächeneigenschaften aus.

    2. Klicken Sie im Dialogfeld Schaltflächeneigenschaften auf der Registerkarte Allgemein auf Regeln.

    3. Klicken Sie im Dialogfeld Regeln auf Hinzufügen.

    4. Klicken Sie im Dialogfeld Regel auf Aktion hinzufügen und anschließend auf Mithilfe einer Datenverbindung absenden. Klicken Sie auf Hinzufügen.

    5. Wählen Sie im Datenverbindungs-Assistenten die Option Neue Verbindung erstellen mit und anschließend Daten senden aus. Klicken Sie dann auf Weiter.

    6. Wählen Sie unter Wie sollen die Daten versendet werden? die Option An die Hostumgebung, wie z.  B. eine ASP.NET-Seite oder Hostanwendung aus, und klicken Sie dann auf Weiter. Klicken Sie auf Fertig stellen und anschließend auf OK.

    7. Fügen Sie eine weitere Regel hinzu: Klicken Sie im Dialogfeld Regeln auf Hinzufügen und anschließend auf Aktion hinzufügen.

    8. Wählen Sie Das Formular schließen aus der Liste der vordefinierten Aktionen aus. Stellen Sie sicher, dass Benutzer zum Speichern auffordern, falls noch nicht gespeicherte Änderungen vorliegen nicht ausgewählt ist.

      HinweisHinweis

      Da dieses Formular für die Interaktion mit dem Workflow verwendet wird, soll verhindert werden, dass Benutzer von InfoPath 2010 zum Speichern aufgefordert werden. Wenn die Option ausgewählt ist, kann dies während der Ausführung des Workflows zu Ausnahmen führen.

    9. Klicken Sie auf OK, um die verschiedenen Dialogfelder zu schließen.

  5. Erstellen Sie eine Schemadatei für das Workflowaufgabenschema.

    Durch Hinzufügen des Workflowaufgabenschemas als sekundäre Datenquelle kann SharePoint Server 2010 dem Formular Aufgabendaten bereitstellen, die nach dem Laden des Formulars zum automatischen Vervollständigen von Feldwerten verwendet werden können. In einem ersten Schritt müssen Sie ein XML-Schema erstellen, das Ihr Workflowaufgabenschema darstellt. Weitere Informationen finden Sie unter Gewusst wie: Entwerfen eines Workflowaufgabenformulars für die Verwendung von Aufgabendaten.

    1. Erstellen Sie mithilfe eines Text-Editors oder Visual Studio eine Datei namens ItemMetadata.xml.

      HinweisHinweis

      Bei dem Dateinamen ItemMetadata.xml wird die Groß- und Kleinschreibung berücksichtigt.

    2. Fügen Sie der Datei das folgende Element hinzu:

      <?xml version=”1.0” encoding=”utf-8”?>
      <z:row xmlns:z="#RowsetSchema" 
      />
      
    3. Definieren Sie alle Aufgabeneigenschaften, die als Daten im Formular verwendet werden sollen, in der Datei ItemMetadata.xml. Fügen Sie hierzu das Präfix ows_ als Attribut sowie den Namen der Aufgabeneigenschaft hinzu. Legen Sie das Attribut als leere Zeichenfolge fest.

      In diesem Fall sollen die Anweisungen, die der Benutzer auf dem Initiierungsformular eingegeben hat, angezeigt werden. Diese Anweisungen wurden der Workflowaufgabe beim Erstellen als erweiterte Eigenschaften hinzugefügt.

      Im folgenden Code wird veranschaulicht, wie aus Code auf die erweiterte Eigenschaft zugegriffen werden kann.

      private void createTask(object sender, EventArgs e)
          {
            …
            taskProps.ExtendedProperties["instructions"] = instructions;
          }
      
      Private Sub createTask(ByVal sender As Object, ByVal e As EventArgs)
              ...
              taskProps.ExtendedProperties("instructions") = instructions
       End Sub
      

      Deshalb müssen Sie ein Attribut für die Aufgabeneigenschaft von "instructions" hinzufügen. Die fertig gestellte Datei ItemMetadata.xml sollte den folgenden Text enthalten.

      <z:row xmlns:z="#RowsetSchema" 
        ows_instructions="" 
      />
      
    4. Speichern Sie die fertige Datei ItemMetadata.xml auf der Festplatte.

  6. Fügen Sie dem Formular das Workflowaufgabenschema als sekundäre Datenquelle hinzu.

    1. Wählen Sie in InfoPath 2010 auf der Registerkarte Daten den Eintrag Datenverbindungen aus.

    2. Klicken Sie im Dialogfeld Datenverbindungen auf Hinzufügen.

    3. Wählen Sie im Datenverbindungs-Assistenten die Option Neue Verbindung erstellen mit und Daten empfangen aus. Klicken Sie auf Weiter.

    4. Wählen Sie XML-Dokument aus, und klicken Sie auf Weiter.

    5. Navigieren Sie zu dem Verzeichnis, in dem Sie die Datei ItemMetadata.xml gespeichert haben, wählen Sie sie aus, und klicken Sie auf Öffnen. Klicken Sie dann auf Weiter.

    6. Wählen Sie Daten als Ressourcendatei in die Formularvorlage einschließen aus, und klicken Sie dann auf Weiter.

    7. Geben Sie ItemMetadata.xml als Datenverbindungsname ein, und stellen Sie sicher, dass Daten beim Öffnen des Formulars automatisch abrufen ausgewählt ist. Klicken Sie auf Fertig stellen und anschließend auf Schließen.

      Nach dem Einfügen der Datei ItemMetadata.xml als Ressourcendatei in die Formularvorlage wird die Datei in Ihrer Workflowlösung nicht mehr benötigt.

      HinweisHinweis

      ItemMetadata.xml wird als sekundäre Datenquelle für Aufgabenformulare benötigt. Wenn Sie ItemMetadata.xml nicht als sekundäre Datenquelle hinzufügen, generiert das Formular beim Öffnen einen Fehler.

  7. Stellen Sie eine Datenbindung zwischen dem Textfeldsteuerelement Instructions und den instructions-Elementen im Workflowaufgabenschema her.

    1. Doppelklicken Sie auf das Textfeldsteuerelement Instructions.

    2. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Daten unter Standardwert auf die Schaltfläche Formel.

    3. Klicken Sie im Dialogfeld Formel einfügen auf Feld oder Gruppe einfügen.

    4. Wählen Sie im Dialogfeld Feld oder Gruppe auswählen die Datenverbindung für ItemMetadata aus.

    5. Wählen Sie das ows_instructions-Element aus.

    6. Klicken Sie auf OK. Klicken Sie im Dialogfeld Formel einfügen auf OK. Klicken Sie im Dialogfeld Textfeldeigenschaften auf OK.

      Das Textfeldsteuerelement Instructions ist nun an die Workflowaufgabeneigenschaft instructions gebunden. Wenn das Aufgabenformular von SharePoint Server 2010 geladen wird, werden die Aufgabenanweisungen vom Formular im Textfeld angezeigt.

    Es wurde hier ein boolescher Wert zum Hinzufügen eines Kontrollkästchens namens isFinished zum Formular verwendet. Dieses wird nun zu einer erweiterten Eigenschaft der Workflowaufgabe und wird von SharePoint Server 2010 an den Workflow übergeben. Wenn der Benutzer die Aufgabe bearbeitet, reagiert der Workflowcode auf das Aufgabenänderungsereignis und verwendet diese Eigenschaft, um festzustellen, ob die Aufgabe abgeschlossen ist.

    private void onTaskChanged(object sender, EventArgs e)
    {
        notFinished = 
           !bool.Parse(afterProps.ExtendedProperties["isFinished"].ToString());
    }
    
    Private Sub onTaskChanged(ByVal sender As Object, ByVal e As EventArgs)
        notFinished = Not Boolean.Parse(afterProps.ExtendedProperties("isFinished").ToString())
    End Sub
    
  8. Legen Sie Domäne als Sicherheitsstufe für das Formular fest.

    1. Klicken Sie im Menü Extras auf Formularoptionen.

    2. Klicken Sie im Dialogfeld Formularoptionen in der Liste Kategorie auf die Option Sicherheit und Vertrauensstellung.

    3. Deaktivieren Sie unter Sicherheitsstufe das Kontrollkästchen Sicherheitsstufe automatisch ermitteln, und klicken Sie dann auf Domäne.

    4. Klicken Sie auf OK, um die Änderungen zu speichern und das Dialogfeld Formularoptionen zu schließen.

  9. Veröffentlichen Sie das Formular.

    1. Klicken Sie im Menü Datei auf Speichern unter. Geben Sie im Dialogfeld Speichern unter den Dateinamen TaskForm.xsn ein. Speichern Sie das Formular im gewünschten Verzeichnis. In späteren Schritten navigieren Sie zu diesem Verzeichnis, um die Datei dem Workflowprojekt als Ressource hinzuzufügen.

    2. Klicken Sie im Menü Datei auf Veröffentlichen.

    3. Wählen Sie im Veröffentlichen-Assistent die Option An einer Netzwerkadresse aus, und klicken Sie dann auf Weiter.

    4. Klicken Sie auf Durchsuchen.

    5. Navigieren Sie im Dialogfeld Durchsuchen zu dem Ordner, in dem das Formular veröffentlicht werden soll. Geben Sie TaskForm als Dateinamen ein, und klicken Sie dann auf OK.

    6. Geben Sie im Veröffentlichen-Assistent TaskForm als Namen der Formularvorlage ein, und klicken Sie auf Weiter.

    7. Klicken Sie auf Veröffentlichen und Schließen.

Weitere Schritte

Schritt 3: Erstellen des Workflows in SharePoint Server 2010 (ECM)

Siehe auch

Konzepte

Workflows in SharePoint Server 2010

InfoPath-Formulare für Workflows