Développement et outil de comparaison des pages developing-and-page-diff

Présentation des fonctionnalités feature-overview

La création de contenu est un processus itératif. Pour être efficace lorsque vous créez du contenu, vous devez pouvoir voir ce qui a changé d’une version à l’autre. L’affichage d’une version de page, puis de l’autre, est inefficace et source d’erreurs. Un auteur souhaite pouvoir comparer la page active à une version précédente, côte à côte, avec les différences mises en évidence.

L’outil de comparaison des pages permet de comparer la page active aux lancements, versions précédentes, etc. Pour plus d’informations sur cette fonctionnalité utilisateur, voir Outil de comparaison des pages.

Détails de l’opération operation-details

Lors de la comparaison des versions d’une page, la version précédente que l’utilisateur souhaite comparer est recréée par AEM en arrière-plan afin de faciliter la comparaison. Cette opération est nécessaire pour pouvoir restituer le contenu pour une comparaison côte à côte.

Cette opération de recréation, réalisée par AEM en interne, est transparente pour l’utilisateur et ne nécessite aucune intervention. Cependant, un administrateur qui consulte le référentiel, par exemple en CRXDE Lite, voit ces versions recréées dans la structure de contenu.

Lorsque le contenu est comparé, l’ensemble de l’arborescence jusqu’à la page à comparer est recréé à l’emplacement suivant :

/tmp/versionhistory/

Une tâche de nettoyage s’exécute automatiquement pour nettoyer ce contenu temporaire.

Autorisations permissions

Auparavant, dans l’IU classique, il fallait prêter une attention particulière sur le plan du développement pour permettre la comparaison AEM (par exemple pour l’utilisation de la bibliothèque de balises cq:text ou pour l’intégration personnalisée du service OSGi DiffService dans des composants). Cela n’est plus nécessaire pour la nouvelle fonction de comparaison, car la comparaison côté client se fait par le biais de la comparaison DOM.

Cependant, certaines limites doivent être prises en compte par le développeur.

  • Cette fonctionnalité utilise des classes CSS qui ne sont pas placées dans un espace de noms sur le produit AEM. Si d’autres classes CSS personnalisées ou des classes CSS tierces portant le même nom sont incluses sur la page, l’affichage de la comparaison peut s’en trouver affecté.

    • html-added
    • html-removed
    • cq-component-added
    • cq-component-removed
    • cq-component-moved
    • cq-component-changed
  • Étant donné que la comparaison est côté client et s’exécute au chargement de la page, les ajustements apportés au DOM après l’exécution du service de comparaison côté client ne seront pas pris en compte. Cela peut affecter

    • Composants qui utilisent AJAX pour intégrer du contenu
    • Applications sur une seule page
    • Composants JavaScript qui manipulent le DOM lors de l’interaction de l’utilisateur ou l’utilisatrice.
NOTE
La comparaison des différences de page ne fonctionne que pour les composants qui possèdent des noeuds cq:editConfig valides.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2