Konfiguration

Eine Testcenter-Instanz wird nicht aus einer zentralen Stelle heraus konfiguriert, sondern bietet an verschiedenen Stellen die Möglichkeit unterschiedliche Konfigurationen vorzunehmen.

Server-Admin: Konfigurationsoptionen in der .env

Betreiber einer Testcenter-Instanz (Server-Admins) können im .env-File eine Reihe von Konfigurationen Vornehmen. Eine vollständige Liste aller aktuell vorhandenen Konfigurationsparameter befinden sich hier. Diese sollten nur mit Vorsicht und Kenntnis verändert werden.

Version

VERSION=15.1.8

Die verwendete Testcenter-Version. Wird hier eine höhere (verfügbare) Version eingetragen, so werden beim nächsten Start entsprechen images von DockerHub gezogen und in der Folge die Datenbank angepasst. Dies sollte allerdings niemals von Hand erfolgen, sondern mittels der update.sh, da diese auch die compose-files usw. aktualisiert. Downgrades auf eine vergangene Version sollten grundsätzlich vermieden werden.

Grundsätzliche Netzwerkeinstellungen.

HOSTNAME=localhost

Servername, z. B. ìqb-testcenter4.de. Wenn Sie eine www-subdomain als Alternativen Namen verwenden wollen, geben Sie das www nicht mit an - es wird eine automatische Weiterleitung eingerichtet.

TLS_ENABLED=no

Soll TLS (https) verwendet werden? Wenn ja, sollten sie entsprechende Zertifikate hinterlegen (siehe hier). Der default ist hier yes.

PORT=80
TLS_PORT=443

Der Port auf dem das Testcenter laufen soll. Ist TLS_ENABLED gesetzt wird der TLS_PORT genutzt, ansonsten wird der PORT genutzt.

Sicherheit

PASSWORD_SALT=t

Salt für verwendete admin-passwörter. Achtung: Ändern Sie diese Enstellung nicht mehr, nachdem Sie die Applikation bereits einmal gestartet haben, sonst können Sie sicht nicht mehr einloggen.

Services

Datenbank Connection

MYSQL_ROOT_PASSWORD=secret_root_pw
MYSQL_DATABASE=iqb_tba_testcenter
MYSQL_USER=iqb_tba_db_user
MYSQL_PASSWORD=iqb_tba_db_password

Verbindungen zur Datenbank. Wird normalerweise bei der Installation gesetzt und nicht mehr angefasst.

Broadcasting Service

BROADCAST_SERVICE_ENABLED=true

Der Broadcasting-Service ist ein optionaler Zusatzservice, der Websocket-Verbindungen ermöglicht. Sollten ihre Server oder Teilnehmer aus irgendwelchen Gründen Websockets nicht verwenden wollen oder können, können Sie ihn hier abschalten.

File Service

FILE_SERVICE_ENABLED=true

Der File-Service übernimmt die Auslieferung der eigentlichen Testinhalte. Ihn abzuschalten und die Inhalte mit dem Backend ausliefern verschlechtert die Performance des Testcenters maßgeblich.

Cache Service

CACHE_SERVICE_INCLUDE_FILES=no
CACHE_SERVICE_RAM=1073741824

Der Cache-Service cached Authentifizierungen für den File-Service, sodass beim Laden der Testinhalte daas Backend nicht mehr verwendet werden muss.

Er kann aber auch verwendet werden, um die Testinhalte selbst im Arbeitsspeicher des Servers zu cachen. Dazu ist dieser parameter auf yes zu setzen und eine entsprechende Menge dafür freigegebenen Arbeitsspeicher (in Byte) anzugeben. Es liegen bisher wenig Erkenntnisse über Performance-Gewinn, Fehleranfälligkeit usw. dieser Option vor, daher ist sie Standardmäßig ausgeschaltet.

Weitere Netzwerkeinstellungen

DOCKER_DAEMON_MTU=1500

