Seeding
Für den initialen Import von Kursen, Semestern, Übungen, Sprachen, Aufgaben-Pools und weiteren Entitäten gibt es eine JSON-Schnittstelle. Der Import erfolgt mit dem SeedRunner
:
gradle bootRun --args='seed:seed ./seed'
subato-seed
ist das Verzeichnis, das die JSON-Dateien beinhaltet. Aus der Demo kann der Aufbau der Dateien abgeleitet werden. Zudem kann aus den DTOs in de.hsrm.sls.subato.seed
abgeleitet werden, was importiert werden kann. Bei der Zuordnung der JSON-Attribute zu den Feldern in den DTOs wird die Snake-Case Namenskonvention verwendet. Sämtliche Enum-Werte können ebenfalls im Code nachgesehen werden.
Die IDs dienen der Referenzierung im Rahmen des Imports, das System vergibt eigene IDs und speichert die angegebenen IDs in der jeweiligen Tabelle unter der Spalte sourceId
ab.
Noch ein paar Hinweise:
- Die IDs dienen der Referenzierung im Rahmen des Imports, das System vergibt eigene IDs und speichert die angegebenen IDs in der jeweiligen Tabelle unter der Spalte
sourceId
ab. Die erzeugten Entitäten haben also nicht die in den JSON-Dateien angegebenen IDs. - Bisher können nur Aufgaben importiert werden, die sich in einem Git-Repository befinden. Dieses wird als Aufgaben-Pool in
task_pools.json
angelegt. Bei der Verlinkung der Aufgaben inexercises.json
(Attributtask_instances
) bezieht sich die ID der Aufgabe auf das FeldsubatoId
in dermeta.xml
(siehe STEF-Spezifikation).