Échec du déploiement en raison d’un conflit de mixin (et de l’utilisation de l’interface utilisateur classique)

Description

Le déploiement d’une page échoue en raison d’un conflit jcr:mixinTypes sur le noeud de miniature de la page.

Le conflit se produit lorsque la page a été configurée avec une miniature. utilisation de l’IU classique puis initialement déployé (le premier déploiement fonctionne).

À ce stade, le déploiement du gabarit échoue en raison d’un conflit de mixin sur la structure de miniature de la page, entre :

  • dam:Thumbnails
  • cq:LiveRelationship

L'erreur indiquée dans le journal est la suivante :

27.07.2022 15:48:07.091 *ERROR* 0:0:0:0:0:0:0:1 1658929687039 POST /bin/wcmcommand HTTP/1.1 com.day.cq.wcm.msm.impl.commands.RolloutCommand Error during roll-out.
com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutPage(RolloutManagerImpl.java:693) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutPageRelations(RolloutManagerImpl.java:624) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rollout(RolloutManagerImpl.java:515) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.commands.RolloutCommand.performCommand(RolloutCommand.java:153) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.core.impl.commands.WCMCommandService$CommandHolder.performCommand(WCMCommandService.java:178) com.day.cq.wcm.cq-wcm-core:5.11.312
    at com.day.cq.wcm.core.impl.commands.WCMCommandServlet.performCommand(WCMCommandServlet.java:120) com.day.cq.wcm.cq-wcm-core:5.11.312
    at com.day.cq.commons.servlets.AbstractCommandServlet.doPost(AbstractCommandServlet.java:49) com.day.cq.cq-commons:5.11.18
    at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:146) org.apache.sling.api:2.20.0
    at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) org.apache.sling.api:2.20.0
    ..
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) com.day.cq.wcm.cq-msm-core:5.11.84
    ... 135 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) com.day.cq.wcm.cq-msm-core:5.11.84
    ... 136 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) com.day.cq.wcm.cq-msm-core:5.11.84
    ... 137 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) com.day.cq.wcm.cq-msm-core:5.11.84
    ... 138 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at com.day.cq.wcm.msm.commons.BaseAction.execute(BaseAction.java:154) com.day.cq.wcm.cq-msm-commons:1.1.2
    at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:790) com.day.cq.wcm.cq-msm-core:5.11.84
    ... 139 common frames omitted
Caused by: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
    at org.apache.jackrabbit.oak.plugins.nodetype.EffectiveNodeTypeImpl.getNodeDefinition(EffectiveNodeTypeImpl.java:454) org.apache.jackrabbit.oak-core:1.8.22
    at org.apache.jackrabbit.oak.plugins.nodetype.ReadOnlyNodeTypeManager.getDefinition(ReadOnlyNodeTypeManager.java:396) org.apache.jackrabbit.oak-core:1.8.22
    at org.apache.jackrabbit.oak.jcr.session.NodeImpl$29.perform(NodeImpl.java:1031) org.apache.jackrabbit.oak-jcr:1.8.22
    at org.apache.jackrabbit.oak.jcr.session.NodeImpl$29.perform(NodeImpl.java:1023) org.apache.jackrabbit.oak-jcr:1.8.22
    at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:207) org.apache.jackrabbit.oak-jcr:1.8.22
    at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112) org.apache.jackrabbit.oak-jcr:1.8.22
    at org.apache.jackrabbit.oak.jcr.session.NodeImpl.getDefinition(NodeImpl.java:1023) org.apache.jackrabbit.oak-jcr:1.8.22
    at com.day.cq.wcm.msm.commons.ItemFilterImpl.excludes(ItemFilterImpl.java:91) com.day.cq.wcm.cq-msm-commons:1.1.2
    at com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory$ContentCopyAction.applyFilters(ContentCopyActionFactory.java:293) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory$ContentCopyAction.createCopy(ContentCopyActionFactory.java:245) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory$ContentCopyAction.doExecute(ContentCopyActionFactory.java:208) com.day.cq.wcm.cq-msm-core:5.11.84
    at com.day.cq.wcm.msm.commons.BaseAction.execute(BaseAction.java:134) com.day.cq.wcm.cq-msm-commons:1.1.2
    ... 140 common frames omitted

Étapes à reproduire :

  1. Démarrez une AEM Vanilla 6.5.13.0
  2. accéder à /siteadmin (en utilisant ClassicUI)
  3. ouvrez les propriétés de page de /content/we-retail/language-master/en/women
  4. dans l’image tab définir n’importe quelle image comme miniature ;
  5. déploiement de la page
  6. maintenant, accédez à Sites Interface utilisateur
  7. ouvrez les propriétés de page pour /content/we-retail/us/en/women again
  8. dans le Miniature , cliquez sur Générer l’aperçu et enregistrez la modification.
  9. Déployez à nouveau la page dans /siteadmin

Résolution

Ce problème se produit lors du déploiement car AEM ne peut pas créer dam:thumbnails Noeud sous jcr:content pour la page Live Copy (/content/we-retail/us/en/women/jcr:content/image/file/jcr:content) et la raison en est la suivante lors du déploiement de mixinType dam:Thumbnails n’est pas appliqué au noeud de page Live Copy /content/we-retail/us/en/women/jcr:content/image/file/jcr:content et dam:Thumbnails ne peut être créé que sous dam:Thumbnails nodeType.

MSM Le comportement par défaut est d’ignorer le nouveau mixin ajouté aux noeuds à la source pendant le déploiement 0 et, par conséquent, il n’est pas ajouté à /content/we-retail/us/en/women/jcr:content/image/file/jcr:content.

Pour résoudre ce problème, ce comportement peut être modifié par la configuration de l’action de mise à jour de contenu.
Par défaut, chaque type de mixin est ignoré, comme illustré dans la capture d’écran ci-dessous :

Il doit être mis à jour pour utiliser :

(?!.*dam:Thumbnails).*

comme illustré dans la capture d’écran ci-dessous :

Cela devrait résoudre le problème.

0 https://experienceleague.adobe.com/docs/experience-manager-64/administering/introduction/msm-sync.html?lang=fr#excluding-properties-and-node-types-from-synchronization

Sur cette page