Dans Adobe Experience Manager, les agents de réplication sont utilisés pour :
- Publication (activation) du contenu d’un auteur vers un environnement de publication.
- Purge explicite du contenu du cache du répartiteur.
- Renvoie de la saisie utilisateur (par exemple, remplissage de formulaire) de l’environnement de publication dans l’environnement auteur (sous contrôle de l’environnement auteur).
Cet article décrit les questions fréquemment posées qui se rapportent à l'utilisation de la fonctionnalité de réplication AEM.
La réplication de la page avec de nombreux frères prend beaucoup de temps
Au lieu d’avoir toutes les pages parentes à un seul niveau, créez des sous-niveaux et distribuez les pages en conséquence. Disposer d'environ 100 pages est acceptable à un seul niveau. Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/ReplicationSiblingReordering.html.
Échec de la réplication après renouvellement de l’IP
Redémarrez l’occurrence ou reconfigurez l’agent de réplication pour utiliser l’IP au lieu du nom d’hôte. Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/ReplicationFailureAfterNewIP.html.
Limiter l'accès aux agents de réplication.
Vous pouvez contrôler ce paramètre à l’aide des autorisations de page utilisateur/groupe sous etc/Replication (c’est-à-dire, /etc/replication node). Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/LimitAccessToReplicationAgents.html.
Les autorisations de page ne sont pas répliquées sur l’activation utilisateur.
Les autorisations de page ne sont pas répliquées car elles sont stockées sous les nœuds auxquels l’accès est accordé et non pas avec l’utilisateur.
En général, les autorisations de page ne doivent pas être répliquées à partir de l’auteur pour publier et ne sont pas par défaut. Ceci est dû au fait que les droits d’accès doivent être différents dans ces deux environnements. Il est donc recommandé de configurer les listes de contrôle d’accès sur la publication indépendamment de l’auteur. Pour de plus amples informations, consulter : https://helpx.adobe.com/fr/experience-manager/kb/PagePermissionsNotReplicatedWithUser.html.
Utilisez la réplication inverse
Seuls des nœuds originaux cq:Page font l'objet de réplication inverse. Pour tout autre nœud, il est nécessaire d’utiliser les deux dernières méthodes en tant que mise en œuvre spécifique au projet.
Il existe trois possibilités :
- Utilisez la propriété SlingPostServlet (c’est-à-dire, ne créez pas de serveurs ou de POST.jsp personnalisés pour gérer les requêtes entrantes) afin de déclencher implicitement un événement PageEvent associé. Définissez ensuite un nom de propriété "cq:distribute" et définissez sa valeur "true" pour les nœuds sur lesquels vous souhaitez réaliser une réplication inverse. Pour mettre en œuvre cette solution, il est inutile d’écrire du code. Vous pouvez utiliser le composant Form pour définir tous les champs masqués nécessaires.
- Utilisez votre propre code accédant au référentiel, modifiez les propriétés :« cq:lastModified », « cq:lastModifiedBy » et « cq:distribute ». Les données chargées peuvent être contrôlées, le code interne écrit les données. Pour implémenter cette solution, vous devez écrire le code correspondant à votre projet.
- Utilisez votre propre code qui appelle la méthode réplication du service Replicator avec les options d’utilisation du mode de distribution. La réplication est contrôlée par votre code. Pour implémenter cette solution, saisissez le code spécifique à votre projet.
Activation d'un agent de réplication spécifique :
Vous pouvez créer un objet ReplicationOptions avec un AgentFilter :
ReplicationOptions opts = new ReplicationOptions();
opts.setFilter(new AgentFilter(){
public boolean isIncluded(final Agent agent) {
return "expectedAgentId".equals(agent.getId());
}
});
then use the Replicator"s replicate method:
/**
* Déclenche une nouvelle réplication avec des options fournies.
*
* @param session user session
* @param type The type of replication
* @param path The path specified the content to be replicated
* @param options Additional replication options
* @throws ReplicationException if an error occurs
*/
void replicate(Session session, ReplicationActionType type, String path,
ReplicationOptions options)
Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/CQ5ReplicateToSpecificAgents.html.
Mise en œuvre d’un auditeur d’événement de réplication :
- Créez une classe qui implémente les interfaces EventHandler.
- Ajoutez des annotations SCR suivantes :
@scr.component metatype="false" immediate="true"
. - Implémentez la méthode publique d'annulation handleEvent (Event event).
@scr.service interface="org.osgi.service.event.EventHandler" @scr.property name="event.topics" valueRef="ReplicationAction.EVENT_TOPIC"
Problèmes relatifs à la file d’attente de réplication :
La réplication de contenu CQ5 semble être bloquée.
Les éditeurs peuvent créer du contenu, mais les pages activées ne sont pas mises à jour sur l'instance de publication CQ5.
Assurez-vous que chaque agent de réplication est activé et configuré correctement.
- Accédez à la liste des agents de réplication (/etc/replication/agents.author.html).
- Pour chaque agent de réplication, procédez comme suit :
- Assurez-vous que l’agent est activé.
- Vérifiez la connectivité avec l’instance de publication en cliquant sur Tester la connexion. En cas d’échec, assurez-vous que sur le niveau réseau TCP, le serveur hébergeant l’instance d’auteur CQ peut se connecter au port de l’instance de publication.
- Ouvrez le journal de réplication via le lien « Afficher le journal » et vérifiez si la dernière tentative de réplication a réussi.
- Noter le premier chemin de la charge utile dans la file d’attente de réplication. Essayer ensuite d’effacer le premier élément de la file d’attente de réplication. Ensuite, vérifier si la réplication reprend la lecture (en commençant par CQ 5.4). Une fois la reprise terminée, réactivez la première configuration indiquée dans la file d’attente.
- Vérifiez auprès de l’Explorateur de contenu de CRX et assurez-vous qu’il n’existe pas de nœud /bin/receive sur l’instance de publication. Sinon, supprimez-le.
- Vérifiez auprès de l’Explorateur de contenu de CRX et assurez-vous qu’il n’existe pas de nœud /bin/replicate sur l’instance d’auteur. Sinon, supprimez-le.
- Si les journaux ne contiennent aucune tentative de réplication pour quelques minutes, redémarrez le regroupement de réplication dans la console Felix. S'il n'y a toujours aucune tentative de réplication dans les journaux de réplication, redémarrez le regroupement de support d'événement Apache Sling :
(http://<hôte>:<port>/system/console/bundles/org.apache.sling.event).
Disparition des privilèges de réplication après l'amélioration au CQ 5.5 :
Les privilèges de réplication sont perdus en raison de la nouvelle propriété introduite dans le CQ 5.5 appelée crx:replicate.
Vous pouvez rechercher une pièce jointe qui est un package avec un script qui corrige le problème. Exécutez-le simplement AVANT la mise à niveau à CQ 5.5. Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/replication-privileges-missing-after-upgrade-to-cq-5-5.html.
CQ 5.3 : les agents de réplication échouent en raison de la limite maximale de la file d’attente
La cause de ce problème est que org.apache.sling.event.impl.JobEventHandler a une limite par défaut de 10 sur le nombre de files d'attente de tâches que le système peut créer.
Résolution
Augmentez le nombre maximal de files d'attente de tâches si nécessaire (le nombre de files d'attente doit être supérieur au nombre d'agents de réplication configurés ainsi qu'au nombre de modèles de processus)
- Connectez-vous à la console Felix (http://host:port/system/console/configMgr).
- Accédez à l’onglet Configuration dans la console Felix.
- Sélectionnez le gestionnaire des tâches et des événements Apache Sling (org.apache.sling.event.impl.JobEventHandler) dans la liste déroulante.
- Modifiez la valeur « Max Job Queues ».
- Cliquez sur Enregistrer.
Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/CQ53UnableToCreateJobQueueDueToMaxQueues.html.
Réplication ACL
Il n’est plus possible de répliquer les ACL (c’est-à-dire de l’instance de l’auteur à l’instance de publication). Ce comportement est voulu par la conception.
Les listes ACL de CQ5 sont centrées sur le contenu et non sur l’utilisateur comme dans CQ4. Vous disposez généralement de droits d’accès différents sur la publication et l’auteur à partir d’une perspective de contenu. Cela n'a donc aucun sens de répliquer les ACL centrées sur le contenu.
Avec un CUG (groupe fermé d’utilisateurs), Adobe travaille sur une solution prête à l’emploi. Dans les accessoires d’une page, vous pouvez faire protéger cette page (et toutes les sous-pages) par un GUF spécifique. Ainsi, seuls les utilisateurs membres d’un groupe spécifique ont accès. La liste de contrôle d’accès à la publication est définie automatiquement sur la publication elle-même si la page est activée. Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/ACLReplication.html.
Croissance du contenu due à la réplication inverse :
Le référentiel augmente rapidement (plusieurs Mo par minute) et affiche une erreur sur la réplication inverse.
Par exemple, « WARN [Reverse Replication Processor] com.day.cq.replication.Agent.publish_reverse Reverse replication not implemented for action: TEST. Chemin de la boîte d'envoi à distance : /var/replication/outbox ».
Dans l’instance de publication, recherchez et supprimez manuellement l’élément de la zone de publication.
Pour éviter ce problème à l'avenir, mettez à niveau vers CQ 5.6 ou n'utilisez pas le bouton Test Connection sur l'agent de réplication inverse.
Contactez le support technique d'Adobe pour un correctif existant si vous rencontrez des problèmes similaires avec la réplication inverse. (Consultez aussi la liste de correctifs recommandés pour CQ 5.4).
Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/content-grow-due-reverse-replication.html.
L’agent de réplication utilise l’utilisateur anonyme comme utilisateur de transport
Vous disposez d’un agent de réplication avec les droits ACL corrects. Toutefois, lorsque vous tentez de procéder à la copie avec cet agent, les éléments suivants s’affichent dans vos journaux de duplication :
13.06.2007 12:34:36 *INFO * author: << Date: Wed, 13 Jun 2007 10:34:36 GMT 13.06.2007 12:34:36 *INFO * author: << error: java.security.AccessControlException: User 'anonymous' not allowed rights '---c-' on handle /content/playground/en 13.06.2007 12:34:36 *INFO * author: Message sent. 13.06.2007 12:34:36 *INFO * author: ---------------------------
Pour résoudre ce problème, refusez l'accès en lecture à /system/replication/content à l'utilisateur anonyme dans votre instance cible. Pour plus d'informations, consultez https://helpx.adobe.com/fr/experience-manager/kb/ReplicationAgentUsingAnonUser.html.
Accéder à votre compte