Unterschiede zwischen den Revisionen 22 und 24 (über 2 Versionen hinweg)
Revision 22 vom 2014-08-19 13:20:57
Größe: 2234
Kommentar:
Revision 24 vom 2014-09-19 15:00:30
Größe: 7465
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 3: Zeile 3:
== CSV-Datei für Import == <<TableOfContents(4)>>
Zeile 5: Zeile 5:
=== GOsa² 2.6.x (Debian squeeze) === Der nachfolgende Abschnitt beschreibt den Benutzerimport aus Tabellen, die vom Schulsekretariat zur Verfügung gestellt werden. Die Migration bestehender Benutzer/innen aus einer vorhanden Serverinfrastruktur wird hier nicht beschrieben, weil sie zu individuell ist. Eine Migration kann bei dem IT-Dienstleister in Auftrag gegeben werden.

== Container für Schüler/innen nach Jahrgängen anlegen ==

In der Benutzerverwaltungs-Software GOsa^2^ müssen vor dem Import der Schüler/innen-Daten noch die entsprechenden Orgainsationseinheiten (Operational Units=OU) angelegt werden. Um den administrativen Aufwand in den Folgejahren nach der Erstinstallation des Debian Edu / Skolelinux Servers möglichst gering zu halten, werden nicht Klassenstufen sondern die ''Zugangsjahre für einen Jahrgang'' als Organisationseinheiten angelegt.

In GOsa^2^ (2.6 bzw. 2.7):

 * Objektgruppen wählen
 * als Organisationseinheit in der Kopfzeile "Students" wählen

 * einmalig bei Server-Einrichtung: unter ou=Students acht bzw. neun OUs erstellen, die die Benutzerkonten aller Schüler/innen sortiert nach Jahrgang beinhalten werden:
   * Name der OU: "<YYYY>" (d.h. 2011, 2010, 2009, ...)
   * Beschreibungstext der OU: "Zugangsjahr des Jahrgangs"
 * in Folgejahren: eine weitere OU mit Names des Jahrgangs (2012, 2013, 2014, etc.) hinzufügen

== Benutzerdaten bereitstellen ==

Das Schulsekretariat verwaltet in den Schulen die Daten der Schüler und Lehrer. Die folgenden Daten werden als Dateien in Tabellenform benötigt.

Schüler/innen:
 * Vorname
 * Nachname
 * Klasse
 * ggf. Hauptbuchnummer

Lehrer/innen:
 * Vorname
 * Nachname
 * Fächerkombinationskürzel
 * Klasse (als Klassenlehrer)
 * Liste der Fächerkürzel:
   * Bitte eine Tabelle beifügen, die alle Fächer an der Schule mit den schulinternen Kürzeln auflistet!

Bei Erstinstallation des Debian Edu / Skolelinux Systems können die Daten per USB-Stick oder verschlüsselter Mail zur Verfügung gestellt werden. In Folgejahren kann ein/e Lehrer/in an der Schule die Daten auch im eigenen Benutzer/innen-Verzeichnis ablegen.

== Benutzerdaten aufbereiten ==
Zeile 14: Zeile 50:
Tabellenspalten (Reihenfolge): Folgende Spalten werden für den Import benötigt:
Zeile 16: Zeile 52:
  * uid (Login-Name)
  * sn (Nachname)
  * givenName (Vorname(n))
  * userPassword (Passwort)
  * weitere, in GOsa² anpassbar
=== Schüler ===
Zeile 22: Zeile 54:
== Import-Skript == ||Name||Vorname||(BenutzerID)||(Passwort)||Zugangsjahr||Klasse||Hauptbuchnummer||

 * Name: Nachname mit Sonderzeichen, ein Namenszusatz (z.B. "von") wird dem Vornamen nachgestellt
 * Vorname: Vorname mit Sonderzeichen, evtl Namenszusatz nachgestellt
 * (optional) BenutzerID: angepasstes ITZkS-Schema 3 Buchstaben Nachname, 3 Buchstaben Vorname (z.B. Max Mustermann = musmax). Es wird alles klein geschrieben. Sonderzeichen werden aufgelöst (z.B. ä,ö,ü = ae,oe,ue, oder é = e).
 * (optional) Passwort: 8 stelliges Passwort aus z.B. pwgen unter Verwendung von Kleinbuchstaben, Großbuchstaben und Zahlen, keine Sonderzeichen verwenden
 * Zugangsjahr: Jahr in dem der Jahrgang an der Schule angefangen hat. Der aktuelle 12. Jahrgang hat also vor 7 Jahren an der Schule begonnen.
 * Klasse: aktuelle Klasse
 * Hauptbuchnummer: eindeutige von der Schulverwaltung geführte Nummer des Schülers

