Perte de propriété JCR personnalisée lors de la modification et de la réplication de création dans AEMaaCS

Cet article fournit une solution pour résoudre le problème de perte des propriétés JCR personnalisées lors de la création de modifications et de la réplication du contenu dans Adobe Experience Manager as a Cloud Service (AEMaaCS). Il explique pourquoi le problème se produit et fournit un guide détaillé pour assurer la persistance de ces propriétés.

Description description

Environnement

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Problème

Lorsqu’une propriété JCR personnalisée est ajoutée directement à un nœud associé à un composant à champs multiples dans un fragment d’expérience, elle peut ne pas persister après la création de modifications ou la réplication. Les symptômes observés sont les suivants :

  • Les propriétés personnalisées sont perdues après l’enregistrement des modifications de création.
  • Les processus de réplication remplacent ou suppriment ces propriétés.

Ce comportement se produit, car les composants à champs multiples gèrent leurs propriétés de manière dynamique en fonction des configurations de boîte de dialogue, qui déterminent ce qui est enregistré et répliqué.

Résolution resolution

  • Configuration de la boîte de dialogue de mise à jour :

    • Assurez-vous que toutes les propriétés personnalisées sont explicitement définies dans la configuration XML de boîte de dialogue du composant.
    • Ajoutez les champs correspondants pour les propriétés personnalisées à la structure de la boîte de dialogue pour vous assurer qu’elles sont reconnues et enregistrées.
  • Gestion des composants à champs multiples :

    • Les composants à champs multiples stockent leurs entrées en tant que nœuds enfants distincts sous un nœud parent dans le JCR.
    • Définissez les propriétés nécessaires dans la boîte de dialogue du composant ou les fichiers de configuration pour éviter les remplacements pendant le traitement.
  • Étendre le composant

    • Étendez votre composant existant en ajoutant des champs pour chaque propriété personnalisée dont vous avez besoin. Par exemple, incluez un champ tariffItem dans la configuration étendue du composant, si vous l’utilisez.
  • Utiliser des configurations de champs masqués et écrire directement l’étape : pour les propriétés qui ne doivent pas apparaître dans l’interface utilisateur, mais qui doivent être conservées par programmation, configurez les champs masqués avec les paramètres suivants :

Name: granite:hidden  

Type: Boolean  

Value: true

  • Tester et valider

    • Testez les configurations mises à jour dans un environnement local avant le déploiement en production.
    • Utilisez des projets AEM standard (WKND, par exemple) à des fins de test initial afin de valider les modifications sans interférence des couches de personnalisation supplémentaires.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f