La synchronisation des utilisateurs d’AEM Communities cesse de fonctionner

La synchronisation des utilisateurs d’AEM Communities cesse de fonctionner et les utilisateurs ne sont plus synchronisés entre les instances de publication.

Cause

Il y a de nombreuses raisons pour lesquelles la synchronisation des utilisateurs peut échouer.  Les plus courantes sont les suivantes :

  • Mauvaise configuration
  • Erreur lors de l’enregistrement lorsque l’utilisateur est sur l’instance de publication
  • Échec du système lors de l’enregistrement du module de l’utilisateur en raison d’un problème d’erreur ou d’autorisation (instance auteur ou de publication)
  • Les tâches Sling sont bloquées en raison d’un module utilisateur manquant

Résolution

I. Suivre le guide de dépannage de la documentation

II. Mettez à jour le VaultDistributionPackageBuilderFactory (s’applique uniquement à AEM 6.2)

** Cette opération s’applique uniquement à AEM 6.2.

Mettez à jour le socialpubsync-vlt Vault Package Builder Factory pour répondre à ces éléments :

  • stockez les modules de synchronisation d’utilisateur sur le système de fichiers sur des instances non-groupées pour améliorer la stabilité et les performances.
  • incluez les noeuds rep:policy et évitez que les nœuds .token et rep:cache ne se synchronisent avec l’utilisateur.
  • Éviter l’erreur « impossible de récupérer les modules » [1]
  1. Allez à la console OSGi http://host:port/system/console/configMgr

  2. Recherchez Apache Sling Distribution Packaging - Vault Package Builder Factory avec le champ Nom socialpubsync-vlt.

  3. Sélectionnez la liste déroulante type et sélectionnez modules de fichiers au lieu de modules jcr.  Exécutez seulement cette étape sur les instances non-groupées.

  4. Dans le champ Package Filters, ajoutez ces valeurs :

    • /home/users|-.*/rep:cache
    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:policy 
    Remarque :

    L’ajout de rep:cache empêche l’erreur suivante :

    [... POST /libs/sling/distribution/services/importers/socialpubsync HTTP/1.1] org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage Error during install.
    javax.jcr.nodetype.ConstraintViolationException : OakConstraint0034 : Tentative de création ou de modification du cache géré par le système.

  5. Sélectionnez l’algorithme de résumé pour calculer le checksum du module du menu déroulant et sélectionnez md5.

  6. Cliquez sur Enregistrer.

Si vous exécutez AEM 6.2, installez le correctif Cumulative Fix Pack 3 sur tous les auteurs et instances de publication ou contactez l’assistance clientèle AEM pour demander le correctif pour NPR - 13034.  Si vous ne l’installez pas, la configuration ci-dessus n’aura aucun effet. 

III. Vérifiez que les nœuds sling:Folder soient distribués (s’applique uniquement à AEM 6.2)

** Ceci s’applique uniquement à AEM 6.2.

Il existe un problème avec la configuration par défaut dans Synchronisation des utilisateurs : celle-ci ne distribue pas les nœuds sling:Folder, tels que les réseaux sociaux/relations/suivant. 

  1. Allez sur http://aem-host:port/system/console/configMgr/com.adobe.cq.social.sync.impl.UserSyncListenerImpl et connectez-vous en tant qu’administrateur.

  2. Ajoutez sling:Folder aux types de nœud.

IV. Effacer les modules d’utilisateurs

Selon la version de Sling Distribution et d’AEM Social Communities que vous avez, vous pourriez avoir des modules utilisateur créés sous /etc/packages/sling (anciennes versions - AEM 6.1 sans correctifs) ou /var/sling/distribution/packages (versions plus récentes - AEM 6.1 avec AEM Social Communities FP4 ou ultérieur).

  1. Allez sur http://host:port/crx/explorer/index.jsp

  2. Connectez-vous en tant qu’administrateur.

  3. Naviguez jusqu’à /etc/packages et supprimez le sous-dossier sling.

  4. Naviguez jusqu’à /var/sling/distribution et supprimez le sous-dossier des modules.

  5. Cliquez sur Enregistrer.

