diff --git a/README.md b/README.md index 3f54dba..dede845 100644 --- a/README.md +++ b/README.md @@ -5,26 +5,25 @@ Das vorliegende Python-Projekt liest u.a. zwei Exportdateien der Schulverwaltungssoftware SchildNRW ein und erzeugt daraus zum einen HTML-Folien mit Schülerleistungsdaten zur Präsentation auf Halbjahreskonferenzen und zum anderen PDF-Dokumente mit Übersichten der Leistungsdaten zum Ausdrucken. +**Wichtiger Hinweis:** Da die Exportoptionen der SchildNRW-Versionen 2 und 3 sind vollständig kompatibel sind, kann das vorliegende Projekt problemlos mit Schild Version 2 und 3 verwendet werden. -## Beispieldaten -Für eine fiktive Beispielschule mit nur einer Klasse mit drei Schülern habe ich fiktive Leistungsdaten angelegt. +## Beispieldaten zur Illustration -Hier eine Übersicht der Eingabedateien in Ordner [./beispielinput](./beispielinput/): +Um die Vorgehensweise und die Ausgabe des Python-Skript zu illustrieren, habe ich für eine fiktive Beispielschule mit nur einer Klasse mit drei Schülern fiktive Leistungsdaten angelegt. + +Nach einem Export von zwei Dateien aus Schild heraus und dem teilweise optionalen Anlegen zweier weiterer Konfigurationsdateien (vgl. ausführliche Beschreibung auf den nachfolgenden Seiten) ergeben sich im Beispiel vier Eingabedateien, die im Unterordner [./beispielinput](./beispielinput/) zusammengefasst werden: - [SchuelerLeistungsdaten.dat](./beispielinput/SchuelerLeistungsdaten.dat) - [SchuelerLernabschnittsdaten.dat](./beispielinput/SchuelerLernabschnittsdaten.dat) - [epoche.csv](./beispielinput/epoche.csv) - -und der Konfigurationsdatei im gleichen Ordner: - - [config.ini](./beispielinput/config.ini) -Entsprechend hier die Ausgabedateien: +Entsprechend werden durch das Skript die folgenden Ausgaben generiert: a) HTML-Folien im Ordner [./output/html](./output/html) - - [folien.html](./output/html/folien.html) + - [folien.html](https://files.lehrerlezius.de/halbjahr/folien.html) b) PDF-Dokumente im Ordner [./output/pdf](./output/pdf) diff --git a/doc/dateien.md b/doc/dateien.md index 9a9d1b4..cf7477b 100644 --- a/doc/dateien.md +++ b/doc/dateien.md @@ -1,32 +1,30 @@ # Erzeugen der Dateien -## Export aus Schild +## 1. Export aus Schild -Rufen Sie SchildNRW auf und rufen Sie den Export „Schnittstelle Schild-NRW“ auf. +Starten Sie SchildNRW und rufen Sie den Export „Schnittstelle Schild-NRW“ auf. -Wählen Sie unter "zu exportierende Daten" lediglich die beiden Optionen "Schüler: Leistungsdaten" und "Schüler: Lernabschnittsdaten". +Wählen Sie unter "zu exportierende Daten" die beiden Optionen "Schüler: Leistungsdaten" und "Schüler: Lernabschnittsdaten". Setzen Sie unter den Optionen den Haken bei "nur sichtbare Einträge exportieren" und "Klasse als zusätzliches Identifikationsmerkmal hinzufügen". Lassen Sie die Option "nur aktuellen Abschnitt exportieren" jedoch unberücksichtigt. -Wählen Sie nun zumindest das aktuelle Schuljahr aus. - -Wählen Sie weitere ein bis zwei Vorgängerschuljahre aus, wenn +Wählen Sie nun zumindest das aktuelle Schuljahr aus. Wählen Sie weitere ein bis zwei zusätzliche Vorgängerschuljahre aus, wenn - es in Ihrer Datenbank eine/n SchülerIn gibt, der/die im Vorgängerschuljahr eine Wiederholung zum Halbjahr begonnen hat (=> insgesamt zwei Schuljahre exportieren), - es an Ihrer Schule einen Abiturabschlussjahrgang (Q2 bzw. 13) gibt (=> insgesamt zwei Schuljahre exportieren), -- in diesem Jahrgang ein/e SchülerIn ein Schuljahr wiederholt hat (=> insgesamt drei Schuljahre exportieren). +- in diesem Abschlussjahrgang ein/e SchülerIn ein Schuljahr wiederholt hat (=> insgesamt drei Schuljahre exportieren). Starten Sie den Export. Die dabei erzeugten Dateien 'SchuelerLeistungsdaten.dat' und 'SchuelerLernabschnittsdaten.dat' werden später benötigt. -## Epochenunterricht +## 2. Epochenunterricht (epoche.csv) -Bei oben beschriebenen Schild Export werden leide Fächer nicht gekennzeichnet, die nur im ersten Halbjahr unterrichtet und deren Note automatisch ins zweite Halbjahr übertragen wird (Epochenuterricht). +Beim oben beschriebenen Schild Export werden leider diejenigen Fächer eines Schülers nicht gekennzeichnet, die nur im ersten Halbjahr unterrichtet und deren Note automatisch ins zweite Halbjahr übertragen wird (so genannter Epochenuterricht). -Um die Fächer dennoch auf den Konferenzfolien zu kennzeichnen, können sie in einer Datei 'epoche.csv' aufgelistet werden. Die Angabe dieser Datei ist optional. +Um die Fächer dennoch auf den Konferenzfolien sinnvollerweise als Epochenunterricht zu kennzeichnen, können sie in einer Datei 'epoche.csv' aufgelistet werden. Die Bereitstellung dieser Datei ist optional. Hier eine selbsterklärende Beispieldatei in den Beispieldaten (vgl. Datei [epoche.csv](../beispielinput/epoche.csv)): @@ -35,4 +33,4 @@ Klasse|Fächer 09A|GE ''' -Listen Sie hier zeilenweise aller Klassen und die zugehörige Fachbezeichnung mit Epochenunterricht auf. Hat eine Klasse mehrere Fächer in Epochenunterricht, so listen Sie alle Fächer in einer Zeile durch Komma getrennt auf. \ No newline at end of file +Listen Sie hier zeilenweise alle Klassen und die zugehörige Fachbezeichnung mit Epochenunterricht auf. Hat eine Klasse mehrere Fächer in Epochenunterricht, so listen Sie alle Fächer in einer Zeile durch Komma getrennt auf (Beispiel: '09A|GE,EK,BI'). diff --git a/doc/konfiguration.md b/doc/konfiguration.md index 88d2d9a..da5a6f6 100644 --- a/doc/konfiguration.md +++ b/doc/konfiguration.md @@ -1,8 +1,8 @@ -# Konfiguration der Verarbeitung +# Konfiguration der Verarbeitung (config.ini) Für die Verarbeitung stehen Ihnen einige Parameter zur Verfügung, die in der Datei 'config.ini' festgelegt werden. -Sie finden hier ein selbsterklärendes Beispiel (vgl. Datei [config.ini](../beispielinput/config.ini)): +Sie finden hier ein selbsterklärendes Beispiel (vgl. Datei [config.ini](../beispielinput/config.ini) aus den Beispieldaten): ''' [Allgemein] @@ -19,8 +19,8 @@ ignoriere_Jahrgänge = Im allgemeinen oberen Teil werden Schuljahr (z.B. 2025 für 2025/2026) und Halbjahr (1 oder 2) eingestellt. -Im unteren Teil werden die Jahrgänge bezeichnet, die zur Oberstufe gehören, die die Einführungsphase und das letzte Jahr der Qualifikationsphase bilden. Haben Sie keine Oberstufe, können Sie die Angaben einfach so belassen. (Bitte nicht löschen, das führt zu Fehlermeldungen!). +Im unteren Teil werden a) die Jahrgänge bezeichnet, die zur Oberstufe gehören, b) die die Einführungsphase und c) das letzte Jahr der Qualifikationsphase bilden. Haben Sie keine Oberstufe, können Sie die Angaben einfach so belassen. (Bitte nicht löschen, das führt zu Fehlermeldungen!). -Haben Sie einen Jahrgang (oftmals EF), in der zwar Klassen gebildet werden (EFa usw.), auf der Konferenz aber der Jahrgang nicht klassenweise gezeigt werden soll, können Sie dies bei 'als_eine_Klasse' festlegen. +Haben Sie einen Jahrgang (oftmals EF), in der zwar Klassen gebildet werden (EFa, EFb usw.), auf der Konferenz aber der Jahrgang nicht klassenweise sondern als Jahrgang gezeigt werden soll, können Sie dies bei 'als_eine_Klasse' festlegen. Sollen Jahrgänge ignoriert werden, listen Sie diese durch Komma getrennt unter 'ignoriere_Jahrgänge' auf. diff --git a/doc/verarbeitung.md b/doc/verarbeitung.md index cc1685c..1fa3ded 100644 --- a/doc/verarbeitung.md +++ b/doc/verarbeitung.md @@ -1,11 +1,11 @@ # Anstoßen der Verarbeitung -## a) Zusammenstellen des Eingabeverzeichnisses +## a) Zusammenstellen des Eingabeverzeichnisses 'input/' Das Pythonskript sucht im Ordner 'schild2halbjahr' nach einem Verzeichnis 'input/'. Ist dies nicht vorhanden, wird das Verzeichnis 'beispielinput/' für die Verarbeitung verwendet. -Legen Sie also - sofern noch nicht vorhanden - das Unterverzeichnis 'input/' an und fügen Sie die bereits erzeugten bzw. erstellten Dateien 'SchuelerLeistungsdaten.dat', 'SchuelerLernabschnittsdaten.dat', 'epoche.csv' (optional) und 'config.ini' in diesem Verzeichnis ab. +Legen Sie also - sofern noch nicht vorhanden - das Unterverzeichnis 'input/' an und fügen Sie die bereits exportierten Dateien 'SchuelerLeistungsdaten.dat', 'SchuelerLernabschnittsdaten.dat' ein bzw. erstellen Sie dort die beiden Dateien 'epoche.csv' (optional) und 'config.ini'. Kopieren Sie bei Bedarf die beiden Beispieldateien aus dem Verzeichnis 'beispielinput/' und passen Sie diese entsprechend an. ## b) Voraussetzungen