MTU wert des Netzwerks. Außer in bestimmten Server-Umgebungen ist er 1500.

DOCKERHUB_PROXY=''

Sie verwenden einen lokalen Proxy für DockerHub? Dann können Sie ihn hier angeben.

RESTART_POLICY=no

Restart-Policy der Docker-Container: no, always, on-failure, unless-stopped

Development Parameters

Die folgenden Parameter können für Experimente, in Debug-Situationen usw. eingesetzt werden. Sie sollten im Normalbetrieb aber nie im .env File auftauchen:

OVERWRITE_INSTALLATION="no"

Bei Neustart wird die Installation neu aufgesetzt. Alle Daten, User, Testinhalte und Konfigurationen gehen mit Neustart verloren.

SKIP_READ_FILES="no"

Das (Neu-)Einlesen der Dateien beim Start wird übersprungen. Damit kann der Systemstart deutlich beschleunigt werden, die Datenintegrität ist jedoch nicht mehr gewahrt. Ab Testcenter 15.2.0 werden ohnehin nur noch Workspaces neu eingelesen, die sich verändert haben. Die Einstellung ist damit beinahe obsolet.

SKIP_DB_INTEGRITY="no"

Der Integritätscheck der Datenbank beim Starten wird übersprungen. Nur dann nützlich, wenn man ein kaputtes System unbedingt noch einmal hochfahren will.

NO_SAMPLE_DATA="no"

Das Anlegen des Beispiel-Arbeitsbereiches wird bei einer Neuinstallation übersprungen. Wird ein bereits vorhandenes System gestartet, hat diese Einstellung keine Auswirkungen.

Server-Admin: TLS einrichten

Außer in Offline-Szenarien muss TLS verwendet werden. Dazu sind Zertifikate zu besorgen und im testcenter-Verzeichnis unter config/certs abzulegen. Die Namen der Zertifikatsdateien sind in der Datei config/tls-config.yml anzugeben.

Ist TLS nicht eingerichtet, so wird ein self-signed-Certificate verwendet - mit der Folge, dass Nutzer des Testcenters eine Sicherheitswarnung von ihrem Browser bekommen.

“Super-Admin”: Konfigurationsoptionen in der UI

Innerhalb der Testcenter Applikation gibt es die Rolle des “Super-Admin”, der sich im Testcenter einloggt unter Systemverwaltung und dem Reiter Einstellungen verschiedene weitere Konfigurationen vornehmen kann.

Ändern der Standard-Texte

Die meisten Texte, die ein Testteilnehmer zu Gesicht bekommen, lassen sich hier für die gesamte Instanz ändern. Diese lassen sich dann wiederum [für einzelne Studien oder Booklets ändern] (https://iqb-berlin.github.io/tba-info/Testcenter/Studiendurchfuehrung/Studienverhalten_konfigurieren.html).

Eine Warnung auf die Startseite schalten

Es lässt sich für eine definierte Zeit eine Warnung auf die Startseite schalten.

Das Aussehen der Anwendung grundsätzlich anpassen

Hintergrundfarbe, Name, Logo u. Ä. der Anwendung lässt sich verändern. Bei den Farben sind sämtliche CSS-Farben und sogar CSS-Farbverläufe usw. möglich.

Die Fehlerreport-Funktion konfigurieren

Wenn immer im Testcenter eine Fehlermeldung auftaucht, gibt es die Möglichkeit, einen ausführlichen Report anzuzeigen, und herunterzuladen. Wird dieser an die Entwickler gesendet, haben diese eine Chance das Problem zu beheben. Eine Testcenterinstanz kann so konfiguriert werden, dass Fehlerreports auch auf Knopfdruck direkt eingesendet werden können. Betreiber eines Testcenters können auf diese Weise auftretende Fehler geordnet tracken.

Als Bugtracker kann derzeit nur GitHub angeschlossen werden. Dazu kann der Super-Admin entsprechend ein Token und ein Repository angeben.

Zurück nach oben