Ablauf der Reporterzeugung » Historie » Revision 2
« Zurück |
Revision 2/4
(Vergleich)
| Weiter »
Steffen Christgau, 10.04.2022 14:19
Ablauf der Reporterzeugung¶
Prinzipieller Ablauf¶
Reports werden grundsätzlich aus den Ergebnissen einer oder mehrerer Datenbankabfragen generiert. Die Ergebnisse werden in einer XML-Datei gespeichert. Aus dieser Rohdatendatei können mit Hilfe von Backends verschiedene Ausgaben generiert werden. Zur Zeit sind dies bspw. PDF-Dateien, CSV-Dateien oder die direkte Ausgabe an den Drucker. Nicht für alle Reports werden alle Ausgabeformate unterstützt.
Die Einstellungen für die Reporterzeugung und einzelnen Reports erfolgt über eine Vielzahl von Dateien, die sich unter dem Verzeichnis reporting
befinden.
Generierung der Rohdaten¶
Umwandlung in Ausgabeformate¶
Die Umwandlung in andere Formate geschieht grundsätzlich mit XML-Stylesheets (XSL-Dateien). Diese Dateien befinden sich im Verzeichnis XSL
und Unterverzeichnissen, die nach dem jeweiligen Backend benannt sind (FP
ist das Backend für den Direktdruck, INC
enthält allgemeine, wiederverwendbare Dateien). Soll ein Backend einen Report unterstützen, muss eine XSL-Datei im Verzeichnis des Backends mit dem Kürzel des Reports existieren (bspw. M_ME.xsl für das Meldeergebnis). Die XSL-Datei wird schließlich auf die XML-Datei, die die Rohdaten enthält, angewendet (XSL Transformation).
Zur Generierung von PDFs wird durch die XSL-Transformation eine XSL-FO-Datei erzeugt. Diese wird anschließend durch Apache FOP in eine PDF-Datei umgewandelt. Da Apache FOP eine Java-Anwendung ist, ist für das Erzeugen von PDFs eine Java-Installation notwendig.
Im Falle von CSV erfolgt nach der XSL-Transformation keine weitere Umwandlung.
Für die direkte Druckausgabe wird eine Seitenbeschreibung generiert und anschließend an den Drucker gesendet.
Zusätzliche Backends¶
Um einen neuen Dateityp unterstützen zu können, das auf einer Umwandlung von XML-Daten in ein anderes Dateiformat basiert, muss ein zusätzliches Backend angelegt werden. Hierfür sind Schritte notwendig:
1. Unterhalb des Verzeichnis Reporting\XSL
muss ein neuer Ordner mit dem Namen des Backends angelegt werden. Üblicherweise entspricht dieser Name der Dateinamenserweiterung des erzeugten Dateien in Großbuchstaben. Für ein Backend, das Text-Dateien erzeugt, wäre also ein Verzeichnis Reporting\XSL\TXT
anzulegen
2. Im Verzeichnis aus Schritt 1 muss eine Datei config.ini
angelegt werden. Diese enthält bspw. folgenden Inhalt
[ReportingXslt] MimeType=text/plain Extension=csv Enabled=TrueHierbei entspricht der
MimeType
einem eindeutigen Bezeichner des Ausgabetyps, unabhängig von der Dateierweiterung, die über den Schlüssel Extension
definiert wird. Über den Schlüssel Enabled
können Backends ein- und ausgeschaltet werden.
Die Backends können auch in Verzeichnissen unterhalb des Plugins
-Verzeichnis angelegt werden. Für das beispielhafte TXT-Backend könnte dies unter Plugins\MeinPlugin\Reporting\XSL\TXT
erfolgen.
Von Steffen Christgau vor etwa 3 Jahren aktualisiert · 2 Revisionen