Si vous avez déjà défini le champ type pour classer les modules dans votre configuration Vault Package Builder Factory, vous devez effacer les modules du dossier temporaire : 

  1. Connectez-vous à votre serveur AEM.

  2. Accédez au répertoire temporaire utilisé par le processus java d’AEM (il peut être défini par le paramètre JVM -Djava.io.tmpdir).

  3. Supprimez tous les modules de ce dossier.  Voici un exemple de commande qui peut être utilisée sous Linux : for i in dstrpck*; do rm $i; done

  4. Répétez pour toutes les instances AEM (instances de publication et instance d’auteur).

V. Débloquez la file d’attente de distribution :

Comme vous avez effacé les modules, supprimez toutes les tâches Sling bloquées qui y font référence.  Si les anciennes tâches sous /var/eventing/jobs/unassigned ne sont pas traitées en raison d’une erreur, elles pourraient entraîner le dysfonctionnement de synchronisation de l’utilisateur. Supprimez ces éléments sur chaque nœud AEM pour recharger la file d’attente de synchronisation : 

  1. Allez sur http://host:port/crx/explorer/index.jsp

  2. Connectez-vous en tant qu’administrateur.

  3. Ouvrir Content Explorer.

  4. Naviguez jusqu’à /var/eventing/jobs

  5. Cliquez avec le bouton droit sur le premier sous-dossier de /var/eventing/jobs/unassigned

  6. Recherchez le nœud enfant commençant par org.apache.sling.distribution

  7. Cliquez avec le bouton droit de la souris sur ce nœud et supprimez-le de manière récursive.

  8. Désactivez l’option Analyse préliminaire.

  9. Supprimer.

VI. Analyse supplémentaire

Si aucune des étapes ci-dessus n’a résolu le problème de synchronisation des utilisateurs, activez l’enregistrement du niveau de débogage pour ces modules java (instances auteur et publication) :

  1. Allez sur http://aem-host:port/system/console/slinglog

  2. Cliquez sur ajouter un nouveau journal.

  3. Définissez les valeurs suivantes : 

    • Niveau de journal -> Debug
    • Fichiers Journaux -> logs/usersync.log
    • Journaux
      • org.apache.sling.distribution
      • org.apache.sling.event
      • com.adobe.cq.social.sync
  4. Cliquez sur Enregistrer.

  5. Contactez l’assistance clientèle AEM pour obtenir de l’aide en incluant une description du problème et en ajoutant les fichiers journaux.

[1] Erreur dans la synchronisation des utilisateurs après application du 6.2 Cumulative Fix Pack 5 ou ultérieur

22.08.2017 12:38:16.044 *ERROR* [sling-default-655-scheduledEventTriggerorg.apache.sling.distribution.agent.impl.TriggerAgentRequestHandler@3b05483d] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] cannot retrieve packages
org.apache.sling.distribution.common.DistributionException: java.lang.NullPointerException
at org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder.readPackageInternal(FileDistributionPackageBuilder.java:127)
at org.apache.sling.distribution.packaging.impl.AbstractDistributionPackageBuilder.readPackage(AbstractDistributionPackageBuilder.java:111)
at org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory.readPackage(VaultDistributionPackageBuilderFactory.java:243)
at org.apache.sling.distribution.transport.impl.SimpleHttpDistributionTransport.retrievePackage(SimpleHttpDistributionTransport.java:156)
at org.apache.sling.distribution.packaging.impl.exporter.RemoteDistributionPackageExporter.exportPackages(RemoteDistributionPackageExporter.java:82)
at org.apache.sling.distribution.agent.impl.SimpleDistributionAgent.exportPackages(SimpleDistributionAgent.java:214)
at org.apache.sling.distribution.agent.impl.SimpleDistributionAgent.execute(SimpleDistributionAgent.java:182)
at org.apache.sling.distribution.agent.impl.TriggerAgentRequestHandler.handle(TriggerAgentRequestHandler.java:71)
at org.apache.sling.distribution.trigger.impl.ScheduledDistributionTrigger$ScheduledDistribution.run(ScheduledDistributionTrigger.java:134)
at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:118)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: null

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne