La synchronisation des utilisateurs de AEM Communities arrête 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. Rechercher 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 : Essayez de créer ou modifier le 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’aurait aucun effet. 

III. Vérifiez 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 User Sync où il ne distribue pas les nœuds sling:Folder, tels que les réseaux sociaux/relations/suivant. 

  1. Accédez à 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 des Communautés de réseaux sociaux AEM que vous avez, vous pourriez avoir des modules utilisateur créés sous /etc/packages/sling (d'anciennes versions - AEM 6.1 sans correctifs) ou /var/sling/distribution/packages (versions plus récentes - AEM 6.1 avec communautés de réseaux sociaux FP4 ou ultérieur.

  1. Rendez-vous à 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 module du dossier temporaire :

  1. Connectez-vous à votre serveur AEM.

  2. Accédez au répertoire temporaire utilisé par le processus java de 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. Accéder à http://host:port/crx/explorer/index.jsp

  2. Connectez-vous en tant qu'administrateur.

  3. Ouvrir Content Explorer.

  4. Parcourir 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 le l'option analyse préliminaire.

  9. Supprimer.

VI. Analyse supplémentaire

Si aucune des étapes ci-dessus n’a été corrigée avec la synchronisation des utilisateurs, activez l’enregistrement du niveau de débogage pour ces modules java (instances auteur et publication) :

  1. Accédez à 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

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne