Accurate, up-to-date and easy to find information and resources are key requirements of a governmental site. LWL needed to ensure that its web platform could be relied upon for years to come.
Although the Zope-based web platform used by LWL had provided many years of sterling service, questions about the long-term future of Zope needed to be addressed. Not least of the concerns was the effort of maintaining the platform’s future security as its components aged.
LWL's tens of thousands of pages - spread across more than 170 public websites managed by around 350 web editors, and about 50 intranet sites with 180 editors - must all be kept up-to-date with accurate information for the users who rely on them on a daily basis.The substantial machinery behind this vast web presence had to be replaced without disrupting either the work of content editors or the service to LWL's citizens.
After considering a wide variety of alternatives, the technical team responsible for managing the platform selected django CMS as the basis for the new system. django CMS was chosen for a number of reasons. Chief amongst them was the editing and content experience it offered; the reliable, flexible Django application layer; and the promise of a vastly-reduced maintenance burden.
The Django web applications deployed in LWL’s new platform include a number of components and addons that can be reused across their sites, providing a consistent experience for web editors and visitors alike.
Functionality for users on the old site needed to be replicated as-is, to ensure a seamless transition. To achieve this, new custom plugins were created to which existing data and content were automatically migrated.
On the frontend, the LWL sites were reworked to a standard Bootstrap foundation, without requiring disruptive changes to the user experience. The new frontend provides the same layout and design, but maintenance and future development will be made much easier.
The vast amount of content on the site had to be migrated seamlessly to the new platform; in order to achieve this Divio developed a synchronisation system between the old and new platforms.
Commitment, know-how and project management at Divio were essential components of the project's success. With django CMS, we have introduced a system that fits perfectly into our IT infrastructure and enables us to operate and present our multitude of Internet and intranet sites at low cost.
Detlef Lobmeyer, Head of Web CC, LWL IT
Key to the LWL project was a transition without disruption. A one-off migration and launch was out of the question. Not only was the existing content vast, it needed to be updated every single day. The entire system had to keep up with the work of the many teams of content editors, managing new and existing content, and the needs of users, without dropping a beat.
The only solution was to migrate the web platform in-flight, a delicate and complex operation that was completed without the luxury of scheduled down-time.
First, the django CMS platform was prepared to mirror the structures of the existing sites. Then, we developed a sophisticated synchronisation system, that was able to connect to the APIs of LWL’s existing platform, to extract content, parse it, map it and migrate it to new Django applications. The synchronisation was incremental and iterative; even while synchronisation was taking place, new content might be added to the old site, so the process had to accommodate that.
As the migration proceeded, teams of editors from LWL - in schools, museums, clinics and other institutions - were trained in the use of the new platform, and one by one LWL’s sites were declared fully migrated, and switched to their new system.
The migration system saved tens of thousands of hours of work.
LWL sites are now running on their new platform: a single instance of django CMS and other Python/Django applications hosted on a streamlined Docker-based architecture. The system uses MySQL (storage) and Redis (caching) databases, sharded across multiple instances for scalability.
The hosting infrastructure allows rapid deployment of new sites, and scaling of existing instances to meet demand. Docker containerisation also means that the system can be easily deployed on new infrastructure in the future.
LWL’s new setup uses Divio Cloud as a development platform, on which new and updated applications can be tested against the same environment used in production; when the applications have passed testing they can be built into a new Docker image and deployed at will.
This allows LWL’s site managers to apply updates - including important security updates - rapidly and easily, without requiring their backend teams to produce and apply the patches, and then system administrators to redeploy the system. Instead, simple interfaces mean that software updates will be applied sooner and more reliably, reducing a significant maintenance burden and security risk.
Though they use the Divio Cloud for development, LWL’s sites are hosted in Germany on their own infrastructure. They enjoy all of the benefits of this scalable, powerful system, and maintain it on-premise, fully under their control, in conformance with their own legal and policy requirements.
The Westphalia-Lippe Regional Association has successfully enjoyed a seamless migration from a system that within the foreseeable future would no longer be able to continue serving its needs, to a new, future-proofed Django platform. It will serve them in the long-term, because it has been built with the future in mind.