Bei Ersteinrichtung des Debian Edu / Skolelinux Systems wird für jeden Jahrgang eine {{.csv}}} Datei angelegt. In Folgejahren, muss die Schule die jeweiligen Klassen 5 uns als {{{.csv}}}-Tabelle zukommen lassen. Alternativ kann der Benutzer/innen-Import auch selbst seitens der Schule vorgenommen werden.

=== Lehrer ===

||Name||Vorname||BenutzerID||Passwort||Klasse||Fächerkombination||

 * Name: Nachname mit Sonderzeichen, ein Namenszusatz (z.B. "von") wird dem Vornamen nachgestellt
 * Vorname: Vorname mit Sonderzeichen, evtl Namenszusatz nachgestellt
 * BenutzerID: angepasstes ITZkS-Schema 3 Buchstaben Nachname, 3 Buchstaben Vorname (z.B. Max Mustermann = musmax). Es wird alles klein geschrieben. Sonderzeichen werden aufgelöst (z.B. ä,ö,ü = ae,oe,ue, oder é = e).
 * Passwort: 8 stelliges Passwort aus z.B. pwgen unter Verwendung von Kleinbuchstaben, Großbuchstaben und Zahlen, keine Sonderzeichen verwenden
 * Klasse: Klasse(n) bei denen der Lehrer Klassenlehrer ist
 * Fächerkombination: Die betreffenden Fächerkürzel der Schule getrennt durch Unterstrich (z.B. F_Ek_Sp)

=== Dubletten bearbeiten ===

BenutzerIDs müssen eindeutig sein. Doppelt vorkommende BenutzerIDs müssen also vor dem Import gefunden und verändert werden. Die Anpassung beginnen wir mit dem jüngsten Schüler bei dem eine Dublette in der BenutzerID vorliegt. Zur Anpassung werden schrittweise Buchstaben abwechselnd zunächst vom Nachnamen dann vom Vornamen ergänzt. Das Schema wird also von 3:3 auf 4:3, 4:4 etc erweitert bis alle Dubletten eliminiert sind.


=== Import-Skript ===

Das folgende Skript kann in eine Datei im eigenen HOME kopiert werden (mittels copy+paste und Texteditor, z.Bsp. mit Namen {{{import.sh}}}).

