Logo digrup

Ajuntament de Barcelona

Migració a Drupal 10

Un web complex, ple d'interaccions i integracions amb altres sistemes i amb grans expectatives per donar un bon servei als ciutadans de la ciutat.

Ajuntament de Barcelona mockup

Tecnologies

La web principal de l'Ajuntament de Barcelona va ser creada per Digrup a Drupal 7 fa uns quants anys, no estava a l'horitzó ni amb Drupal 8.

Un lloc complex, ple d'interaccions i integracions amb altres sistemes i amb grans expectatives per donar un bon servei als ciutadans de la ciutat.

Amb aquesta fita superada, i ja amb la data oficial de la fi de Drupal 7, Digrup es va encarregar de migrar el lloc complet a Drupal 10.

Els principals objectius d'aquesta migració van ser:

  • Migració de tot el contingut web de Drupal 7 a Drupal 10.
  • Migració de tots els usuaris / rols del lloc a Drupal 10.
  • Migració de tots els fitxers (documents, mitjans .. ) a Drupal 10.
  • Actualitzar el tema principal al nou sistema de plantilles de Drupal 10.
  • Actualitzeu els mòduls personalitzats del lloc a Drupal 10.
  • Manteniment del SEO generat durant anys a Drupal 7.
  • Apliqueu un sistema CI/CD al nou lloc com a millor visualització.
  • Aprofitar la migració per millorar el rendiment
  • Millorar el SEO del lloc
  • Preparar el lloc per a futurs evolutius

Una de les premisses era que òbviament la introducció de continguts, a causa de l'actualitat en directe del propi lloc, no es podia aturar, per la qual cosa la dualitat de les versions Drupal 7 i Drupal 10 no es podia estendre durant molt de temps.

Es va planificar en diverses etapes:

  1. Anàlisi de l'estat migratori i de sortida.
  2. Preparació de Drupal 7
  3. Creació de Drupal 10
  4. Migració inicial
  5. Adaptació a Drupal 10
  6. Migracions finals.
  7. Publicació

1.Anàlisi de l'estat migratori i de sortida.

Abans de començar la migració, es va analitzar a fons el lloc. Van classificar tot tipus de contingut, taxonomies, vistes, blocs, fitxers, contrib i mòduls personalitzats. Així mateix, es van enumerar totes les pàgines públiques de la web per mantenir-les sota control i poder-les comparar un cop migrades.

Drupal ens proporciona un mòdul d'anàlisi de compatibilitat anomenat upgrade_status que pot ser útil, perquè analitza diversos aspectes tècnics del nucli i mòduls a tenir en compte per a la migració: Upgrade Status

A partir d'aquí, es va calendaritzar el projecte i es van estimar les fases que formarien part del desenvolupament, tenint en compte que en una migració d'aquest tipus sempre es poden trobar sorpreses més endavant.

2. Preparació de Drupal 7

La fase més tècnica va consistir a preparar el Drupal 7 real per fer-lo totalment compatible amb el futur Drupal 10.

En aquesta fase vam tenir en compte:

  • Última versió de Drupal 7 estable tant de core com de mòduls.
  • Eliminar tot el contingut obsolet d'anys de manteniment i edició, ja siguin nodes o fitxers.
  • Eliminació de views, blocs, tipus de contingut, taxonomies obsoletes i allò que no cal tenir en compte durant la migració.

3. Creació de Drupal 10

Aquest pas és el més senzill de tots, instal·leu Drupal 10 i afegiu les dades de la BD de Drupal 7 al settings.php del lloc per a que la migració estigui ben configurada.

Abans d'iniciar la migració, és convenient tenir instal·lada a Drupal 10 la versió corresponent del mòdul contrib del 7.

4. Migració inicial

Un cop hem verificat que Drupal 10 té accés a la nostra còpia local de Drupal 7, fem la primera prova de migració a través dels mòduls de migració bàsics.

Aquest punt va fer que programaríem una migració personalitzada de fitxers (documentació , imatges, pdf.. ) fent uns .yml personalitzats.

5. Adaptació a Drupal 10

Un cop vam demostrar que la fase de migració va ser un èxit i teníem tot el contingut que volíem a Drupal 10, vam començar la fase d'adaptació.

A grans trets la fase d'adaptació va consistir en maquetar de nou el lloc al sistema de plantilla Twig de Drupal 10, refer views i refactoritzar els mòduls personalitzats que es van fer a Drupal 7.

6. Migracions finals.

Un cop vam tenir una còpia en un servidor de desenvolupament web a Drupal 10, vam tornar a executar diverses migracions per comprovar que tot funcionava correctament, assegurant-nos que teníem l'última versió del contingut productiu.

S'ha millorat per actualitzar el codi a php 8.1 i s'ha adaptat el lloc per incorporar-lo a un sistema d'integració contínua per millorar el desenvolupament.

7. Publicació

Abans de la publicació, es va revisar pàgina per pàgina, tant el path de la mateixa com les seves metatags, de manera que no afecti al SEO.

Un cop publicat el nou Drupal 10, es va tornar a fer un seguiment del lloc i es va fer el seguiment pertinent.

En els análisis posteriors es va constatar que es va millorar tant el rendiment com en el SEO, i es va deixa el site preparat per a futurs evolutius.

Gràcies a tot l'equip que va intervenir en el projecte per la seva professionalitat i lideratge per tirar endavant aquest complex projecte.

Següent

Cuidem Barcelona

Som del teu equip.