ILIAS-Blog
Modernisierung in Aktion: "Removing of Legacy-UIComponents-Service and Table“
Bereits seit Beginn des Jahres läuft ein neues Großprojekt innerhalb der ILIAS-Community mit dem griffigen Namen Removing of Legacy-UIComponents-Service and Table, kurz: "Removing LUI".
Das Projekt selbst profitiert stark von der Kitchen Sink, in der schon seit vielen Jahren die Elemente des ILIAS-User-Interface (UI) an einer zentralen Stelle gesammelt werden. Diese Kitchen Sink – die bereits 2015 auf der DevConf in Dortmund das erste Mal vorgestellt wurde – bietet viele Vorteile:
- Der Quellcode von ILIAS wird schlanker, übersichtlicher, wartbarer.
- Neue Entwicklerinnen und Entwickler können sich schneller einarbeiten.
- Die Optik und die Bedienung von ILIAS wird einheitlicher und schöner.
- Mit Änderungen an zentralen Stellen kann der Look des gesamten Systems angepasst werden.
- Der Abbau von Barrieren wird erleichtert.
Es zahlt sich also in vielfacher Hinsicht aus, UI-Elemente an zentraler Stelle zu pflegen. Wenn jedoch UI-Code bereits vor vielen Jahren lokal angelegt wurde – also in einzelnen Komponenten von ILIAS, wie dem Kurs oder dem Mail-System – kann es aufwändig sein, diesen zu entfernen und auf die Kitchen Sink anzupassen. Entsprechend gibt es bis heute eine ganze Reihe an UI-Elementen, die lokal gepflegt werden müssen. Die Beispiele reichen vom einfachen Button bis hin zu komplexen Datentabellen oder gar globalen Strukturen, wie dem Hauptmenü.
Das Projekt Removing of Legacy-UIComponents-Service and Table nutzt die Kitchen Sink als Mittel, um die Anzahl dieser Elemente deutlich zu reduzieren, den Quellcode zu verschlanken und wartbarer zu machen. Denn die lokale Pflege von UI-Elementen bläht den ILIAS-Code auf, erschwert Anpassungen und ist darüber hinaus fehlerträchtig. Auch sehen manche der lokalen UI-Elemente einfach nicht mehr zeitgemäß aus, weshalb innerhalb des Projektes gemeinsam neue Schemata entwickelt werden:
Das Gesamtprojekt soll mit dem Release von ILIAS 10 enden. Dafür müssen bereits in ILIAS 9 etliche Elemente umgestellt und wichtige Grundlagen geschaffen werden.
Aktuell wird vor allem an Buttons, Listen und Bestätigungs-Screens gearbeitet. Das klingt zunächst überschaubar – bis man auf die Details schaut:
- Es gibt zwar bereits Buttons in der Kitchen Sink, diese bieten jedoch weniger Möglichkeiten, als es manche Dienste erfordern. So sieht der Button "Meine Verteilerlisten" in der Mail-Komponente für den Benutzer simpel aus – dahinter verbirgt sich allerdings eine Menge JavaScript, um sicherzustellen, dass alle Eingaben im Mail-Formular erhalten bleiben. Die Unterstützung dieser Funktionen muss der Kitchen-Sink-Button erst lernen.
- Auch die Bestätigungs-Screens scheinen leicht verbesserbar, jedoch werden sie an etwa 240 Stellen von ILIAS verwendet. Entsprechend muss für einen Austausch jede einzelne Stelle im Code ausfindig gemacht und aktualisiert werden.
- Noch extremer ist es bei den Tabellen: Rund 650 Tabellen-Implementierungen gibt es in ILIAS, die allesamt ausgetauscht werden müssen!
Das Projekt hat sich also einiges vorgenommen. Unter ILIAS 9 und ILIAS 10 werden im weiteren Verlauf zahlreiche Deprecations in Groß- und Kleingruppen betrachtet und gemeinschaftlich Lösungen entwickelt, Projektstände werden regelmäßig im ILIAS Jour Fixe berichtet.
Es handelt sich also wieder einmal um ein echtes Community-Thema, das allen ILIAS-Anwendern und Anwenderinnen hilft und dementsprechend breit finanziert werden sollte.
Knapp 150.000 Euro fehlen noch, um alle für ILIAS 9 geplanten Anpassungen umzusetzen. Gerade zeitnahe Finanzierungszusagen sind dabei wichtig, damit die eingeplanten Entwicklerkapazitäten tatsächlich gebucht werden können.
Konstanze Detemple und Oliver Samoila von der Databay AG übernehmen das Projektmanagement und betreiben auch das dazugehörige Fundraising. Gerne helfen sie bei der Planung, um die Arbeiten an den UI-Elementen mit anderen geplanten Features zusammen abzuwickeln. Erforderliche Änderungen am Code können so ggf. direkt in Kombination mit einem neuen Feature für ILIAS 9 oder 10 erfolgen.
Beteiligt an der Umsetzung sind alle Maintainerinnen und Maintainer, das Technical Board, die UI-/UX-/Ally-Expertinnen und übrigens auch weitere Entwickler und Entwicklerinnen. Denn für alle Komponenten können Pull Requests eingereicht werden. So kann diese wichtige Weiterentwicklung von ILIAS auf noch mehr Schultern verteilt werden.
Wer ein Budget für dieses Projekt zusagen kann oder weitere Fragen hat, wende sich gerne an die beiden Projektmanager:
- Konstanze Detemple, Mail: kdetemple@databay.de / Tel.: 02405 4083734 (vorrangig Mail)
- Oliver Samoila, Mail: osamoila@databay.de / Tel.: 02405 4083741 (vorrangig Mail)
Im Namen der ILIAS-Community möchten wir uns ganz herzlich bei den beiden für die Koordination dieses wichtigen Themas bedanken und sind gespannt auf ein Legacy-freies ILIAS in der Zukunft.