Sector(s)

Project Team

The project was delivered by a multidisciplinary ALTIA team combining Drupal development, architecture, DevOps, QA and maintenance capabilities.

Visit the site

Visit the site

Organizations Involved

Metro de Madrid, one of Europe's major public transport networks, operates a critical digital channel through its corporate portal at www.metromadrid.es.

The platform provides passengers and citizens with information and services including journey planning, real-time network information, stations, lines, news, contact services and other passenger-oriented content.

ALTIA has supported the continuous evolution and modernization of the platform, initially migrating the portal from Drupal 8 to Drupal 9, and subsequently carrying out migrations to Drupal 10 and Drupal 11 as new versions became available.

The project combines continuous corrective and evolutionary maintenance with technological modernization, allowing Metro de Madrid to evolve the platform while maintaining service continuity.

A key part of the initiative was the modernization of the development and deployment lifecycle, introducing automated testing, continuous integration and Dockerized environments to improve quality, stability and delivery speed.

The project also unified the previously independent international.metromadrid.es website within the main portal, centralizing content management and functionality.

About the project

Goals

The project pursued several complementary objectives:

  • Modernize the Drupal platform, progressively migrating from Drupal 8 to Drupal 9, 10 and 11.
  • Improve security by removing obsolete components and maintaining supported technology versions.
  • Reduce technical debt through a detailed review and refactoring of custom code.
  • Improve development and deployment quality through CI/CD and automated testing.
  • Increase platform stability through automated functional validation.
  • Unify content management by integrating the international website into the main portal.
  • Improve accessibility, maintaining compliance with AA accessibility requirements.
  • Continue evolving the platform through new functionality and continuous improvements.

Challenges

Legacy platform modernization

The project started from a Drupal 8 platform that had reached its end of life.

The migration therefore required a detailed analysis of contributed modules, custom developments and dependencies before moving progressively through Drupal 9, Drupal 10 and Drupal 11.

ALTIA used Upgrade Status to identify modules requiring adaptation and carried out the necessary refactoring of deprecated custom code.

Business continuity

The portal is a critical public-facing service used by Metro de Madrid's passengers and users.

The modernization therefore had to be performed while maintaining the operational continuity of the existing platform.

Content unification

Metro de Madrid maintained a separate international website.

The project incorporated this content and functionality into the main portal, providing a single Drupal environment and unified editorial management.

Quality and deployment

The previous development lifecycle relied heavily on manual testing and deployment processes.

The project therefore introduced automated testing and CI pipelines to improve reliability and reduce deployment risks.

Technical debt

The platform contained custom code and legacy components that needed to be reviewed and adapted for modern Drupal versions.

The technical audit covered the platform's information architecture, taxonomies, contributed modules and custom code.

Solution

ALTIA implemented a multidisciplinary approach combining continuous maintenance, evolutionary development and technological modernization.

The delivery model combined:

  • Scrum for evolutionary development.
  • Kanban for corrective maintenance and incident management.

This allowed the team to respond to operational needs while maintaining a continuous roadmap for platform evolution.

Drupal migration

The platform was progressively migrated:

Drupal 8 → Drupal 9 → Drupal 10 → Drupal 11

Each migration involved:

  • Drupal core upgrade.
  • Dependency updates.
  • Contributed module compatibility analysis.
  • Custom module adaptation.
  • Custom code refactoring.
  • Twig, CSS and JavaScript adaptation.
  • PHP version upgrades.
  • MySQL version upgrades.
  • Functional validation.

This progressive approach allowed Metro de Madrid to maintain technological continuity while keeping the platform aligned with supported Drupal versions.

Automated testing and BDD

ALTIA implemented a Behavior-Driven Development approach using Behat.

Automated functional tests cover critical platform functionality, including:

  • Search.
  • Contact forms.
  • Content creation.
  • Content editing.
  • Content deletion.
  • Other critical user journeys.

These tests were integrated into Jenkins pipelines, allowing automated validation as part of the development and deployment process.

CI/CD

The project evolved from manual deployment and testing towards a more mature Continuous Integration model.

Jenkins pipelines automate:

  • Testing.
  • Functional validation.
  • Database refreshes between environments.
  • Deployment processes.

This reduced deployment risks and increased confidence when introducing new functionality or upgrading the Drupal platform.

Dockerized development environments

The development environment was containerized using docker4drupal.

This provides developers with standardized environments aligned with the production architecture, reducing differences between local development environments and improving reproducibility.

International website integration

The previously independent international.metromadrid.es website was integrated into the main portal.

This enabled Metro de Madrid to:

  • Centralize content management.
  • Reduce duplication.
  • Simplify editorial workflows.
  • Manage the international content within the main Drupal platform.

Accessibility

Accessibility was a key requirement of the project due to the public-sector nature of the platform.

The project included accessibility validation with the objective of maintaining AA-level accessibility compliance across the portal.

Results and impact

The modernization transformed the platform into a more secure, maintainable and sustainable Drupal environment, while allowing Metro de Madrid to continue evolving its digital services.

Key outcomes include:

  • Progressive migration from Drupal 8 to Drupal 9, 10 and 11.
  • Removal and replacement of obsolete components.
  • Reduced technical debt through custom-code refactoring.
  • Automated functional testing using Behat.
  • Continuous Integration through Jenkins.
  • Dockerized development environments.
  • Reduced deployment risks.
  • Improved platform stability.
  • Unified management of the international website.
  • Continuous delivery of new functionality.
  • A technology stack prepared for future Drupal evolution.

Why Drupal was chosen

Drupal was selected as the platform because it provides the flexibility, scalability and long-term sustainability required for a large public-sector digital service.

Its structured content architecture and extensive ecosystem of contributed modules allowed Metro de Madrid to evolve a complex portal while maintaining its existing information architecture and functionality.

The Drupal Migrate ecosystem also provided a mature framework for progressively migrating the platform between major Drupal versions while preserving content and business functionality.

Drupal's modular architecture enabled the project to combine contributed solutions with custom functionality, while its ecosystem provided the foundations required for search, caching, forms, authentication, multimedia and mapping.

The platform also offered the necessary capabilities to introduce modern development practices around Composer, automated testing, continuous integration and containerized environments, supporting the long-term maintainability of the solution.

Home Web Metro Madrid

Technical Specifications

Drupal version:

Why these modules/theme/distribution were chosen

Paragraphs

Used to provide editors with flexible reusable content components and simplify page composition.

Media

Used to centralize the management of documents and multimedia content within Drupal.

Search API Solr

Used to provide advanced indexing, search and faceted navigation capabilities.

Memcache API and Integration

Used to improve object caching and reduce database load.

LDAP

Used to provide authentication against the Metro de Madrid user directory.

Leaflet

Used to implement map-based functionality and solutions using geographic coordinates.

Webform

Used to provide flexible forms and user interaction capabilities.

Metro Cultural
pagina metro