News

News Details

Großangelegtes Refactoring im Masterportal

Das Masterportal erfreut sich zahlreicher Nutzer und wird inzwischen auch außerhalb Hamburgs erfolgreich eingesetzt und mit weiteren Funktionen versehen. Sein Ursprung geht auf das Jahr 2014 zurück, in dem in Hamburg der Aufbau der neuen Portallösung begann. Inzwischen sind 6 Jahre vergangen, in denen der Code ständig überarbeitet und aktualisiert wurde. Für eine Webanwendung die sich aus vielen Bibliotheken der OpenSource-Community zusammensetzt ist es von entscheidender Bedeutung diese ständig aktuell zu halten und nicht zu viele technische Schulden aufzubauen, wenn man wie in unserem Fall einen langen Lebenszyklus der Anwendung garantieren möchte.

Ein Austausch von Bibliotheken im Masterportal kann dabei mehr oder weniger tiefgreifende Arbeiten nach sich ziehen. Eine der Bibliotheken, für die nun ein Austausch ansteht ist "Backbone.js". Wie der der Name schon sagt bildet diese das „Rückgrat“ des Masterportal-Codes, das alles zusammenhält und Mechanismen zum Zusammenspiel der vielen einzelnen Komponenten bietet. Entsprechend aufwändig ist dieser Umbau, denn es müssen alle Module angepasst werden. Wir halten den Austausch jedoch für unverzichtbar und entscheidend dafür ob wir auch in den nächsten 6 Jahren im Sinne eines stabilen Produkts gut aufgestellt sind.

Wir stehen in der Produktpflege also vor der Herausforderung, die gesamte Architektur der Anwendung und damit den gesamten Code auf neue Beine zu stellen müssen, ohne die Software von Grund auf neu schreiben zu wollen. Dazu wurden seit 2019 verschiedene Herangehensweisen und neue Frameworks evaluiert, mit denen wir diese Aufgabe umsetzen können. Wie bei allen anderen Bibliotheken sind für uns vor einer Entscheidung neben der technischen Eignung auch Dinge wie Lizenz, Verbreitung, Nachhaltigkeit, Dokumentation oder Größe der Community wichtig.

Unsere Entscheidung für einen Nachfolger von Backbone.js ist auf das Framework "Vue.js" gefallen. Weiterhin haben wir uns dafür entschieden den Umzug sukzessive zu gestalten und beide Frameworks gleichzeitig zu nutzen, bis aller Code von Backbone.js nach Vue.js umgezogen ist. Dies erlaubt es uns, auch während der Umbaumaßnahmen weiterhin neue Features zu entwickeln und alte noch nicht umgezogene weiterhinzu betreiben. Gleichwohl müssen wir dafür sorgen, diese Umbaumaßnahmen möglichst schnell abzuschließen.

Die Arbeiten hierzu wurden im März 2020 begonnen und werden sukzessive fortgeführt.

Um das weitere Auflaufen von neu entwickeltem Code im alten backbonejs-Framework und den dann auch dort anstehenden Migrationsaufwand zu verhindern, arbeiten wir intern ab sofort nur noch mit Vue.js. Weiterhin erstellen wir aktuell Dokumentationen und Tutorials zum Umstieg auf Vue.js, um auch externen Entwicklern die Mitarbeit zu erleichtern.

Für externe Entwickler kündigen wir hiermit an, ab 1.1.2021 keinen Programmcode im Backbone.js Format für den Application-Core mehr zu akzeptieren. Schon bestehende backbonejs-AddOns unterstützen wir bis auf weiteres über diesen Zeitpunkt hinaus, jedoch lediglich so lange die dort evtl. benötigten Backbone-Funktionen des MasterPortal-Cores noch nicht umgezogen sind. Eine Deadline für den Umzug auch dieser externen AddOns nach Vue.js soll nach einem Statusbericht zur Migration festgesetzt werden, den wir für Ende 2020 planen zu erstellen.

Bitte ziehen sie diese Termine in ihre Überlegungen zu einer Neuentwicklung von Erweiterungen oder der Beauftragung von Dienstleistern mit ein.

Zurück

Es werden notwendige Cookies und Youtube geladen. Details finden Sie in unserer Datenschutzerklärung und unserem Impressum.