Sen descrición

burningTyger c687e3ae32 update readme %!s(int64=6) %!d(string=hai) anos
src 867c3d79f7 aufräumen %!s(int64=6) %!d(string=hai) anos
src-electron 867c3d79f7 aufräumen %!s(int64=6) %!d(string=hai) anos
.babelrc 38f216a5e9 update to q 16 %!s(int64=6) %!d(string=hai) anos
.editorconfig ca28f2fc2e erster commit wip %!s(int64=6) %!d(string=hai) anos
.eslintignore ca28f2fc2e erster commit wip %!s(int64=6) %!d(string=hai) anos
.eslintrc.js ca28f2fc2e erster commit wip %!s(int64=6) %!d(string=hai) anos
.gitignore fc00c9abb4 wip %!s(int64=6) %!d(string=hai) anos
.jsconfig.json fdd28400bf wip %!s(int64=6) %!d(string=hai) anos
.postcssrc.js ca28f2fc2e erster commit wip %!s(int64=6) %!d(string=hai) anos
.stylintrc ca28f2fc2e erster commit wip %!s(int64=6) %!d(string=hai) anos
Readme.md c687e3ae32 update readme %!s(int64=6) %!d(string=hai) anos
package-lock.json 867c3d79f7 aufräumen %!s(int64=6) %!d(string=hai) anos
package.json 867c3d79f7 aufräumen %!s(int64=6) %!d(string=hai) anos
quasar.conf.js 867c3d79f7 aufräumen %!s(int64=6) %!d(string=hai) anos

Readme.md

schild.report ist das Ergebnis einer mehrjährigen Entwicklungsarbeit an einer Lösung, die die Erstellung von Dokumenten mit Daten aus der Schild-Datenbank erleichtert. Zwar bringt Schild einen Report-Designer mit, aber der ist in seinem Funktionsumfang eingeschränkt und der Komfort für Benutzer ist wohl eher dem Zweck untergeordnet. Man kann mit Maus und Tastatur alle Elemente eines Dokuments positionieren, aber verzerrte Texte, unscharfe Grafiken und unübersichtliche Subreport-Strukturen bringen mehr Frust als Freude.

schild.report präsentiert sich als Alternative mit folgenden Zielen:

  • übersichtliche Reporterstellung in lesbarem Format
  • perfekte Typografie
  • vollständige Steuerung der Druckausgabe
  • unterstützung aller gängigen Grafikformate
  • schnelle Anzeige der Dokumente

Lesbares Reportformat schild.report verwendet zur Erstellung von Reports das für Internetseiten verwendete HTML, eine Auszeichnungssprache, die mit Hilfe von sog. Tags die Darstellung von Elementen steuert. D.h. mit Hilfe von Fett werden Textstellen als Fett markiert und ausgegeben. Ebenso kann CSS eingesetzt werden, mit dessen Hilfe Elemente neben weiteren Darstellungsmöglichkeiten auch noch frei bzw. in Abhängigkeit zu anderen Elementen positioniert werden können. Mit Hilfe dieser modernen Gestaltungstechniken, man werfe einen Blick auf die Internetseiten größerer Firmen, ist unschwer zu erkennen, dass Schuldokumente keine große Herausforderung darstellen.

Da HTML statisch ist, also erstmal nicht mit Daten aus der Schild-Datenbank gefüttert werden kann, wird mit Hilfe von Platzhaltern gearbeitet, die anschließend die Daten einfügen. Dazu wird eine JavaScript-Bibliothek namens Svelte verwendet, die sich hervorragend dazu eignet. Angaben wie {schueler.Name} geben den Nachnamen des Schülers aus. Diese Daten werden von schild.report zur Verfügung gestellt, die geschriebenen Reports können beliebig darauf zugreifen und verarbeiten und damit individuelle Schülerdokumente erstellen, die natürlich auch im Klassensatz verarbeitet werden können.

Da diese Reports im Prinzip einfache HTML-Dokumente sind, können sie in jedem Texteditor geschriebenen und angeschaut werden. Es werden keine Binärformate verwendet. Mit ein bisschen Übung lassen sich solche Dokumente recht gut lesen und schreiben. Ein weiterer Vorteil ist, dass Svelte auf JavaScript basiert und damit auch Subreports erlaubt, d.h. man kann kleine Teile eines Reports, die in vielen anderen Dokumenten verwendet werden, auslagern und wiederverwenden.

Zur Anzeige der HTML-Dokumente setzt schild.report auf Electron, das auf dem Chromium-Browser aufbaut. Dadurch stehen einer perfekten Typografie nichts im Wege. Moderne Browsertechnologien sind spezialisiert auf die Textausgabe am Bildschirm und im Druck und können darüber hinaus viele Grafikformate verarbeiten. Damit ist es auch möglich, dass schild.report Vektorgrafiken verarbeiten kann, die beliebig skalierbar sind und daher niemals zu klein oder zu groß dargestellt werden können. Die Qualität bleibt identisch.

JavaScript ist die Sprache, die von vielen großen Internetfirmen unterstützt und finanziert wird. Dementsprechend groß ist das Interesse, dass JavaScript schneller wird. Die Leistungsfähigkeit moderner JavaScript Engines macht sich auch in der Anzeige der Reports bemerkbar. Die Anzeige eines Klassensatzes ist innerhalb einer Sekunde möglich. Lediglich der Datenverkehr zwischen MySQL-Server und schild.report verzögert die Darstellung meist um ein oder zwei Sekunden. Geschwindigkeiten, die mit Schild nicht denkbar wären.

Voraussetzungen schild.report setzt eine MySQL-Datenbank voraus. Access-Datenbanken können leider nicht angesprochen werden. Dafür läuft schild.report auf Windows, Linux und MacOS.