Comment effectuer une activation d'arborescence sur AEM en tant que service cloud
Il est parfois nécessaire de publier tout un arbre de documents ou de ressources, par exemple lorsqu'une série complète de documents est prête à être mise en ligne ou lorsque vous venez d'effectuer une migration de ressources vers AEM en tant que service cloud. La manière dont ces activations en masse sont effectuées a changé au cours des dernières années, et vous ne pouvez plus effectuer une réplication arborescente à l'ancienne sur AEM Cloud Service. Voici ce qui a changé :
Réplication d'arborescence sur une version précédente d'AEM
Dans les versions précédentes d'AEM (c'est-à-dire AEM 6.5 et versions antérieures), lorsque vous devez effectuer une activation groupée (ou « publication groupée »), vous devez utiliser la fonctionnalité « Réplication arborescente » ou « Activation arborescente » dans AEM. Cela mettrait en file d'attente toutes les pages ou tous les éléments que vous souhaitez répliquer, et les ajouterait à la file d'attente de réplication d'AEM.
À ce stade, vous avez lancé l'une des méthodes les plus anciennes et les plus classiques pour mettre AEM en ébullition, car plusieurs choses peuvent se produire et se produisent souvent :
- La file d'attente de réplication peut contenir des centaines, des milliers, voire des CENTAINES DE MILLIERS d'éléments et de pages, selon la taille de l'arborescence de contenu que vous avez demandé à AEM d'activer et le nombre de sous-éléments ou de pages enfants à extraire.
- L'auteur AEM peut alors se retrouver complètement bloqué en essayant de transférer tout ce trafic de réplication vers un stockage temporaire afin de le transmettre aux éditeurs AEM.
- Toutes les activations de pages courantes que d'autres auteurs pourraient effectuer à ce moment-là doivent attendre derrière cette file d'attente massive de trafic de réplication, ce qui peut prendre des heures (voire tout le week-end, comme je l'ai déjà vu dans certains cas).
- Si un problème survient avec l'un des éditeurs, la file d'attente sera bloquée (l'un de vos nombreux éditeurs utilise beaucoup de CPU, un problème réseau ou de stockage survient pendant la réplication d'un élément, votre chaman voit un mauvais présage dans le ciel, N'IMPORTE QUOI) et toute la file d'attente de réplication sera bloquée jusqu'à ce que le problème soit résolu.
- Si des problèmes d'autorisation surviennent avec l'un des éléments ou l'une des pages répliqués (par exemple, l'utilisateur qui les publie n'a peut-être pas accès à l'arborescence complète pour une raison quelconque, ou une modification manuelle a peut-être été apportée à l'un des éditeurs sans que vous en ayez tenu compte), cela bloquera toute la file d'attente.
- Ou bien, un événement de réplication arborescente peut provoquer tellement d'événements d'invalidation du cache que la charge entrante peut alors bloquer les éditeurs alors qu'ils tentent d'activer les ressources à plusieurs reprises.
Quiconque a déjà géré un site AEM pendant un certain temps a très probablement rencontré des problèmes de réplication et de fiabilité liés à la réplication arborescente.
Réplication d'arborescence sur AEM en tant que service cloud
Lorsque AEM en tant que service cloud a été lancé pour la première fois, la réplication arborescente était encore disponible (avec certaines limites) et fonctionnait de manière similaire à AEM 6.5. (l'interface utilisateur de réplication d'arborescence a ensuite été supprimée fin 2021)
Tout d'abord, vous devez savoir que la « réplication » telle qu'elle est connue dans AEM 6.5 et les versions antérieures n'est plus le moyen utilisé pour transférer le contenu de l'auteur vers la publication. Cette opération s'effectue désormais avec Sling Distribution. Regardez cette vidéo AdaptTo pour en savoir plus sur le fonctionnement :
Le nouveau mécanisme de réplication des arborescences est le workflow «Publier l'arborescence de contenu».
Ce workflow fait essentiellement ce qui suit :
- Le lancement du workflow vous invite à sélectionner l'arborescence que vous souhaitez activer (c'est-à-dire à partir de quel niveau).
- AEM lancera ensuite le workflow et regroupera la réplication arborescente en paquets qu'il distribuera ensuite à tous les éditeurs à l'aide de Sling Distribution. Il parcourra récursivement l'ensemble du chemin d'accès à la charge utile jusqu'à ce qu'il soit complet.
Voici comment l'utiliser : supposons que vous venez de migrer des ressources depuis votre instance AEM 6.5 Assets sur site vers AEM en tant que service cloud. Supposons que vous ayez le chemin « /content/dam/arborydigital/images » qui contient une série de sous-arborescences contenant des milliers d'images que vous souhaitez activer. Pour activer/publier ces éléments :
-
Accédez à votre instance AEM Cloud Service Author.
-
Allez dans Outils -> Workflow -> Models
-
Cliquez sur « CRÉER », puis sur « Créer un modèle » en haut à droite.
-
Donnez-lui un nom
-
Cliquez sur le modèle de workflow et appuyez sur « MODIFIER ».
-
Recherchez « Étape du processus » et faites-la glisser dans votre flux de travail pour l'ajouter en tant qu'étape.
-
Cliquez sur l'étape du processus et appuyez sur l'icône en forme de clé pour configurer cette étape. Cliquez sur l'onglet « PROCESSUS » dans la boîte de dialogue qui s'affiche.
-
Sélectionnez le processus « Publier l'arborescence du contenu », puis cochez la case « Avancement du gestionnaire ».
-
Ajoutez « enableVersion=true,agentId=publish,includeChildren=true » dans les arguments. Par défaut, le workflow Publier l'arborescence de contenu n'inclut PAS les éléments enfants. L'ajout de cet argument permet au workflow d'itérer à travers l'arborescence et de publier tous les nœuds enfants.
De plus, si vous souhaitez cibler uniquement l'aperçu avec ce workflow plutôt que votre niveau de publication, vous pouvez remplacer l'argument par « agentId=preview ». (Merci à Eric Van Geem pour cette précision !) -
Appuyez sur le bouton « SYNC » dans le coin supérieur droit.
-
Sélectionnez votre nouveau workflow dans la liste Modèles de workflow, puis cliquez sur « DÉMARRER LE WORKFLOW ». Dans la boîte de dialogue qui s'affiche, dans « Payload », vous pouvez soit saisir, soit rechercher l'arborescence que vous souhaitez activer. Par exemple, en saisissant « /content/dam/arborydigital/images », vous activerez TOUS les nœuds situés dans ce répertoire. Cliquez sur « RUN ».
-
Le flux de travail démarre alors et peut prendre de quelques minutes à plusieurs heures, selon le nombre d'actifs que vous venez de lui demander d'activer.
-
Surveillance : vous pouvez ensuite surveiller l'état de votre événement de réplication en consultant le journal `aemerror` dans Splunk ou en suivant les journaux d'erreurs AEM avec Adobe IO à partir de la ligne de commande.
Vous verrez des événements comme celui-ci, qui indiquent que les paquets d'activation de l'arborescence sont en cours de publication :
20.08.2024 13:53:24.538 [cm-p107857-e1299068-aem-author-6d6b4bddf6-bnhwx] *INFO* [EventAdminAsyncThread #7] org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher [publish] Application réussie du package avec l'ID dstrpck-1724161011143-d6d35a6a-d557-4f99-9906-e8eb55e7772c, type ADD, chemins [/content/dam/arborydigital/images/smoothing-spline-jmp.jpg, /content/dam/arborydigital/images/screenshots/gallery/blorp.jpg…
Limites : Je n'ai encore rencontré aucune limite quant à la taille maximale des actifs pouvant être activés. Pendant que je rédigeais cet article, j'ai lancé un workflow de réplication d'arborescence sur AEM Cloud Service pour une arborescence de contenu contenant environ 100 Go de ressources, et l'arborescence était terminée avant que je finisse d'écrire l'article.
J'espère que cela vous conviendra !
À propos de l'auteur
Vous avez aimé ce que vous avez entendu ? Vous avez des questions sur ce qui vous convient le mieux ? Nous aimerions en parler ! Contact avec nous