Améliorations et correctifs clés pour Entity Reference Revisions dans Drupal
Sommaire
- Introduction
- Problématique traitée par le patch #53
- Fonctionnement du module Entity Reference Revisions
- Détails techniques du patch #53
- Impact du correctif sur les projets Drupal
- Bonnes pratiques liées à l'utilisation des révisions
- Conclusion
Introduction
Le module Entity Reference Revisions permet de gérer les relations entre entités dans un environnement basé sur la révision plutôt que sur les ID permanents. Très utilisé avec les Paragraphs, Layout Builder ou pour structurer du contenu complexe, il souffre néanmoins de certaines limitations. Le patch #53 proposé et appliqué via le fil de discussion sur drupal.org constitue une évolution majeure, ayant identifié et corrigé une faille liée à la gestion des entités révisées embarquées dans des nœuds ou d'autres types d'entités composites.
Problématique traitée par le patch #53
Le bug, identifié par plusieurs utilisateurs, intervenait dans des cas de chargement ou de sauvegarde d'entités avec des champs référencés à révisions (comme Paragraphs). Le comportement inattendu occasionnait la création involontaire de nouvelles révisions non liées ou la perte de données. Le patch #53 vise à corriger ce comportement en renforçant la logique de synchronisation entre l’entité parent et ses enfants révisés.
Fonctionnement du module Entity Reference Revisions
Entity Reference Revisions (ERR) est une extension du field type Entity Reference de Drupal. Il s'appuie sur les systèmes de révisions pour permettre une conservation de l'état d'une entité au moment précis de sa référence. Cela rend possible des comportements plus granulaires dans la mise à jour et la publication de contenus imbriqués, en particulier lorsqu'on travaille avec des blocs de contenu dynamiques comme Paragraphs.
Détails techniques du patch #53
Le patch #53 est un correctif PHP appliqué au cœur du module ERR. Il ajuste la mécanique interne de gestion des entités référencées, en particulier lors de leur sauvegarde. Dans le patch sont introduites des vérifications supplémentaires sur les IDs de révision et des conditions d’écriture plus strictes. Ce correctif réduit donc considérablement les effets de bord lors de l’édition d'entités composites.
- Correction de la mauvaise gestion des révisions lors de la sauvegarde imbriquée d’entités.
- Optimisation des appels à entity_get à travers la pile de révisions.
- Stabilisation des workflows de publication utilisant Workbench ou Content Moderation.
Impact du correctif sur les projets Drupal
Pour les développeurs et architectes Drupal, ce fix renforce à la fois la stabilité fonctionnelle et la prévisibilité de comportements dans l'édition de contenu. Il devient désormais plus sûr d'utiliser les entités composées dans des workflows complexes. Les utilisateurs de Paragraphs, ainsi que ceux qui utilisent des entités embarquées dans Layout Builder et d’autres systèmes similaires, observeront une réduction des anomalies de révision.
Bonnes pratiques liées à l'utilisation des révisions
À la lumière de cette mise à jour, certaines bonnes pratiques s’imposent :
- Mettre à jour toujours les modules depuis la branche stable ou appliquer les patches validés.
- Tester les changements de comportement dans un environnement de préproduction.
- Documenter l’usage d’Entity Reference Revisions dans les directives de développement de vos équipes.
- Vérifier la chaîne de révision des entités avant publication pour éviter la propagation indésirable de révisions obsolètes.
Conclusion
L’adoption du patch #53 marque une étape appréciable dans l’évolution du module Entity Reference Revisions. Il montre une fois de plus l’efficacité du processus collaboratif open source dans la résolution de problèmes critiques. Pour les professionnels utilisant ce module au sein de projets complexes ou multisites, cette correction améliore significativement la fiabilité et la tranquillité d’esprit. À l’avenir, cette mise à jour pourrait donner lieu à une intégration native plus robuste au sein du core ou de distributions personnalisées.
Thématique : Développement web / CMS / Drupal
Sujet principal : Correctif du patch #53 sur le module Entity Reference Revisions dans Drupal
Source : https://www.drupal.org/project/entity_reference_revisions/issues/3150084