Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Migration CND vers Drupal 9 » : différence entre les versions
| Ligne 144 : | Ligne 144 : | ||
Enfin on remet les bons droits : | Enfin on remet les bons droits : | ||
<syntaxhighlight lang="bash">chmod 755 web/sites/inventaire.cnd.fr | <syntaxhighlight lang="bash">$ chmod 755 web/sites/inventaire.cnd.fr | ||
chmod 755 web/sites/inventaire-intranet.cnd.fr | $ chmod 755 web/sites/inventaire-intranet.cnd.fr | ||
find web/sites/inventaire.cnd.fr -name "*settings.php" -exec chmod 644 {} \; | $ find web/sites/inventaire.cnd.fr -name "*settings.php" -exec chmod 644 {} \; | ||
find web/sites/inventaire-intranet.cnd.fr -name "*services.yml" -exec chmod 644 {} \;</syntaxhighlight> | $ find web/sites/inventaire-intranet.cnd.fr -name "*services.yml" -exec chmod 644 {} \;</syntaxhighlight> | ||
Pour cette migration, on rencontre un problème avec /update.php : Page blanche et message d'erreur. | Pour cette migration, on rencontre un problème avec /update.php : Page blanche et message d'erreur. | ||
Dernière version du 1 décembre 2020 à 10:41
Préparation de la migration
[modifier | modifier le wikicode]Monte en version D 8.9.6 vers 8.9.9
[modifier | modifier le wikicode]composer update
Ensuite :
- .update.php
- Vider les caches
Vérification des mises à jour : /admin_cnd/reports/updates
Le module : <Rename Admin Paths 8.x-1.1 Non supportée ! Erreur> doit être mis à jour.
composer require 'drupal/rename_admin_paths:^2.0'
Installation de Upgrade Status
[modifier | modifier le wikicode]composer require 'drupal/upgrade_status:^3.0'
- Installer le module : /admin_cnd/modules
- .update.php
Suppression des modules inutilisés
[modifier | modifier le wikicode]composer remove drupal/bootstrap_paragraphs drupal/ckeditor_media_embed drupal/csv_serialisation drupal/date_range_formatter drupal/smart_date drupal/views_accordion drupal/views_conditional drupal/views_fieldsets drupal/views_simple_math_field drupal/views_taxonomy_term_name_depth
Puis, d'autres modules à supprimer :
composer remove drupal/field_group drupal/csv_serialisation drupal/cancel_button
csv_serialisation ne se désintalle pas
[modifier | modifier le wikicode]C'est une dépendance de views_data_export, non utilisé.
Il faut désinstaller views_data_export.
composer remove drupal/views_data_export
menu_export n'est pas compatible MAIS il est installé
[modifier | modifier le wikicode]Ce module n'est pas utilisé.
- désinstaller le module : admin_cnd/modules/uninstall
- .update.php
composer remove drupal/menu_export
Mise à jour de modules vers une version compatible D9
[modifier | modifier le wikicode]composer require 'drupal/bbr:^2.1@RC' 'drupal/crop:^2.1' 'drupal/sitemap:^2.0@beta' 'drupal/social_media:^1.9@RC' 'drupal/bootstrap_barrio:^5.1' 'drupal/backup_migrate:^5.0@RC'
- .update.php
Correction ici : http://mw.ajlsm.com/wiki/Basculer_Drupal_8_vers_Drupal_9#BackUp_migrate
bootstrap_barrio : Collaborate with maintainers
[modifier | modifier le wikicode]Après les mises à jour de ces modules, bootstrap_barrio change d'état et doit être "Mis à jour des modules contribues".
Cela vient du sous-projet "Pleade_barrio" auquel on doit ajouter les informations de compatibilité. Voir : http://mw.ajlsm.com/wiki/Basculer_Drupal_8_vers_Drupal_9#Corrorection_efficace_pour_la_plupart_des_probl.C3.A8mes
info.yml contient des informations en double
[modifier | modifier le wikicode]Vérifier que le fichier info.yml du thème barrio ne contient pas deux fois les informations du "core: 8.x en bas du fichier en redondance avec les mêmes informations données en début du fichier.
Pleade_barrio.theme
[modifier | modifier le wikicode]Voir : http://mw.ajlsm.com/wiki/Basculer_Drupal_8_vers_Drupal_9#Erreur_dans_Pleade_barrio
stickynav : Collaborate with maintainers
[modifier | modifier le wikicode]Dans /modules/contrib/stickynav/stickynav.info.yml, remplacez :
version: '8.x-1.1'
par :
core_version_requirement: ^8 || ^9
Après la migration, stichynav ne sera toujours pas compatible D9. Cela implique de conserver la rétro-compatibilité entre D9 et D8. Voir : http://mw.ajlsm.com/wiki/Migration_Pandor_vers_Drupal_9#Maintenir_la_compatibilit.C3.A9_de_certains_modules_avec_D8
A terme, il faudra le remplacer.
module Pleade : Collaborate with maintainers
[modifier | modifier le wikicode]Utiliser la version en SVN.
Instructions listées dans composer à prendre en compte
[modifier | modifier le wikicode]Lors des actions de migration, composer affiche des messages de non compatibilité de certaines dépendances. Certaines vont bloquer la migration, comme webflo et scaffold. Par exemple :
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Package drupal-composer/drupal-scaffold is abandoned, you should avoid using it. Use drupal/core-composer-scaffold instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package webflo/drupal-core-require-dev is abandoned, you should avoid using it. Use drupal/core-dev instead.
Ces modifications sont à faire dans composer.json.
drupal-scaffold
[modifier | modifier le wikicode]Voir la page suivante : https://www.drupal.org/project/social/issues/3113181
Dans composer.json, remplacer :
"drupal-composer/drupal-scaffold": "^2.5.0",
par :
"drupal/core-composer-scaffold": "~8.8.1"
webflo
[modifier | modifier le wikicode]Dans composer.json, remplacer :
"webflo/drupal-core-require-dev": "^8.7.0"
par :
"drupal/core-dev": "^8.7.0"
doctrine/reflection
[modifier | modifier le wikicode](23/11/2020) En cours de résolution : https://www.drupal.org/project/drupal/issues/3180351
On ne fait rien.
container-interop
[modifier | modifier le wikicode](23/11/2020) Ne sera pas modifier par les développeurs :
- https://github.com/zendframework/zend-eventmanager/issues/79#issuecomment-562228837
- https://github.com/zendframework/zend-mvc-i18n/issues/23#issuecomment-563918061
On ne fait rien.
La migration vers Drupal 9 est prête
[modifier | modifier le wikicode]Une fois que tout est validé, Upgrade status doit avoir l'aspect suivant (copie d'écran ci-dessous)
Upgrade status est uniquement utilisé pour faciliter la migration de Drupal 8 vers Drupal 9. Lorsque la migration est prête à être réalisée, ce module doit être désinstallé car il n'est, par définition, pas compatible avec Drupal 9.
Installation de drush
[modifier | modifier le wikicode]remplacer dans composer.json
"drush/drush": "^9.0.0",
par
"drush/drush": "^10.0.0",
Migration
[modifier | modifier le wikicode]Cette section suit les instructions générales suivantes : http://mw.ajlsm.com/wiki/Migration_Pandor_vers_Drupal_9#Upgrade_vers_D9
Ci-dessous, uniquement les spécificités CND.
Pour CND
[modifier | modifier le wikicode]$ chmod 777 web/sites/inventaire-intranet.cnd.fr
$ chmod 777 web/sites/inventaire.cnd.fr
$ find web/sites/inventaire-intranet.cnd.fr -name "*settings.php" -exec chmod 777 {} \;
$ find web/sites/inventaire.cnd.fr -name "*settings.php" -exec chmod 777 {} \;
composer require drupal/core-dev:^9.0.0 --dev --update-with-dependencies --no-update
Dans la commande suivante, il faut ajuster les versions de Drupal 9 et de Drupal 8 au moment de la migration. Ici, la version disponible pour D9 est la 9.1.0-rc3 et celle que l'on souhaite migrée a la version : 8.9.10
composer require "drupal/core:9.1.0-rc3 as 8.9.10" --no-update && composer update
Si les versions ne sont pas les bonnes, soit celle de D8 à migrer, soit celle de D9 vers laquelle migrer, la commande renvoie le message suivant :
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package drupal/core 9.1.0 as 8.9.10 exists as drupal/core[8.0.0, 8.0.0-beta10, 8.0.0-beta11, 8.0.0-beta12, 8.0.0-beta13, 8.0.0-beta14, 8.0.0-beta15, 8.0.0-beta16, 8.0.0-beta6, 8.0.0-beta7, 8.0.0-beta8, 8.0.0-beta9, 8.0.0-rc1, 8.0.0-rc2, 8.0.0-rc3, 8.0.0-rc4, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.x-dev, 8.1.0, 8.1.0-beta1, 8.1.0-beta2, 8.1.0-rc1, 8.1.1, 8.1.10, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.1.7, 8.1.8, 8.1.9, 8.1.x-dev, 8.2.0, 8.2.0-beta1, 8.2.0-beta2, 8.2.0-beta3, 8.2.0-rc1, 8.2.0-rc2, 8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.2.6, 8.2.7, 8.2.8, 8.2.x-dev, 8.3.0, 8.3.0-alpha1, 8.3.0-beta1, 8.3.0-rc1, 8.3.0-rc2, 8.3.1, 8.3.2, 8.3.3, 8.3.4, 8.3.5, 8.3.6, 8.3.7, 8.3.8, 8.3.9, 8.3.x-dev, 8.4.0, 8.4.0-alpha1, 8.4.0-beta1, 8.4.0-rc1, 8.4.0-rc2, 8.4.1, 8.4.2, 8.4.3, 8.4.4, 8.4.5, 8.4.6, 8.4.7, 8.4.8, 8.4.x-dev, 8.5.0, 8.5.0-alpha1, 8.5.0-beta1, 8.5.0-rc1, 8.5.1, 8.5.10, 8.5.11, 8.5.12, 8.5.13, 8.5.14, 8.5.15, 8.5.2, 8.5.3, 8.5.4, 8.5.5, 8.5.6, 8.5.7, 8.5.8, 8.5.9, 8.5.x-dev, 8.6.0, 8.6.0-alpha1, 8.6.0-beta1, 8.6.0-beta2, 8.6.0-rc1, 8.6.1, 8.6.10, 8.6.11, 8.6.12, 8.6.13, 8.6.14, 8.6.15, 8.6.16, 8.6.17, 8.6.18, 8.6.2, 8.6.3, 8.6.4, 8.6.5, 8.6.6, 8.6.7, 8.6.8, 8.6.9, 8.7.0, 8.7.0-alpha1, 8.7.0-alpha2, 8.7.0-beta1, 8.7.0-beta2, 8.7.0-rc1, 8.7.1, 8.7.10, 8.7.11, 8.7.12, 8.7.13, 8.7.14, 8.7.2, 8.7.3, 8.7.4, 8.7.5, 8.7.6, 8.7.7, 8.7.8, 8.7.9, 8.7.x-dev, 8.8.0, 8.8.0-alpha1, 8.8.0-beta1, 8.8.0-rc1, 8.8.1, 8.8.10, 8.8.11, 8.8.12, 8.8.2, 8.8.3, 8.8.4, 8.8.5, 8.8.6, 8.8.7, 8.8.8, 8.8.9, 8.8.x-dev, 8.9.0, 8.9.0-beta1, 8.9.0-beta2, 8.9.0-beta3, 8.9.0-rc1, 8.9.1, 8.9.10, 8.9.2, 8.9.3, 8.9.4, 8.9.5, 8.9.6, 8.9.7, 8.9.8, 8.9.9, 8.9.x-dev, 9.0.0, 9.0.0-alpha1, 9.0.0-alpha2, 9.0.0-beta1, 9.0.0-beta2, 9.0.0-beta3, 9.0.0-rc1, 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6, 9.0.7, 9.0.8, 9.0.9, 9.0.x-dev, 9.1.0-alpha1, 9.1.0-beta1, 9.1.0-rc1, 9.1.0-rc2, 9.1.0-rc3, 9.1.x-dev, 9.2.x-dev] but these are rejected by your constraint.
Si la commande réussie, on fait un /update.php dans Drupal Internet et Intranet.
Enfin on remet les bons droits :
$ chmod 755 web/sites/inventaire.cnd.fr
$ chmod 755 web/sites/inventaire-intranet.cnd.fr
$ find web/sites/inventaire.cnd.fr -name "*settings.php" -exec chmod 644 {} \;
$ find web/sites/inventaire-intranet.cnd.fr -name "*services.yml" -exec chmod 644 {} \;
Pour cette migration, on rencontre un problème avec /update.php : Page blanche et message d'erreur.
Pour déboguer, voir les logs d'Apache access.
Deux erreurs :
- L'erreur concerne le fichier info.yml du thème barrio. Voir ici : http://mw.ajlsm.com/wiki/Migration_CND_vers_Drupal_9#info.yml_contient_des_informations_en_double
- Le fichier pleade_barrio.theme génère une erreur à corriger. Voir ici : http://mw.ajlsm.com/wiki/Basculer_Drupal_8_vers_Drupal_9#Erreur_dans_Pleade_barrio
- Copier le Drupal prod mis à jour et Remplacer le Drupal de preprod
