You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.8 KiB
Markdown
28 lines
1.8 KiB
Markdown
## DiViS Parents CSV to IServ Elternverwaltung module ##
|
|
|
|
This script takes two files, an IServ user export CSV and a DiViS student <> parents CSV
|
|
and maps the parents to the IServ students, creating a third CSV file that can be imported
|
|
into the IServ Elternverwaltung module.
|
|
|
|
The IServ user export CSV is expected to have the following columns:
|
|
`Account;Vorname;Nachname;Status;"Erstellt am";"Erstellt von";"Interne ID";Benutzertyp;Import-ID;Klasse/Information;E-Mail-Adresse;Gruppen`
|
|
|
|
The student <> parents mapped CSV from DiViS should have the following columns:
|
|
`"Schüler Vorname","Schüler Nachname","Eltern 1 Vorname","Eltern 1 Nachname","Eltern 2 Vorname","Eltern 2 Nachname"`
|
|
|
|
The CSV exported by this script will have the following columns:
|
|
`Nachname;Vorname;Kind-ID;Klasse`
|
|
|
|
Rows that are not of type "Schüler" in the IServ user export CSV are skipped. Students for which a parent
|
|
was not found are skipped in the output CSV, however a warning is displayed.
|
|
|
|
To compare the first and last name of the student to the DiViS list, the `similar_text()` PHP function is used to allow
|
|
minimal character spelling mistakes between the two files. This behaviour can be disabled by adjusting the
|
|
MIN_NAME_MATCHING_PERCENTAGE constant defined at the top of the script to 100, meaning the first and last names must
|
|
match exactly. Otherwise, only 85% of the name must match (typically equating to 1-2 different characters per full name).
|
|
|
|
Status messages, information and errors are always written to `STDERR`, while the generated CSV
|
|
will be exported to `STDOUT`, meaning you can redirect the `STDOUT` output of this script to a file
|
|
to export the CSV and still be able to read any informational messages:
|
|
|
|
`$ php ./IServ_Elternimport_Divis.php iserv-user-export.csv divis-parents-export.csv > Parents_Import.csv` |