DrupalHe sacado tiempo para hacer una tarea que llevaba un par de meses pendiente, y es que por fin he actualizado la web a la versión 5.1 de Drupal. Le tenía un poco de miedo al ser una release con bastantes cambios en el core, estructura de directorios y demás. Afortunadamente la migración sólo me ha ocupado tiempo, no he tenido que calentarme en exceso la cabeza para que conseguir que todo lo que tenía instalado siguiera funcionando como antes.

El primer cambio importante de esta nueva versión que he visto con respecto a la 4.7 es que ahora los módulos tienen un directorio independiente para cada uno de ellos en vez de estar todos juntos en el directorio «modules». Además, cada módulo viene acompañado con un fichero de texto que indica su nombre, descripción, versión, dependencias, y otra serie de información descriptiva para facilitar la instalación y desinstalación de los mismos. Muy útil, y evita además que Drupal tenga que cargar todos los módulos para obtener información sobre ellos.

También he visto que han desaparecido algunos directorios y que la organización en general es un poco distinta. Lo más llamativo es que los nuevos módulos y temas se deben instalar en el directorio «all» que se encuentra dentro de «sites» en vez de directamente en «modules» y «themes» como se hacía antes. Para evitar problemas y no andar moviendo ficheros a mano lo que he hecho es borrar toda la web (previa realización de copia de seguridad, claro), copiar los nuevos directorios y ficheros de la nueva versión de Drupal, añadir los directorios propios (como «files») y restaurar los parámetros de los ficheros de configuración como «settings.php», «.htaccess», «robots.txt», …

Los cambios de base de datos se realizaron sin problemas durante la ejecución del proceso de update, así que no les preste mayor atención.

Durante la actualización puse el sitio offline y establecí un tema (theme) de los que trae Drupal por defecto. Una vez hecha la migración activé mi tema, aunque tuve que modificar algunos valores de la hoja de estilos porque los enlaces a «comentarios» y «leer más» se veían muy pequeños. El problema es que se han creado nuevas clases CSS para estos campos y yo no los tengo contemplados en mi tema. En realidad el problema es de mi tema, que lo hice yo mismo para aprender y luego no me he molestado en irlo actualizando. Algún día lo cambiaré y empezaré a utilizar alguno estándar para olvidarme de este tipo de cosas.

Respecto a mis módulos, actualmente tengo 3 módulos activos hechos por mí, dejaron de funcionar al hacer la migración. Menos mal que los desactive antes de ejecutar el proceso de actualización. Después de compararlos con los nuevos módulos del core ví que la mayoría de los problemas eran debidos a la nueva disposición de los menús de administración, a que ha cambiado un poco la forma de gestionar los formularios, y a que el hook «nodeapi» admite algunos valores que no estaba teniendo en cuenta. Una vez cambiada esa parte, apenas un par de líneas realmente, empezaron a funcionar otra vez.

Lo único que me ha faltado por hacer es poner los «feeds» a mi gusto. Había hecho unas modificaciones en el core de Drupal que voy a tener que rehacer. No obstante, antes de volver a hacerlas, quiero investigar un poco a ver si puedo conseguir el mismo resultado con algún tipo de módulo.