Blog

test
29/12/2023

Upgrade Drupal 10 : Core/jQuery.once - Surmontez les Défis avec des Solutions Pratiques

La mise à niveau vers Drupal 10 est une étape cruciale pour rester à jour avec les dernières fonctionnalités et améliorations de sécurité. Cependant, cette transition n'est pas sans défis. Un obstacle majeur se présente avec l'obsolescence de core/jquery.once, une bibliothèque qui a été déclarée obsolète à partir de Drupal 9.3.0. 

Dans cet article, nous explorerons les raisons derrière cette dépréciation, les avertissements associés, et fournirons des solutions pratiques pour surmonter ces défis.

Core/jQuery.once déclarée obsolète :
Lors de la phase de préparation pour la mise à niveau, l'outil Upgrade Status peut émettre un avertissement clair signalant la dépréciation de la bibliothèque core/jquery.once à partir de Drupal 9.3.0. 

Avertissement : The core/jquery.once asset library is deprecated in Drupal 9.3.0 and will be removed in Drupal 10.0.0. Use the core/once library instead. See https://www.drupal.org/node/3158256 

Signification de l’avertissement :
La dépréciation de core/jquery.once indique qu'elle est désormais déconseillée et qu'elle sera supprimée dans les versions futures, notamment dans Drupal 10.0.0. Cette décision s'inscrit dans la volonté de Drupal de se libérer de la dépendance à jQuery pour la fonctionnalité "once".

Solution Recommandée :
La transition vers Drupal 10 nécessite une approche systématique pour éviter les problèmes potentiels liés à l'obsolescence de core/jquery.once.

Mettre à jour les dépendances :
Pour résoudre ce problème, la première étape consiste à mettre à jour les dépendances dans le fichier de bibliothèque. Remplacez core/jquery.once par core/once pour assurer une transition en douceur.

Exemple de modification du fichier de bibliothèque :

Illustration de la dépréciation de jQuery.once dans Drupal 10

Ajustement des fichiers JavaScript :
Après le remplacement de core/jquery.once par core/once, il est essentiel de vérifier et d'ajuster tous les fichiers JavaScript utilisant cette fonction. Cette étape est cruciale pour garantir la compatibilité du code avec la version de Drupal utilisée, en particulier en vue de la migration vers Drupal 10.

$(once(auto-submit', 'form'.auto-submit, context))

# Au lieu de $('form.auto-submit', context).once(auto-submit')

Conseils Importants :
Veillez à mettre à jour toutes les fonctionnalités qui utilisaient core/jquery.once pour qu'elles utilisent désormais la bibliothèque core/once. Cela garantira une expérience utilisateur sans heurts. N'oubliez pas d'ajuster tous les fichiers JavaScript précédemment basés sur core/jquery.once en utilisant la nouvelle syntaxe avec once.

Conclusion :
En résumé, la transition de core/jquery.once à core/once constitue une étape incontournable dans le processus d'upgrade vers Drupal 10. Nous avons examiné les avertissements, compris la signification de la dépréciation, et proposé des solutions recommandées pour assurer une mise à niveau en douceur.

Cependant, cet article ne fait que gratter la surface des défis liés à l'upgrade Drupal 10. Il s'agit du premier volet d'une série qui se penchera sur plusieurs aspects de cette mise à niveau complexe.

La prochaine étape de notre série mettra en lumière les subtilités de CKEditor dans l'écosystème Drupal. Soyez prêts à plonger dans "Upgrade Drupal 10 : CKEditor 4 vs CKEditor 5" pour un guide approfondi sur cette transition incontournable.