Perspektivisch soll dieses SuperX-Modul auch weitere Funktionialitäten bieten, z.B.
- Säulenübertragung von Konfigurationen (Masken, Sichten, Repository-Variablen etc.) via Browser oder Kommandozeile
- Ausführung und Kontrolle von Laderoutinen im Browser
- Ladeschritte wiederverwertbar machen (z.B. Entladen Prüfungen in Hauptladeroutine Studierende und Unterladeroutine "Lade Prüfungen aus POS")
- Zusammenlegung der Install/Upgrade Jobs in einen Job
- Idempotenz der Ladejobs, und Fernsteuerung der Schritte mit Administrationstools wie Ansible
- Laderoutinen in Schleifen, z.B. einen Bericht über mehrere Organisationseinheiten ausführen, nach Excel Speichern, und per Mail versenden
Derzeit arbeiten Laderoutinen weitgehend unsichtbar, Sie "sehen" höchstens einen Forschrittsbalken, und bei Bedarf schwer lesbare Logausgaben. Es wird häufig bemängelt dass die Laderoutinen intransparent sind. Das wollen wir verbessern, die Laderoutinen sollen sich "lesen lassen wie ein Roman":
- Es wird zur Laufzeit beschrieben, was passiert. Da das "Buch" meistens im Keller steht, benötige ich Fernzugriff (->Logausgabe im Browser)
- Es gibt Kapitel und Unterkapitel, die auch einzeln lesbar bzw. lauffähig sind (-> Teile der Laderoutinen einzeln starten)
- Es gibt für jedes Kapitel Leitfragen bzw. "Soll"-Zustände, die wir erreichen wollen (-> Füllstatus von Tabellen etc.)
- Bei jedem Kapitel weiß ich, ob es es eher bis zum Ende lesen sollte oder jederzeit abbrechen kann (-> stoppen oder weitermachen, auch im Fehlerfall)
- Ich kann auch wählen ob ich ein Kapitel genau lese oder nur überfliege (-> Loglevel)
- Auch kleine Unterbrechungen sollten möglich sein, d.h. ich stoppe das Lesen / die Laderoutine, und
- schaue mir Details in Ruhe an (-> Tabelleninhalte)
- Ich kann mir Seitenzahlen und Kapitelnummern notieren als Lesezeichen, wo ich nochmal nachschauen kann (-> Ladeschritt-Nummern oder Identifier, über die ich sie ansteuern kann)
- Es werden für jede Seite Metadaten zur Laufzeit geschrieben, z.B. Laufzeiten, Datenmengen -> Verbessertes Logging
- Teile des Codes lassen sich einfach herauskopieren, um z.B. ein Einzelschritt-Debugging zu leisten.
- Kapitel die mich nicht interessieren kann ich überspringen -> Ladeschritte deaktivieren
- Ich kann eigene Notizen hinter jedes Unterkapitel heften -> Laderoutinen um eigene Mini-Laderoutinen erweitern, z.B. Mailversand oder hochschulspezifische Anpassungen
- Ich möchte auch ein "Autorensystem" haben, um eigene Bücher (->Laderoutinen) zu schreiben/zu bauen. Die Möglichkeiten sollten von Kettle Jobs bis hin zu eigenen Java-Klassen reichen, die über ein Interface eingebunden werden können
- Dafür benötige ich Werkzeuge, wie Stift und Papier (->ETL-Ladeschritte, z.B. Upload von Excel oder CSV)
- Zeitgesteuerter Aufruf analog zu Cron/Quartz