Infopath: eigentlich eine gute Sache, aber…

Infopath wirkt ja auf den Anwender wirklich wie ein einfach zu handhabendes Programm. Infopath, das wissen die wenigsten, die es nicht selbst einsetzen, ist - landläufig gesprochen- ein Tool zur Erstellung formularbasierter XML Daten und ein Produkt der Office Familie.

Aus Entwicklersicht entpuppt Infopath sich schnell als behäbig und kompliziert, denn die Erstellung jener Formulare, die der Anwender später ausfüllt, wird umständlich, wenn die XML Struktur einen gewissen Komplexitätsgrad erreicht hat. Mal was zu Ärgernissen aus einer “anderen Welt”: der von Microsoft. Vielleicht auch mein Nachruf auf Infopath 2003.

Speichert man eine Infopath Vorlage, so entstehen zunächst .xsn Dateien. Ein proprietäres Datenformat, mit dem wenig anzufangen ist. Was dahintersteckt, sieht man erst, wenn man Formularvorlagen extrahiert. Das Mittel der Wahl bei der Entwicklung von Formularen.

In Grundzügen besteht das Innenleben dieser .xsn Datei aus einer Reihe von Hilfsdateien, zum Teil ebenso proprietär, zum Teil dann noch XML und XSD und XSL Dateien, also Schemata und Stylesheets aus der XML Welt. Schnell ist man da versucht, das alles doch lieber händisch zu erstellen. Das muss man manchmal übrigens sogar, denn gelegentlich versagt Infopath (zumindest 2003) beim Setzen des korrekten Pfads in XPath Anweisungen.

Warum händisch?

Infopath 2003 präsentiert beispielsweise bei der Generierung von Bedingungen und XPath Regeln nicht enden wollende Dialogfenster. Um eine simple Abfrage vom Typ “nicht leer” auf ein Feld loszulassen, sind zum Teil vier oder fünf Dialogfenster übereinander geöffnet. Die wollen dann natürlich auch wieder geschlossen werden. Eine endlose Klickerei. Was man sich dabei gedacht hat, ist eine spannende Frage.

Man kann es noch weiter treiben, als hier abgebildet…. Was hier abgebildet ist, begegnet einem übrigens nicht gelegentlich mal sondern gehört eher zu den Standardaufgaben der Formularerstellung.

The application facilitates form design through a surprisingly sophisticated toolbox of custom controls and layout objects that are bound to entities defined in an XML schema.

habe ich da gefunden. Wie nett…

Machen wir es kurz: für den Entwickler ist Infopath an dieser Stelle eine einzige Usability Katastrophe.

Leider ist die händische Editierung mit einem vernünftigen Texteditor gar nicht so einfach. Da kommt nämlich die obskure XSF Datei ins Spiel, genannt “manifest” und gleichzeitig das Herzstück des Formulars. Dort wird alles mögliche definiert, dort werden Abfragen registriert und so weiter. Wer also glaubt, mit der Erstellung eines gelungenen Stylesheets weiter zu kommen, wird also jäh enttäuscht. Die Kontrollen, die man vornehmen muss, um zu überprüfen, ob wirklich alles passt, kosten einfach zu viel Zeit. Fehleranfälligeit extrem hoch, wieder Geklicke.

Layouting für Formularansichten… viel Spaß

Wer sich durch die XSL Stylesheets wühlt, wird vor allem von einer Tatsache schier erschlagen: den zwischen dem Code liegenden Formatierungsanweisungen. Hier etwas zu finden, ist mehr als mühsam. Layout Probleme zu entdecken, ist schier unmöglich. Ein Frustrationserlebnis, wenn man erstmal anfängt, etwas verbessern zu wollen, denn Infopath generiert ein wirklich abenteuerliches Konstrukt aus DIVs, Tabellen und Paragraphen mit einer Unmenge an Inline Styles. Wer beim Stylen mit CSS einen gewissen Perfektionismus an den Tag legt, wird fluchen. Hier herrschen eher Wald und Wiesen Verhältnisse

Wie wichtig die Sache mit dem Layout ist, lässt sich an folgenden Szenario gut veranschaulichen: Ein klassisches Einsatzgebiet für Infopath ist beispielsweise die Erfassung von Kundendaten und Bestellungen und der Ausdruck von Rechnungen (hier spielt XML ja seine wahre Stärke aus). Und genau diese Rechnungen sollen schließlich auch passen. Da darf kein Abstand willkürlich sein. Nur leider ist Infopath manchmal anderer Meinung.

Das Debuggen des Layouts ist überhaupt eine recht abenteuerliche Sache (zumindest in 2003): Hier wird viel mit Tabellen gearbeitet und für die stehen die üblichen Layoutvarianten zur Verfügung, wie man sie beispielsweise von Word kennt. Dass zum Teil automatisiert Abstände eingefügt werden, wo man doch eigentlich der Meinung war, diese explizit auf null gesetzt zu haben, ist das eine. Das andere ist, dass Copy und Paste oftmals dazu führt, dass die Schriftformatierung nicht nur wie von Zauberhand geändert bzw. nicht übernommen wird, sondern sich schlicht per graphischen User Interface nicht mal mehr anpassen lässt, ist das andere. Kaum mehr plausibel erklärbar.

Der Anwender hat es besser, oder?

Natürlich garantiert der Entwickler, dass wenigstens der Anwender Spaß mit Infopath hat (wenn schon nicht der Entwickler). Hier bringt Infopath unter anderem als Officeprodukt zwar eine Reihe nützlicher Features mit (beispielsweise Programmierung des Menüs), so richtig zufriedenstellend ist das allerdings nicht. Wer allerdings Anwender hat, die den Umgang mit einem Office Programm gewöhnt sind und versucht, alle inhaltsspezifischen Fragen irgendwie abzufangen, dem wird es schnell gelingen, seine Nutzer zufrieden zu stellen.

Da Infopath damit für Anwender wirklich ein gelungenes Programm ist (wie sonst wären sie in der Lange, so unkompliziert XML Daten zu erstellen- und das ohne es überhaupt zu merken) und Sharepoint in der 2007 Variante sogar Werkzeuge mitbringt, um Infopath Formulare online ausfüllen zu lassen (toll, denn Infopath hat schließlich nicht jeder), wird man für diese Ärgernisse wenigstens mit zufriedenen Benutzern belohnt.

XSLT und Aufräumen

Ich habe mich durchgeackert. Viele kleine Änderungen waren noch nötig, gerade am Layout, während bereits die ersten XML Dokumente in Produktion gingen. Und nun geht es noch ans Aufräumen und an kleine Änderungen des XML Schemas. Dafür wird nun zum Einsatz kommen. Es ist wohltuend, sich direkt mit XPath und XSLT auseinanderzusetzen. Ob sich dann nicht doch noch Probleme auftun, wenn das XML sein von Infopath liebevoll erstelltes Schema sucht, wird sich zeigen.

Dann wühle ich mich vielleicht wieder durch die “Innereien” des XSN Files und fluche das ein oder andere Mal. Was mich bei einer Migration und bei Einsatz der neueren Infopath Version erwarten wird, bleibt spannend.

Arbeiten mit Infopath ist jedesmal eintauchen ist ein anderes Universum, in der manche Fragen einfach hinten angestellt werden müssen. Ich bin gespannt, was 2007 mir bieten wird. Es kann an einigen Stellen nur besser werden. Infopath kenn ich jetzt wenigstens aus dem EffEff - mit all seinen Macken.

 

Auch was dazu sagen?