Die Datei muss ausführbar gemacht werden ({{{chmod a+x import.sh}}}.

Danach kann die Datei mit
{{{
$ ./import.sh <csv-Datei>
}}}
Zeile 84: Zeile 153:

== Import Schülerdaten ==

Die mittels Skript aufbereiteten Daten müssen nun noch in GOsa^2^ importiert werden.

=== GOsa² 2.6.x (Debian squeeze) ===

 * {{{.csv}}} in GOsa² importieren: LDAP-Manager: CSV-Import: Datei wählen: Feldzuordnung: Go
   * Felder zuordnen
   * Schüler in Jahrgang verschieben
   * Schülergruppen verschieben (bis auf POSIX-Gruppe "students")

== Import Lehrerdaten ==

 * FIXME: wie oben

Benutzer-Import in GOsa²

Der nachfolgende Abschnitt beschreibt den Benutzerimport aus Tabellen, die vom Schulsekretariat zur Verfügung gestellt werden. Die Migration bestehender Benutzer/innen aus einer vorhanden Serverinfrastruktur wird hier nicht beschrieben, weil sie zu individuell ist. Eine Migration kann bei dem IT-Dienstleister in Auftrag gegeben werden.

Container für Schüler/innen nach Jahrgängen anlegen

In der Benutzerverwaltungs-Software GOsa2 müssen vor dem Import der Schüler/innen-Daten noch die entsprechenden Orgainsationseinheiten (Operational Units=OU) angelegt werden. Um den administrativen Aufwand in den Folgejahren nach der Erstinstallation des Debian Edu / Skolelinux Servers möglichst gering zu halten, werden nicht Klassenstufen sondern die Zugangsjahre für einen Jahrgang als Organisationseinheiten angelegt.

In GOsa2 (2.6 bzw. 2.7):

  • Objektgruppen wählen
  • als Organisationseinheit in der Kopfzeile "Students" wählen
  • einmalig bei Server-Einrichtung: unter ou=Students acht bzw. neun OUs erstellen, die die Benutzerkonten aller Schüler/innen sortiert nach Jahrgang beinhalten werden:
    • Name der OU: "<YYYY>" (d.h. 2011, 2010, 2009, ...)

    • Beschreibungstext der OU: "Zugangsjahr des Jahrgangs"
  • in Folgejahren: eine weitere OU mit Names des Jahrgangs (2012, 2013, 2014, etc.) hinzufügen

Benutzerdaten bereitstellen

Das Schulsekretariat verwaltet in den Schulen die Daten der Schüler und Lehrer. Die folgenden Daten werden als Dateien in Tabellenform benötigt.

Schüler/innen:

  • Vorname
  • Nachname
  • Klasse
  • ggf. Hauptbuchnummer

Lehrer/innen:

  • Vorname
  • Nachname
  • Fächerkombinationskürzel
  • Klasse (als Klassenlehrer)
  • Liste der Fächerkürzel:
    • Bitte eine Tabelle beifügen, die alle Fächer an der Schule mit den schulinternen Kürzeln auflistet!

Bei Erstinstallation des Debian Edu / Skolelinux Systems können die Daten per USB-Stick oder verschlüsselter Mail zur Verfügung gestellt werden. In Folgejahren kann ein/e Lehrer/in an der Schule die Daten auch im eigenen Benutzer/innen-Verzeichnis ablegen.

Benutzerdaten aufbereiten

Für den LDAP-Import aus CSV-Datei erwartet GOsa² das folgende CSV-Tabellenformat:

  • Trennzeichen: Komma (,)
  • d.h. Textfelder dürfen kein Komma (,) enthalten (!!!)
  • Keine Anführungszeichen als Feldbegrenzer
  • Keine Spaltenköpfe in der ersten Zeile

Folgende Spalten werden für den Import benötigt:

Schüler

Name

Vorname

(BenutzerID)

(Passwort)

Zugangsjahr

Klasse

Hauptbuchnummer

  • Name: Nachname mit Sonderzeichen, ein Namenszusatz (z.B. "von") wird dem Vornamen nachgestellt
  • Vorname: Vorname mit Sonderzeichen, evtl Namenszusatz nachgestellt
  • (optional) BenutzerID: angepasstes ITZkS-Schema 3 Buchstaben Nachname, 3 Buchstaben Vorname (z.B. Max Mustermann = musmax). Es wird alles klein geschrieben. Sonderzeichen werden aufgelöst (z.B. ä,ö,ü = ae,oe,ue, oder é = e).
  • (optional) Passwort: 8 stelliges Passwort aus z.B. pwgen unter Verwendung von Kleinbuchstaben, Großbuchstaben und Zahlen, keine Sonderzeichen verwenden
  • Zugangsjahr: Jahr in dem der Jahrgang an der Schule angefangen hat. Der aktuelle 12. Jahrgang hat also vor 7 Jahren an der Schule begonnen.
  • Klasse: aktuelle Klasse
  • Hauptbuchnummer: eindeutige von der Schulverwaltung geführte Nummer des Schülers

Bei Ersteinrichtung des Debian Edu / Skolelinux Systems wird für jeden Jahrgang eine .csv} Datei angelegt. In Folgejahren, muss die Schule die jeweiligen Klassen 5 uns als .csv-Tabelle zukommen lassen. Alternativ kann der Benutzer/innen-Import auch selbst seitens der Schule vorgenommen werden.

Lehrer

Name

Vorname

BenutzerID

Passwort

Klasse

Fächerkombination

  • Name: Nachname mit Sonderzeichen, ein Namenszusatz (z.B. "von") wird dem Vornamen nachgestellt
  • Vorname: Vorname mit Sonderzeichen, evtl Namenszusatz nachgestellt
  • BenutzerID: angepasstes ITZkS-Schema 3 Buchstaben Nachname, 3 Buchstaben Vorname (z.B. Max Mustermann = musmax). Es wird alles klein geschrieben. Sonderzeichen werden aufgelöst (z.B. ä,ö,ü = ae,oe,ue, oder é = e).
  • Passwort: 8 stelliges Passwort aus z.B. pwgen unter Verwendung von Kleinbuchstaben, Großbuchstaben und Zahlen, keine Sonderzeichen verwenden
  • Klasse: Klasse(n) bei denen der Lehrer Klassenlehrer ist
  • Fächerkombination: Die betreffenden Fächerkürzel der Schule getrennt durch Unterstrich (z.B. F_Ek_Sp)

