Pasar un proyecto de drupal-composer a drupal-recomended

Ejecutar los siguientes pasos editando archivos y mediante comandos:

  1. Quitar dependencia drupal-scaffold:
    • composer remove drupal-composer/drupal-scaffold
  2. Borrar del composer.json los siguientes items
    • "drupal-scaffold": {
      "initial": {
      ".editorconfig": "../.editorconfig",
      ".gitattributes": "../.gitattributes"
      }
      },
    • Quitar la sección «scripts» y borrarla completamente:
    •     "scripts": {
      -        "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold",
      -        "pre-install-cmd": [
      -             "DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
      -        ],
      -        "pre-update-cmd": [
      -  "DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
      -        ],
      -        "post-install-cmd": [
      -  "DrupalProject\\composer\\ScriptHandler::createRequiredFiles"
      -        ],
      -        "post-update-cmd": [
      -  "@drupal-scaffold",
      -  "DrupalProject\\composer\\ScriptHandler::createRequiredFiles"
      -        ]
    • Sección ya no requerida al no haber scripts.
      • -    "autoload": {
        -        "classmap": [
        -            "scripts/composer/ScriptHandler.php"
        -        ],
        -        "files": ["load.environment.php"]
        -    },
  1. Instalar https://github.com/drupal/core-composer-scaffold:
    • composer require drupal/core-composer-scaffold:^8.9
  2. Actualizar archivo composer.lock:
    • composer update --lock
  3. Reemplazar drupal/core por drupal/core-recommended. Revisar documentación https://github.com/drupal/core-recommended
    • composer remove drupal/core
  4. Intentar instalar
    • composer require drupal/core-recommended:^8.9
  5. Actualizar Drupal core, si no se pudo anteriormente:
    • rm composer.lock
      rm -rf vendor
      composer require drupal/core-recommended:^8.9 --update-with-dependencies
  6. Ejecutar
    • composer drupal:scaffold

Actualización de core de Drupal 8 con Composer

Las siguientes instrucciones incluyen comandos de Drush para facilitar los pasos para la actualización. Esto facilita y agiliza el proceso de actualización del core.

Si se trata de un sitio Drupal que ya existe, verifique que esté tiene composer o asegúrese de instalarlo y que esté listo para implementar.

Antes de realizar algún cambio, recuerde realizar el backup de la base de datos y un respaldo del sitio. Se recomienda utilizar manejador de versiones para evitar pérdida del sitio en caso de conflictos de dependencias.

  1. Verificar si el proyecto usa drupal/core-recommended or drupal/core
    • composer show drupal/core-recommended
    • Si está instalado drupal/core-recommended, este comando devuelve la información sobre el paquete. Si no está instalado este dirá que no lo encontró (Not Found)
  2. Verificar actualizaciones disponibles
    1. composer outdated "drupal/*"
    2. Si no hay una línea que comience con drupal / core, Composer no mostrará ninguna actualización pendiente. Si hay una actualización, continúe con los siguientes comandos.
  3. Actualizar el core de Drupal
    • Si es drupal/core-recommended
      • composer update drupal/core "drupal/core-*" --with-all-dependencies
    • Si es drupal/core
      • composer update drupal/core --with-dependencies
  4. Actualizar base de datos y limpiar caché.
    • drush updatedb (Tambien puede actualizar la base de datos con la siguiente url usando el dominio de proyecto tudominio/update.php )
    • drush cache:rebuild

Para más información ver la documentación de drupal
https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer

Actualizar el core de Drupal 7 usando file patch

Actualizar el core de Drupal 7 usando file patch

Los últimos años he venido trabajando cada vez con Drupal, y me encontrado que la documentación puede ser un poco confusa y la gran mayoría se encuentra en ingles. Como aporte a la comunidad iré creando contenido sobre algunas labores cotidianas de mantenimiento y soporte de Drupal. Para esta ocasión escribiré sobre como actualizar el core de Drupal 7 usando un archivo patch y algunos comandos disponibles en la gran mayoría de distribuciones LINUX,eEsto es fantástico para aquellas labores repetidas de mantenimiento de varios sitios al tiempo.

Pasos para actualizar el core de Drupal 7

1. Realizar un backup de todo

Primero debes realizar un backup de la base de datos, de los archivos y carpetas de los componentes personalizados que tengas (Módulos, perfiles) según las recomendaciones e instrucciones de UPGRADE.TXT .

  • .htaccess file
  • robots.txt file
  • settings.php file (sites/all/default or sites/all/example.com)
  • custom profiles (profiles)
  • custom themes (sites/all/themes)
  • custom modules (sites/all/modules/custom)
  • contributed modules (sites/all/modules/contrib)
  • custom features (sites/all/modules/features)

Luego de tener el backup listo de la base de datos y de los archivos personalizados o custom de tu sitio, vamos a crear el patch para la actualización.

 

2. Crear el patch para la actualización

  1. Primero descarga la ultima versión de Drupal. https://www.drupal.org/project/drupal/releases/( versión: 7.78 ).
  2. Descarga la versión que tiene tu sitio. Si no sabes cual es la versión que tiene el Drupal la puedes consultar en el archivo CHANGELOG.txt, o por medio de Drush con el comando
    drush status
  3. Descomprime los archivos, en la carpeta donde tengas las dos versiones corre el siguiente comando:  diff -Naur drupal-actual drupal-ultimaversion > drupal-actual-to-drupal-ultimaversion.patch Ejemplo: Si tu versión es la 7.72 y lo actualizaras al 7.74 el comando quedaría así:  diff -Naur drupal-7.72 drupal-7.74 > drupal-7.72-to-drupal-7.74.patch.
  4. Mueve este archivo .patch a la raíz de la instalación del drupal actual.
  5. Sigue los 5 primeros pasos mencionados en el archivo UPGRADE.txt (3. Elimine todos los archivos y directorios antiguos del directorio de instalación de Drupal).Después de eso, continúe usando los comandos de parcheo que se enumeran a continuación.
    1. Inicie sesión como usuario con el permiso «Administrar actualizaciones de software».
    2. Vaya a Administración> Configuración> Desarrollo> Modo de mantenimiento. Active la casilla de verificación «Poner el sitio en modo de mantenimiento» y guarde el configuración.
  6. Ahora vamos a probar el patch, abre una terminar en la carpeta raíz de la instalación actual del Drupal.
  7. Ingresa el siguiente comando:  patch -p1 --dry-run < drupal-actual-to-drupal-ultimaversion.patch. Veras un listado de los archivos que se parchearan en la actualización. CUIDADO: Si salen mensajes de error como parche aplicado anteriormente o ¨1 out of 2 hunks FAILED¨ es porque el Drupal se ha modificado de alguna forma y el parche no se aplicara. En este punto es mejor que realices la actualización estándar como se menciona en el archivo UPGRADE.txt
  8. Para correr el parche ingresa desde la terminal el siguiente comando: patch -p1 < drupal-actual-to-drupal-ultimaversion.patch
  9. Continua con los pasos desde el 8 mencionados en UPGRADE.txt.
  10. Verifica el archivo de configuración setting.php y ejecuta www.tudominio.com/update.php

En la documentación que encontré hay un sitio donde puedes encontrar varios patch ya creados. Aquí puedes encontrar patch de las versiones 5.x, 6.x y 7.x de Drupal. https://fuerstnet.de/post/2007-12-07-drupal-upgrade-easy-way/

Si quieres conocer un poco mas sobre mi y mi trabajo consulta mi portafolio