An open API service indexing awesome lists of open source software.

https://github.com/schild-report/schild.report

Desktop Anwendung zum Erstellen von Schild-Reports. Installationsdateien unter 'releases'.
https://github.com/schild-report/schild.report

dokument electron nrw pdf reporting reporting-engine reporting-tool schild schule svelte svelte-components zeugnisse

Last synced: about 1 month ago
JSON representation

Desktop Anwendung zum Erstellen von Schild-Reports. Installationsdateien unter 'releases'.

Awesome Lists containing this project

README

        

_schild.report_ ist eine moderne Lösung zum Erstellen von Reports mit Daten
aus der Schild-Datenbank, die den bei Schild mitgelieferten Report-Designer
vollständig ersetzen kann.

Hauptmerkmale von _schild.report_ lassen sich wie folgt zusammenfassen:

* übersichtliche Reporterstellung in lesbarem Format
* perfekte Typografie
* vollständige Steuerung der Druckausgabe
* unterstützung aller gängigen Grafikformate
* schnelle Anzeige und Ausgabe der Dokumente in Vorschau und PDF
* Live-Vorschau bei der Erstellung von Dokumenten

_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.

Die in _schild.report_ eingesetzten Reports werden bei jedem Speichervorgang
neu eingelesen und ermöglichen dadurch eine Live-Vorschau von Dokumenten,
während sie geschrieben werden. Dadurch können Fehler direkt behoben werden.

#### 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.

Um Reports erstellen oder bearbeiten zu können, sollte ein einfacher Texteditor
vorhanden sein, mit dem sich HTML-Dateien erstellen lassen. Empfehlenswert ist
z.B. VS-Code. Aber auch notepad.exe lässt sich problemlos einsetzen.

#### Installation
Für Windows stehen unter Github aktuelle Ausgaben im MSI-Format zur Verfügung,
d.h. es sind automatisch ausführbare Installationsdateien. Für Linux und MacOS
sind ebenfalls aktuelle Pakete verfügbar. Bitte unter
[https://github.com/schild-report/schild.report/releases](https://github.com/schild-report/schild.report/releases)
nachschauen.

_schild.report_ erstellt im Dokumentenverzeichnis folgende Ordner:

schild.report
|- reports
|- pdf

Der Ordner `pdf` archiviert alle erstellten Dokumente entsprechend dem gewählten
Jahr, `reports` enthält weitere Ordner, die als Sammlung für Reports dienen.

Wird ein Ordner unter `reports` erstellt, erscheint er in der Schüler-, bzw
Klassenansicht. Gleiches gilt für darin abgelegt Reports.

#### Nutzung
Um _schild.report_ nutzen zu können, müssen Reports im oben genannten
`reports`-Ordner abelegt werden. Dazu kann man z.B. die Demo-Reports verwenden,
die sich auf Github befinden.

#### So siehts aus
Hier ein paar Bilder mit Schülern aus der Testdatenbank und den Demo-Reports
unter Version 1. Version 2 startet mit leicht veränderter Optik:

![auswahl](https://b.hmt.im/auswahl.png)
Über eine Suchfunktion können Klassen oder einzelne Schüler ausgewählt werden.

![klasse](https://b.hmt.im/klasse.png)
Hier die Klassenübersicht mit Links zu allen Schülern. Um Dokumente für eine
Teilauswahl zu erzeugen, werden diese in der Klassenübersicht selektiert.

![schueler](https://b.hmt.im/schueler.png)
Schüler werden mit einer Notenübersicht und Personaldaten angezeigt. Wenn ein
Bild vorhanden ist, wird auch dies angezeigt.

![zeugnis](https://b.hmt.im/zeugnis.png)
Hier ein Zeugnis als Beispiel. Die Gestaltung ist in diesem Fall recht einfach
gehalten. Da die Testdatenbank anonymisiert worden ist, fehlen einige Daten. In
der Auswahl oben rechts können die jeweiligen Halbjahre ausgewählt werden.
Voreingestellt ist das aktuelle Halbjahr.

![pdf](https://b.hmt.im/pdf.png)
Der PDF-Button erzeugt ein PDF im PDF-Ordner und zeigt das Dokument mit dem
systemeigenen PDF-Programm an. In diesem Fall der Internet Explorer. Es kann
auch Acrobat eingestellt werden.

![vorlagen](https://b.hmt.im/vorlagen.png)
Im Dokumentenordner befindet sich das schild.report-Verzeichnis mit dem
PDF-Archiv und den Reportvorlagen. Jeder Ordner wird als Einheit dargestellt,
so auch der Demo-Ordner mit seinen Reports. Wie man erkennen kann, sind die
Reports HTML-Dateien. Wird ein zusätzlicher Report erstell, erscheint er
automatisch in der Dokumentenübersicht in schild.report. Veränderungen werden
ebenfalls automatisch erfasst, so dass man einen Report bearbeiten kann und mit
jeder Speicherung wird die Anzeige in schild.report aktualisiert.

![quelle](https://b.hmt.im/quelle.png)
Die Notenliste ist auf diesem Bild fast vollständig abgebildet und nur einige
Zeilen lang.

#### schild.report ist Open Source
Da der Quellcode auf GitHub veröffentlicht wird und unter der freien MIT-Lizenz
steht, kann _schild.report_ beliebig angepasst und verändert werden. Mitarbeit
und neue Ideen sind ausdrücklich erwünscht.

#### Quellen
Hier nun eine Übersicht über die verwendeten Quellen:

*schild.report* für Windows, Mac und Linux (jeweils aktuelle MSI-Datei): [https://github.com/schild-report/schild.report/releases](https://github.com/schild-report/schild.report/releases)

Quellcode für *schild.report*: [https://github.com/schild-report/schild.report](https://github.com/schild-report/schild.report)

Das in den Bildern verwendete Demo-Verzeichnis ist veraltet. Bitte das bk-2018 verwenden. Diese Dokumente sind aktuell und gepflegt: [https://github.com/schild-report/demo](https://github.com/schild-report/bk-2018)

Ein Video mit den wichtigsten Funktionen: [https://b.hmt.im/schild.report.webm](https://b.hmt.im/schild.report.webm)

Eine Übersicht zu Svelte, dem verwendenten Framework zur Steuerung der Reports: [https://svelte.dev](https://svelte.dev)