InfoPath und die InfoPath Forms Services auf dem SharePoint Server

Wer bisher seine Formulare mit Microsoft Word oder Adobe Acrobat erstellt hat, der kennt das Vorgehen, die Vorteile, Probleme und Einschränkungen. Mit Microsoft können Sie relativ schnell und einfach Formulare erstellen ohne dazu über große Design- oder Programmierkenntnisse verfügen zu müssen. Mit diesem Werkzeug können Sie Formulare bereitstellen, die im Hintergrund sogar an eine Datenbank oder andere externe Quellen geknüpft sein können. Natürlich können Sie diese Formulare auch auf dem Server verwenden. Sie brauchen dazu nicht einmal InfoPath selbst um diese Formulare auf dem nutzen zu können, denn Sie können sie einfach über den Designer bearbeiten. Gemeint sind damit bspw. die Standardformulare, die Sie angezeigt bekommen, wenn Sie Ihren neuerstellten Inhaltstypen Elemente hinzufügen.

Die InfoPath Forms Services sind in SharePoint Server 2010 integriert und ermöglichen die Nutzung von InfoPath Formularen auf SharePoint-Websites. Voraussetzung für die InfoPath Forms Services selbst, ist wiederum der Statusdienst. Wie Sie diesen einrichten, habe ich bereits in einem anderen Artikel beschrieben: Sharepoint-Statusdienst

SharePoint Foundation bietet die Konfigurationsmöglichkeiten für die InfoPath Forms Services zwar auch an, jedoch können Sie browserabhängige Formulare trotzdem nur in Verbindung mit dem SharePoint Server nutzen.

Bevor ich mit InfoPath-Formularen, Vorlagen und Browserformularen und der Verbindung zu SharePoint beginne, kommt natürlich ein bisschen Allgemeines zum Verständnis. Anschließend an diesen Beitrag folgen noch weitere zum Thema. Später geht es aber mehr ins Praktische. Vorher aber ein bisschen Theorie zum Verständnis. Das muss einfach sein. Es hilft auch denjenigen, die sich mit der Prüfung 70-667 für den SharePoint MCTS beschäftigen.

 

Architektur der InfoPath Forms Services

Seitengenerator

  • für die Verbindung mit externen Datenquellen (z.B. SQL Datenbanken)
  • Verwaltung der Daten und des Sitzungszustands der Datenübermittlung vom Client zum Server, ruft den Sitzungsstatus ab, lädt Daten und ruft verarbeitet Postback-Ereignisdaten
  • gibt Daten, die von HTTP-Handler der InfoPath Forms Services angefordert werden, an den IIS und die ASP.NET-Module zurück

Konverter für Formulare

  • ist zuständig für die Konvertierung der Formularvorlagen (xsn-Format) in ASPX-Seiten samt Steuerelementen, die wiederum von ASP.NET-Modulen gerendert werden
  • xsn-Dateien sind -Daten mit einem bestimmten Schema
  • hält die Lösungsdaten im Zwischenspeicher und sendet die konvertierten Daten an den HTTP-Handler der InfoPath Forms Services

HTTP-Handler der InfoPath Forms Services

  • empfängt Datenanforderungen von InfoPath-Formularen (IIS, ASP.NET-Module, Seitengenerator) und beantwortet diese

IIS und unterstützende ASP.NET-Module

  • IIS-Module und die Seite FormServer.aspx rendern die InfoPath-Formulare
  • es wird HTML-Code an den Browser zurückgegeben
  • Dateianforderungen an den Seitengenerator und Konverter senden
  • Weiterleitung der zur verarbeitenden Postbackinfos vom Seitengenerator

 

Möglichkeiten und Methoden von InfoPath Formularen in SharePoint

Ich habe im Folgenden ein paar Beispiele für die Leistung und Nutzung von InfoPath-Formularen aufgelistet.

  • Ein- und Ausblendung von bestimmten Formularbereichen, abhängig von der Aktion des Benutzers. Sie haben also ein dynamisches Formular, das je nach Auswahl, bspw. aus einer Dropdownliste, dem Nutzer einen entsprechenden Bereich ein- bzw. ausblendet oder Felder füllt.
  • Sie können das Formular mit einer Datenbank oder einem XML-Dokument verknüpfen und Benutzern damit Werte aus externen Quellen anzeigen lassen. Sinn macht das bspw. bei Artikel- oder Servicedaten, wobei der Mitarbeiter im SharePoint-Formular einen Service/Dienstleistung/Artikel auswählt und ihm anhand der Auswahl die passenden Detaildaten aus der Datenbank oder dem XML-Dokument gelesen werden.

So, wie Sie Dokumentenvorlagen aus Word – Endung DOTX – kennen, so gibt es auch in InfoPath Vorlagen. Sie können sich also eine Formularvorlage erstellen und diese an eine Dokumentenbibliothek anhängen oder in einer Formularbibliothek zur Verfügung stellen. Die Nutzer dieser Bibliothek können dann eine neue Instanz bzw. ein neues Formular von dieser Vorlage erstellen und dieses ausfüllen und in der Bibliothek ablegen. Als Beispiel könnte das ein Formular für einen Serviceantrag sein.

Eine andere Methode ist das Erstellen eines InfoPath-Formulars für einen Inhaltstypen. Sie wissen sicher schon, wie Sie einen neuen Inhaltstyp erstellen. SharePoint baut für Sie dabei, im Hintergrund, ein Formular zusammen. Jedes Mal, wenn Sie ein neues Element in die Liste einfügen, bekommen Sie dieses Formular zum Ausfüllen angezeigt. Dieses Standardformular können Sie über InfoPath bearbeiten.

 

Wo werden die InfoPath-Formulare veröffentlicht und von wem?

Durch die InfoPath Forms Services können Benutzer ihre eigenen Formulare erstellen. Sicherzustellen ist dabei aber auch, dass der Server funktionsfähig bleibt 😉

Aus diesem Grund gibt es zwei Orte an denen Nutzer ihre Formulare veröffentlichen können:

  1. Zentraladministration
  2. Dokumentenbibliotheken und Listen

Wichtig ist hier etwas über die Sandbox bzw. den Sandkasten zu wissen. Zugegeben, eine etwas witzige Bezeichnung. Wer aber viel mit Anwendern zu tun hat und die übereifrigen Nutzer kennt, die das System manchmal zum Absturz bringen, die wissen, dass Sandkasten genau die richtige Bezeichnung ist. Dort können Sie sich austoben 😉

SharePoint-Lösungen können einzeln aktiviert und auch wieder deaktiviert werden. Veröffentlichen können Sie diese dabei in der Farm oder auch nur im Sandkasten, was den Ausführungsort der Lösung etwas einschränkt. Diese Sandkastenlösungen können dann bestimme Ressourcen nicht verwenden und kommen aus der Websitesammlung nicht heraus. Durch diese Einschränkung oder auch Abkapselung vom Rest des Systems (übrigens nutzt auch Google Chrome so eine Technik) ist es den Sandkastenlösungen nicht möglich auf Netzwerk- und auch Computerressourcen zuzugreifen, was allerdings wiederrum eine Zusammenarbeit mit einer externen Datenquelle behindert.

Formulare in Websitesammlungen können von jedem hochgeladen und angepasst werden, der über ausreichende Berechtigung verfügt. Unsauber erstellte Formulare können damit die Stabilität des SharePoint Servers gefährden. Der Sinn dabei ist eben genau der, dass die Sandbox dies nun verhindert, indem alles aus diesem Sandkasten in einem eigenen Prozess läuft. Das Ausführen von gefährlichen Aktionen ist damit nicht möglich.

Wenn Sie sich nicht einschränken lassen möchten, weil Sie auf die entsprechenden Ressourcen, wie bspw. eine Datenbank, zugreifen wollen, dann müssen Sie die Farmformularbibliothek der Zentraladministration nutzen. Dort spielen Sie quasi außerhalb vom Sandkasten, was wiederum vom Administrator genehmigt werden muss. Testen Sie die Formulare aber ausgiebig, bevor Sie versehentlich die Performance des SharePoint Servers nach unten drücken. Das genaue Vorgehen einer solchen Veröffentlichung folgt in weiteren Artikeln.

 

Statusdienst aktivieren

Ich habe oben bereits erwähnt, dass Sie für die InfoPath-Formulare den SharePoint Statusdienst benötigen. Wie Sie diesen aktivieren, finden Sie hier: Sharepoint-Statusdienst

Einstellungen für die InfoPath Services

Ob Ihre Formularvorlage browserfähig sein soll, legen Sie bei der Erstellung in InfoPath und in SharePoint bei der Veröffentlichung fest. Wenn Sie die Browserfähigkeit deaktivieren, werden die Formularfeatures, die vom Browser unterstützt werden, deaktiviert. In der Zentraladministration können Sie die allgemeine Browserfähigkeit und weiter Einstellung der InfoPath Services wie folgt konfigurieren:

  1. Zentraladministration öffnen
  2. über Allgemeine Anwendungseinstellungen wählen Sie unter InfoPath Forms Services den Punkt InfoPath Forms Services konfigurieren
  3. An dieser Stelle können Sie jetzt die Browserfähigkeit der Formularvorlagen konfigurieren, die in Formularbibliotheken veröffentlicht werden. Diese Einstellung hat jedoch keine Auswirkung auf Formulare in Listen und auf Workflowformularvorlagen.

Formularvorlagen und Datenverbindungsdateien ()

Formularvorlagen können Datenverbindungen in Form angegebener Datenverbindungsdateien enthalten. Diese Universal Data Connection-Dateien, kurz UDCX-Dateien, enthalten die Datenverbindungen für die Formulare bzw. die festgelegten Optionen für die Verbindung. Formulare, die also von der Formularvorlage abgeleitet/erstellt werden, bekommen die Verbindungsdaten übergeben. Dort ist folgendes festgelegt:

  • Gilt die Datenverbindung der Benutzerformularvorlagen domänenübergreifend?
  • Wie ist die Authentifizierung für Benutzerformularvorlagen?
  • Wie ist der Maximalwert der Antwortgröße in Kilobyte?
  • Ist SSL für HTTP-Authentifizierung an Datenquellen erforderlich?
  • Welches Timeout (Standardtimeout und max. Timeout) besteht für die Datenverbindung?
  • Soll eine Secure Store Service-ID zur Authentifizierung genutzt werden?

Die Einstellungen vom Administrator in der Zentraladministration haben übrigens Vorrang vor den anderen und können nicht ausgehebelt werden.

Außer den UDCX-Dateien (Universal Data Connection) gibt es übrigens auch noch die -Verbindungsdateien (Office Data Connection). Bei der Arbeit mit Microsoft InfoPath wird Ihnen beides begegnen.

Formularvorlagen auf dem SharePoint Server veröffentlichen / deaktivieren / stilllegen

Wie Sie InfoPath Formulare erstellen und mit Daten versorgen, können Sie den Beiträgen nachlesen, die ich am dieses Artikels aufgeführt habe.

Nachdem Sie also Ihr Formular in InfoPath erstellt haben, kann der Administrator es über den folgenden Weg auf den SharePoint Server hochladen. Dieses Vorgehen ist nur eine Möglichkeit… viele Wege führen auch hier wieder zum Ziel.

  1. Zentraladministration öffnen
  2. Unter dem Punkt Allgemeine Anwendungseinstellungen wählen Sie Formularvorlagen verwalten
  3. Wählen Sie Formularvorlage hochladen und dort über den Button Durchsuchen die entsprechende Datei aus
  4. Über den Button Überprüfen können Sie testen, ob das Formular Fehler enthält
  5. Wenn das Formular in Ordnung ist und keine Fehler ermittelt wurden, können Sie es hochladen.
  6. Wenn das Formular bereits existiert, wird es – je nach Einstellung – überschrieben und die Versionsnummer erhöht.
  7. In der Liste der Formularvorlagen wählen Sie nun das eben hochgeladene Formular und da den Punkt Für Websitesammlung aktivieren.
  8. Aktivieren Sie das Formular für die gewünschte Websitesammlung und bestätigen Sie die Aktion.

An dieser Stelle können Sie die Formulare auch deaktivieren, löschen oder für Wartungsarbeiten stilllegen. Für das Stilllegen geben Sie die Minuten an, bis die die Stilllegung aktiviert wird. Um es sofort stillzulegen, geben Sie bei der Zeit in Minuten einfach 0 ein.

Weiter Artikel zum Thema:

  1. InfoPath Formulare – Einführung zum Thema…
  2. InfoPath Formulare mit eigenen Schaltflächen
  3. InfoPath Formulare und die Datenverbindungen…

Fehler und Lösungen:

Fehler 1 beim hochladen – Formularüberprüfungsstatus

Wenn Sie Ihr Formular hochladen möchten und dieses per Button Überprüfen testen, erscheint die folgende Meldung:

Die eingeschränkte Sicherheitsebene wird nicht unterstützt.

Ursache: Vertrauensstufe vom InfoPath Formular ist zu sensibel eingestellt.
Lösung:

  • Öffnen Sie Ihr Formular in InfoPath.
  • Wählen Sie im Reiter Datei den Button Formularoptionen.
  • Hier wählen Sie die Kategorie Sicherheit und Vertrauensstellung.
  • Wählen Sie hier Voll vertrauenswürdigbzw. legen Sie die Sicherheitsstufe so fest, dass höchstmögliche Sicherheit gewährleistet ist, das Formular aber dennoch hochgeladen werden kann.

kleine Ergänzung – da immer mal die Frage aufkommt

Was heißt eigentlich bzw. was bedeutet Out-Of-The-Box im Bereich SharePoint?

Wenn man Google nach diesem Thema befragt, bekommt man einige Treffer, die auf verschiedene Foren verweisen, wo dieses Thema behandelt wird. Kurz und knapp gesagt gibt es folgende Bedeutungen, die Aufschluss auf die Frage geben:

  • Fix-und-Fertig-Lösungen
  • gebrauchsfertig
  • Standartprodukte
  • direkt einsatzfähig
  • im Standartumfang enthalten

Selbst Duden.de gibt darüber folgende Auskunft:

  • betriebsfertig, ohne dass noch zusätzliche Komponenten ein- oder angebaut werden müssen
  • englisch, eigentlich = aus der Schachtel, der Verpackung

Für Software gilt also: Out-Of-The-Box sind die Funktionen, die die Software nach der Installation für den Einsatz parat hält. Quasi die Bordmittel. Wenn Ihnen also jemand sagt „Das geht nicht Out-Of-The-Box!“, dann möchte er damit sagen, dass Sie eine Eigenentwicklung für Ihr System benötigen.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.