FOSS4G 2023

Migration strategies: Or how to get rid of a deprecated framework
2023-06-29, 15:00–15:30 (Europe/Tirane), Mirusha

Deprecation of a used framework is a common risk for software projects. Migrations are very time-consuming and costly, without showcasing any new functional features. This can make them an unpopular task, that tends to be postponed until there is no other choice, be it for a customer or the community of an open source project.

During the last decade for instance, AngularJS has been one of the most popular web frameworks around. This was not any different in FOSS4G projects, where it had been adopted in geoportals and other frontend components. With the end of the decade, active development of AngularJS came to an end and since summer 2021 no more security updates are provided. This has become a major challenge for many web ecosystems - including FOSS4G ones - where AngularJS is still very present, but will have to be replaced in the long run.

This talk will present various open source projects and how they differently approach this challenge. It will reflect on lessons learned so far and aspires to provide inspiration for other projects in a similar situation.

Geomapfish is a WebGIS framework that allows to build geoportals. It is a community driven project. Its frontend is based on the ngeo javascript library, which has been built on top of AngularJS and OpenLayers. Due to its wide functionality, the project’s goal is to prevent a one shot migration. It has been decided for a continuous migration based on (Lit Element) web components, that allow to integrate migrated functionalities step by step.

Geoportal.lu is the national geoportal of Luxembourg. It is based on the Geomapfish framework, but has a very customized frontend. The requirement here is similar. Instead of migrating all at once, the different parts should be continuously integrated. After following the Geomapfish migration strategy based on web components at first, the project is finally migrated to another javascript framework (vue), without giving up on the continuous migration.

Geonetwork is a well-known FOSS4G catalog application. On top of its powerful backend, sits a frontend that is also based on AngularJS. Once again, its functionality is so vast, that a complete rewrite would be enormous. Thus came up the idea of geonetwork-ui: A new project that could live alongside Geonetwork without the goal to become isofunctional, but to complement it. A project providing libraries specialized in proposing user interfaces by leveraging Geonetwork’s backend capabilities.

Geospatial developer at Camptocamp