Dubletten bearbeiten

BenutzerIDs müssen eindeutig sein. Doppelt vorkommende BenutzerIDs müssen also vor dem Import gefunden und verändert werden. Die Anpassung beginnen wir mit dem jüngsten Schüler bei dem eine Dublette in der BenutzerID vorliegt. Zur Anpassung werden schrittweise Buchstaben abwechselnd zunächst vom Nachnamen dann vom Vornamen ergänzt. Das Schema wird also von 3:3 auf 4:3, 4:4 etc erweitert bis alle Dubletten eliminiert sind.

Import-Skript

Das folgende Skript kann in eine Datei im eigenen HOME kopiert werden (mittels copy+paste und Texteditor, z.Bsp. mit Namen import.sh).

Die Datei muss ausführbar gemacht werden (chmod a+x import.sh.

Danach kann die Datei mit

$ ./import.sh <csv-Datei>

Einschränkungen:

  • FIXME: Klasse darf nicht im ersten oder letzten Feld stehen...
  • FIXME: obige Reihenfolge bei Import berücksichtigen (Username als erstes Feld, Passwort als viertes, etc.)

   1 #!/bin/bash
   2 
   3 if [ -z "$1" ]; then
   4         echo "usage $(basename $0) <csv-file>"
   5         exit -1
   6 fi
   7 
   8 FILENAME=$1
   9 IMPORTFILE=import_$FILENAME
  10 
  11 cat $FILENAME | while read line; do
  12 
  13         line=$(echo $line | sed -r -e 's/(.*[0-9]{1,2})\.(1|2)([a-z]{1};.*)/\1\3/g' -e 's/;/,/g')
  14 
  15         ALREADY_EXISTS="START"
  16 
  17         NACHNAME=$(echo $line | cut -d"," -f1 | cut -d " " -f1 | cut -d "-" -f1);
  18         VORNAME=$(echo $line| cut -d"," -f2 | cut -d " " -f1 | cut -d "-" -f1);
  19 
  20         i=3;
  21         while [ ! -z "$ALREADY_EXISTS" ]; do
  22                 NACHNAME_KURZ=${NACHNAME:0:3}
  23                 VORNAME_KURZ=${VORNAME:0:$i}
  24 
  25                 LOGIN=$(echo ${NACHNAME_KURZ}${VORNAME_KURZ} | iconv -f UTF-8 -t ASCII//TRANSLIT | tr A-Z a-z);
  26 
  27                 ALREADY_EXISTS=$(getent passwd $LOGIN 1>/dev/null && echo "!!! ALREADY_EXISTS !!!");
  28                 i=$(($i+1));
  29         done
  30 
  31         echo "$line,$LOGIN,`pwgen -v 8 1`   $ALREADY_EXISTS";
  32 done | tee $IMPORTFILE
  33 
  34 echo
  35 
  36 DUPLICATES=`cat $IMPORTFILE | while read line; do
  37 
  38         LOGIN=$(echo $line | cut -d";" -f7);
  39         grep -v "$line" $IMPORTFILE | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";
  40 
  41 done | uniq | sort`
  42 
  43 if [ ! -z "$DUPLICATES" ]; then
  44 
  45         echo "Doppelte Logins innerhalb dieser Liste:"
  46         echo
  47         echo -e $DUPLICATES | sed 's/ /\n/g'
  48         echo
  49 fi
  50 
  51 echo "Die Datei für den GOsa²-Import heißt \"$IMPORTFILE\"."
  52 echo

Import Schülerdaten

Die mittels Skript aufbereiteten Daten müssen nun noch in GOsa2 importiert werden.

GOsa² 2.6.x (Debian squeeze)

  • .csv in GOsa² importieren: LDAP-Manager: CSV-Import: Datei wählen: Feldzuordnung: Go

    • Felder zuordnen
    • Schüler in Jahrgang verschieben
    • Schülergruppen verschieben (bis auf POSIX-Gruppe "students")

Import Lehrerdaten

  • FIXME: wie oben

IT-Zukunft Schule: Technik/Nutzungshinweise/BenutzerImport (zuletzt geändert am 2023-08-29 20:39:10 durch MikeGabriel)