IT-Guide
Das folgende Kapitel wendet sich an die Systemadministration einer Kommune und setzt gewisse IT-Kenntnisse voraus. Es wird das Set-up der KitaMatch-Software für eine neue Kommune beschrieben.
Inhalt
- Zusammenfassung der benötigten Installationen
- Zusammenfassung der benötigten Dateien:
- Erstellen einer neuen Umgebung für die Kommune
- Vorbereitung der Bewerberliste.xlsx
- Ausführung des R-Skripts
- Hochladen der Tabellen in die Datenbank phpMyAdmin
Zusammenfassung der benötigten Installationen
- RStudio (R-Version 4.0.3 64-bit)
- Notepad++
- PHP
- git
- MySQL
Zusammenfassung der benötigten Dateien:
- Vorlage_Kitamatch_Stadt.xlsx
- Create_initial_tables.R → Erzeugt CSV-Dateien für phpMyAdmin
- Benötigte Pakete/Installationen:
- stringr
- dplyr
- bcrypt
- devtools
- PasswordGen
- xlsx oder openxlsx
- Rtools
- Benötigte Pakete/Installationen:
Erstellen einer neuen Umgebung für die Kommune
Im Folgenden wird dargestellt, wie die KitaMatch-Umgebung mittels der Schriftsprache PHP konfiguriert wird. Bei abweichender Serversoftware kann analog vorgegangen werden.
1. Erstellen Sie einen neuen Ordner mit dem Stadtnamen unter (/var/www/html):
$ mkdir {Stadtname}
2. Navigieren Sie zu diesem Ordner und klonen Sie das folgende git Repository:
$ git clone https://github.com/svengiegerich/kitamatch.git
3. Wechseln Sie zum git Branch uiFix:
$ git checkout uiFix
4. Richten Sie die Umgebungsvariablen in der .env-Datei ein:
$ Is-a // Um versteckte Ordner zu sehen
$ sudo nano.env
Aktualisieren Sie APP_NAME, APP_URL & DB_DATABASE.
5. Nehmen Sie die kitaspezifischen Konfigurationen unter config/kitamatch_config.php vor:
$ cd config/
$ sudo nano kitamatch_config.php
In dieser Datei finden Sie den Matchingprozess betreffende Konfigurationen. Achten Sie hierbei insbesondere auf die Einstellungen des Betreuungsumfangs, des Betreuungsbeginns und der Alterskohorten. Zu Beginn des R-Skripts haben Sie die Option, folgende Parameter festzulegen:
> levels_Betreuungsumfang <- c("Ganztags", "Halbtags")
> levels_Betreuungsbeginn <- c("Q2", "Q3", "Q4", "Q1")
> levels_Alterskohorte <- c("U2", "Ü2", "Ü3")
Diese Parameter finden Sie auch in der Datei kitamatch_config.php (care_scopes = Betreuungsumfang, care_starts = Betreuungsbeginn, age_cohorts = Alterskohorten). Um die Umgebung korrekt vorzubereiten, stellen Sie sicher, dass die Anzahl und Reihenfolge dieser drei Parameter mit den Einstellungen im R-Skript übereinstimmen. Nach dem obigen Beispiel müsste “care_starts” in der PHP-Konfigurationsdatei also mit “Q2” beginnen. Alternative Formate wie zum Beispiel “2020-Q1” sind ebenfalls zulässig, solange Format und Reihenfolge im R-Skript und in der PHP-Konfigurationsdatei gleich sind. Ebenso kann auch nur ein Betreuungsumfang oder -beginn eingestellt werden (“single-scope”).
Der Matchingprozess der KitaMatch-Software basiert auf einem System, das Bewerbern Punkte zuordnet, wenn diese bestimmte Kriterien erfüllen. In der Konfigurationsdatei können bei Bedarf zusätzlich manuelle Kriterien festgelegt werden. Unter additionalCriteriaBonus_x kann das x-te Kriterium ein- oder ausgestellt werden. Zusätzlich kann manuell eine Punktezahl für jedes Kriterium festgelegt werden.
6. Konfigurieren Sie die Stadt in /var/www/html/{Stadtname}/public/.htacces:
$ cd /var/www/html/{Stadtname}/public/
$ sudo nano .htaccess
7. Konfigurieren Sie eine neue Stadt in /etc/apache2/sites-available/000-default.conf:
$ cd /etc/apache2/sites-available/
$ sudo nano 000-default.conf
Vorbereitung der Bewerberliste.xlsx
Diese Datei wird der Stadt zugeschickt und von dieser ausgefüllt. Diese trägt die Informationen über die Bewerber ein. Die folgenden Schritte sind nötig, um die Daten in die Datenbank hochzuladen und das Matching vorzubereiten:
1. Überprüfen Sie die Tabelle der Bewerberliste auf Korrektheit. Ist der Name einer Kita beispielsweise in einer Zeile fehlerhaft, behandelt das Programm den falsch geschriebenen Namen als eigene Kita. Datumsangaben sollten das richtige Format haben (dd.mm.yyyy).
2. Kopieren Sie anschließend die gesamte Tabelle in eine leere Excel-Datei, sodass die Spaltennamen (ID, Nachname, Vorname …) in Zeile 1 stehen. Nutzen Sie die Funktion “Speichern unter …” um die Datei als CSV-Datei zu speichern. Geben Sie der Datei einen Namen und wählen Sie den Dateityp CSV UTF-8 (durch Trennzeichen getrennt) aus.
3. Abschließend müssen Sie die soeben erstellte CSV-Datei mit dem Text-Editor Notepad++ öffnen, um die Kodierung zu ändern. Öffnen Sie im Programm den Menüpunkt “Kodierung” (Encoding) und konvertieren Sie die Datei in das Format UTF-8. Dieser Schritt stellt sicher, dass Umlaute durch das R-Skript korrekt eingelesen werden. Speichern Sie nun die Datei mithilfe der Tastenkombination “Strg+S” oder im Menü unter Datei (File) → Speichern (Save).
Abbildung: Umlaute richtig einlesen
Ausführung des R-Skripts
Nachdem Sie die CSV-Datei vorbereitet haben, wird im nächsten Schritt das R-Skript ausgeführt. Dieses Skript generiert die Tabellen, die in die Datenbank des KitaMatch-Systems hochgeladen werden müssen. Damit die Dateien ordnungsgemäß erzeugt werden können, sind folgende Schritte zu beachten:
4. Öffnen Sie die R-Datei im Programm RStudio. Im R-Skript muss das aktuelle Verzeichnis (in dem sich auch die CSV-Datei befindet) als “Working Directory” gesetzt werden. Dazu setzen Sie den Dateipfad des Verzeichnisses in den Befehl “setwd()” ein. Dieser befindet sich am Anfang des Skripts. Anschließend wird im Befehl “read.csv()” der Platzhalter durch den Namen der CSV-Datei aus Schritt 2 ersetzt. Stellen Sie sicher, dass die Option “encoding = “UTF-8”” ausgewählt ist.
> rawtable = read.csv("Bewerberliste", header = TRUE, sep = ";", encoding = "UTF-8")
5. Überprüfen Sie, ob die benötigten Pakete installiert sind. Eine Auflistung der benötigten Pakete und Installationen finden Sie am Anfang dieser Anleitung. Installieren Sie fehlende Pakete, indem Sie zum Menüpunkt “Tools → Install Packages …” navigieren und dort den Namen des Pakets eingeben.
Hinweis
Das Paket bcrypt kann Probleme verursachen. Diese werden normalerweise durch das Deinstallieren und Installieren dieses Pakets behoben. Außerdem muss das Paket PasswordGen separat installiert werden. Eine Anleitung dazu finden Sie unter https://github.com/mpascariu/PasswordGen
6. Wenn alle benötigten Pakete installiert sind, kann das R-Skript ausgeführt werden. Markieren Sie den gesamten Code mithilfe von “STRG+A” und drücken Sie auf “Run” im oberen Menübereich (alternativ “STRG+Enter”). Es kann nun einige Momente dauern, bis das Skript vollständig ausgeführt wurde. Die durch das Skript produzierten CSV-Dateien werden in dem Verzeichnis gespeichert, das als “Working Directory” ausgewählt wurde. Folgende Dateien werden generiert:
- applicants.csv
- Allgemeine Informationen der Bewerber wie Name, Geburtsdatum, Erwerbsumfang der Eltern …
- users.csv
- Hier werden Anmeldedaten für jeden Bewerber und jede Betreuungsgruppe erstellt.
- providers.csv
- Allgemeine Informationen der Kitas wie Telefonnummer, Adresse …
- programs.csv
- Übersicht der Betreuungsangebote. Hier finden Sie eine Auflistung jeder Altersgruppe der verschiedenen Kitas.
- preferences.csv
- Diese Tabelle enthält weitere Daten, die die Plattform für das Matching benötigt.
- capacities.csv
- Enthält Informationen über die verfügbaren Plätze der einzelnen Betreuungsangebote.
- Passwortliste.xlsx
- Diese Tabelle enthält die Anmeldedaten, die die Kitas benötigen, um sich auf der KitaMatch-Plattform anzumelden.
Hinweis
Sollten nicht alle Dateien korrekt erzeugt werden, versuchen Sie, Ihre R-Version zu ändern. Dieses Manual wurde unter R-Version 4.0.3 (64-bit) erstellt.
Hochladen der Tabellen in die Datenbank phpMyAdmin
7. Öffnen Sie den folgenden Link in Ihrem Browser: https://kitamatch.de/phpmyadmin/. Melden Sie sich an und wählen Sie anschließend die gewünschte Datenbank/Stadt auf der linken Seite aus. Im Folgenden wird der Import der Tabellen anhand der fiktiven Datenbank kita_test demonstriert.
Abbildung: Hochladen der Tabellen in die Datenbank phpMyAdmin
8. Nachdem Sie eine Datenbank geöffnet haben, sehen Sie eine Auflistung der Tabellen. Leeren Sie folgende Tabellen, um den Datenimport vorzubereiten:
- applicants
- capacities
- matches
- preferences
- programs
- providers
- users
Nutzen Sie hierfür die Funktion “Leeren” (nicht “Löschen”!). Beim Leeren der Tabelle “users” muss außerdem das Feld “Fremdschlüsselüberprüfung aktivieren” deaktiviert sein.
Abbildung: Leeren von Tabellen, um Datenimport vorzubereiten
9. Als Nächstes laden Sie die CSV-Dateien in die jeweiligen Tabellen hoch. Die Dateien für “applicants” und “users” müssen jeweils als Erstes und als Zweites hochgeladen werden. Danach spielt die Reihenfolge des Uploads keine Rolle. Um eine Datei zu importieren, wählen Sie die gewünschte Tabelle in der Datenbank aus und wählen Sie im oberen Menü die Übersicht “Importieren” aus. Das Feld “Datei auswählen” bietet Ihnen nun die Möglichkeit, die gleichnamige CSV-Datei auf Ihrem Rechner für den Upload auszuwählen. Bestätigen Sie die Auswahl mit dem “OK”-Button am Ende der Seite, um den Upload abzuschließen. Sie erhalten eine Meldung, wenn der Upload fehlerfrei verlaufen ist. Verfahren Sie anschließend analog mit den anderen Dateien, die durch das R-Skript erzeugt wurden.
Hinweis
Sollte ein Upload nicht ordnungsgemäß gelingen, versuchen Sie, die Option “Fremdschlüsselüberprüfung aktivieren” zu deaktivieren. Abbildung: Importieren der CSV-Dateien