Synchronisation des utilisateurs des communautés

Présentation

En AEM Communities, à partir de l’environnement de publication (en fonction des autorisations configurées), les visiteurs du site peuvent devenir membres, créer des groupes d’ utilisateurs et modifier leur profil membre.

Les données utilisateur sont un terme qui désigne les utilisateurs, les profils ** d’utilisateurs et les groupes d’ utilisateurs.

Les membres sont un terme utilisé pour désigner les utilisateurs enregistrés dans l’environnement de publication, par opposition aux utilisateurs enregistrés dans l’environnement d’auteur.

Pour plus d’informations sur les données utilisateur, consultez Gestion des utilisateurs et des groupesd’utilisateurs.

Synchronisation des utilisateurs sur une batterie de publication

Par conception, les données utilisateur créées dans l’environnement de publication n’apparaissent pas dans l’environnement d’auteur.

La plupart des données utilisateur créées dans l’environnement d’auteur sont destinées à rester dans l’environnement d’auteur et ne sont ni synchronisées ni répliquées dans les instances de publication.

Lorsque la topologie est une batterie depublication, l’enregistrement et les modifications effectués sur une instance de publication doivent être synchronisés avec d’autres instances de publication. Les membres doivent pouvoir se connecter et voir leurs données sur n’importe quel noeud de publication.

Lorsque la synchronisation des utilisateurs est activée, les données utilisateur sont automatiquement synchronisées dans les instances de publication de la batterie.

Instructions de configuration de la synchronisation des utilisateurs

Pour obtenir des instructions détaillées et détaillées sur la façon d’activer la synchronisation sur une batterie de publication, voir

Synchronisation utilisateur en arrière-plan

workflow sling-dist

  • Package VLT : est un fichier zip de toutes les modifications apportées à un éditeur, qui doit être distribué entre les éditeurs. Les modifications effectuées sur un éditeur génèrent des événements qui sont sélectionnés par l’écouteur du événement de modification. Ceci crée un package vlt contenant toutes les modifications.

  • Package de distribution : contient des informations de distribution pour Sling. Il s'agit d'informations sur l'endroit où le contenu doit être distribué, et quand a-t-il été distribué en dernier.

What Happens When …

Publier le site à partir de la console Sites des communautés

Sur l’auteur, lorsqu’un site communautaire est publié à partir de la console Sitescommunautaires, l’effet est de reproduire les pages associées et Sling distribue les groupes d’utilisateurs communautaires créés de manière dynamique, y compris leur adhésion.

L’utilisateur est créé ou modifie le Profil sur la publication.

Par conception, les utilisateurs et les profils créés dans l’environnement de publication (par exemple par auto-inscription, connexion sociale, authentification LDAP) n’apparaissent pas dans l’environnement d’auteur.

When the topology is a publish farm and user sync has been correctly configured, the user and user profile is synchronized across the publish farm using Sling distribution.

Un nouveau groupe de communautés est créé lors de la publication.

Bien qu’elle soit lancée à partir d’une instance de publication, la création de groupe de la communauté, qui se traduit par de nouvelles pages de site et un nouveau groupe d’utilisateurs, se produit en fait sur l’instance d’auteur.

Dans le cadre du processus, les nouvelles pages du site sont répliquées sur toutes les instances de publication. Le groupe d’utilisateurs de la communauté créé dynamiquement et ses membres sont Sling distribués à toutes les instances de publication.

Les utilisateurs ou les groupes d’utilisateurs sont créés à l’aide de la console Sécurité.

Par défaut, les données utilisateur créées dans l’environnement de publication ne sont pas visibles dans l’environnement de création, et vice versa.

Lorsque la console Administration et sécurité des utilisateurs est utilisée pour ajouter de nouveaux utilisateurs dans l’environnement de publication, la synchronisation des utilisateurs synchronise les nouveaux utilisateurs et leur appartenance à un groupe sur d’autres instances de publication, si nécessaire. La synchronisation des utilisateurs synchronise également les groupes d’utilisateurs créés via la console de sécurité.

L’utilisateur publie du contenu lors de la publication

Pour le contenu généré par l’utilisateur (UGC), les données saisies sur une instance de publication sont accessibles via le SRP configuré.

Bonnes pratiques

Par défaut, la synchronisation des utilisateurs est désactivée. Activer la synchronisation des utilisateurs implique de modifier les configurations OSGi existantes. Aucune configuration nouvelle ne doit être ajoutée suite à l’activation de la synchronisation des utilisateurs.

La synchronisation des utilisateurs repose sur l’environnement de création pour gérer les distributions de données utilisateur, même si les données utilisateur ne sont pas créées en mode de création.

Conditions préalables

  1. Si les utilisateurs et les groupes d’utilisateurs ont déjà été créés sur un éditeur, il est recommandé de synchroniser manuellement les données utilisateur sur tous les éditeurs avant de configurer et d’activer la synchronisation des utilisateurs.

    Une fois la synchronisation des utilisateurs activée, seuls les utilisateurs et les groupes nouvellement créés sont synchronisés .

  2. Vérifiez que le code le plus récent a été installé :

Les configurations suivantes sont nécessaires pour activer la synchronisation des utilisateurs sur AEM Communities. Assurez-vous que ces configurations sont correctes pour empêcher l’échec de la distribution de contenu sling.

Agent de distribution Apache Sling - Fabrique d’agents de synchronisation

Cette configuration récupère le contenu à synchroniser entre les éditeurs. La configuration se trouve sur l’instance d’auteur. L'auteur doit suivre tous les éditeurs qui sont là et où synchroniser toutes les informations.

Les valeurs par défaut dans la configuration sont pour une instance de publication unique. Comme la synchronisation des utilisateurs est utile pour synchroniser plusieurs instances de publication, par exemple pour une batterie de publication, d’autres instances de publication doivent être ajoutées à la configuration.

Comment le contenu est-il synchronisé ?

L’instance d’auteur fait pivoter le point de terminaison d’exportateur des éditeurs. Chaque fois qu’un utilisateur est créé ou mis à jour sur des éditeurs spécifiques (n), l’auteur obtient le contenu à partir de ses points de terminaison d’exportation et diffuse le contenu à d’autres éditeurs (n-1, à l’exception des éditeurs dont le contenu est récupéré).

Pour configurer la configuration des agents de synchronisation Apache Sling

Sur l’instance d’auteur AEM :

  1. Connectez-vous avec des droits d’administrateur.

  2. Access the Web Console.

    For example, http://localhost:4502/system/console/configMgr.

  3. Locate Apache Sling Distribution Agent - Sync Agents Factory.

    • Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).

    • Vérifier le nom : socialpubsync.

    • Select the Enabled checkbox.

    • Sélectionnez Utiliser plusieurs files d’attente.

    • Spécifiez les points de terminaison de l’ exportateur et les points de terminaison de l’ importateur (vous pouvez ajouter d’autres points de terminaison d’exportateur et d’importateur).

      Ces points de terminaison définissent l’emplacement d’où vous souhaitez obtenir le contenu et l’emplacement où vous souhaitez pousser le contenu. L’auteur récupère le contenu à partir du point de terminaison d’exportation spécifié et envoie le contenu aux éditeurs (autres que l’éditeur à partir duquel il a récupéré le contenu).
      sync-agent-fact

Distribution Adobe Granite - Fournisseur secret du transport de mot de passe chiffré

Il permet à l’auteur d’identifier l’utilisateur autorisé, comme ayant l’autorisation de synchroniser les données utilisateur de l’auteur à la publication.

L’utilisateur autorisé créé sur toutes les instances de publication aide les éditeurs à se connecter à l’auteur et à configurer la distribution Sling sur l’auteur. Cet utilisateur autorisé dispose de toutes les listes de contrôle d’accèsrequises.

Chaque fois que des données doivent être installées ou extraites d’éditeurs, l’auteur se connecte aux éditeurs à l’aide des informations d’identification (nom d’utilisateur et mot de passe) définies dans cette configuration.

Pour connecter l’auteur aux éditeurs à l’aide d’un utilisateur autorisé

Sur l’instance d’auteur AEM :

  1. Connectez-vous avec des droits d’administrateur.

  2. Access the Web Console.

    For example, http://localhost:4502/system/console/configMgr.

  3. Locate Adobe Granite Distribution - Encrypted Password Transport Secret Provider.

  4. Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).

    Vérifiez la propriété name: socialpubsync-publishUser.

  5. Définissez le nom d’utilisateur et le mot de passe sur l’utilisateur autorisé.

    Par exemple, usersync-admin

    granit-paswrd-trans

Agent de distribution Apache Sling - Fabrique d’agents de file d’attente

Cette configuration permet de configurer les données que vous souhaitez synchroniser entre les éditeurs. Lorsque des données sont créées/mises à jour dans les chemins spécifiés dans les racines ​autorisées, "var/community/distribution/diff" est activé et le réplicateur créé récupère les données d’un éditeur et les installe sur d’autres éditeurs.

Pour configurer les données (chemins d’accès aux noeuds) à synchroniser

Sur AEM instance de publication :

  1. Connectez-vous avec des droits d’administrateur.

  2. Access the Web Console.

    For example, http://localhost:4503/system/console/configMgr.

  3. Locate Apache Sling Distribution Agent - Queue Agents Factory.

  4. Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).

    Vérifier le nom : socialpubsync -inverse.

  5. Cochez la case Activé et enregistrez.

  6. Spécifiez les chemins d’accès aux noeuds à répliquer dans les racines ​autorisées.

  7. Repeat for each publish instance.

    queue-agents-fact

Adobe Granite Distribution - Diff Observer Factory

Cette configuration synchronise l’appartenance au groupe entre les éditeurs.
Si la modification de l’appartenance d’un groupe dans un éditeur ne met pas à jour son appartenance sur d’autres éditeurs, assurez-vous que ref:members est ajouté aux noms de propriétés affichées.

Pour assurer la synchronisation des membres

Sur chaque instance de publication AEM :

  1. Connectez-vous avec des droits d’administrateur.

  2. Access the Web Console.

    For example, http://localhost:4503/system/console/configMgr.

  3. Locate Adobe Granite Distribution - Diff Observer Factory.

  4. Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).

    Vérifier le nom de l'agent : socialpubsync -reverse**.

  5. Select the Enabled checkbox.

  6. Spécifiez rep:members​pourdescriptionpropertyName dans les noms des propriétés​affichées et Enregistrer.

    diff-obs

Déclencheur de distribution Apache Sling - Fabrique de déclencheurs planifiés

Cette configuration vous permet de configurer l’intervalle d’interrogation (après lequel les éditeurs sont épinglés et les modifications sont extraites par l’auteur) afin de synchroniser les modifications entre les éditeurs.

L’auteur interroge les éditeurs toutes les 30 secondes (par défaut). Si des packages sont présents dans le dossier /var/sling/distribution/packages/ socialpubsync - vlt /shared, ils seront récupérés et installés sur d'autres éditeurs.

Pour modifier l’intervalle d’interrogation

Sur l’instance d’auteur AEM :

  1. Connectez-vous avec des droits d’administrateur.

  2. Accédez à la console Web, par exemple http://localhost:4502/system/console/configMgr

  3. Locate Apache Sling Distribution Trigger - Scheduled Triggers Factory

    • Sélectionner la configuration existante à ouvrir pour modification (icône représentant un crayon)
    • Vérifier Name: socialpubsync-programmé-trigger
    • Définissez l’intervalle en secondes sur l’intervalle souhaité, puis enregistrez-le.

    scheduled-trigger

Écouteur de synchronisation des utilisateurs AEM Communities

Pour les problèmes de distribution Sling où il y a une incohérence dans les abonnements et les éléments suivants, vérifiez si les propriétés suivantes dans les configurations de l’écouteur de synchronisation des utilisateurs AEM Communities sont définies :

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • Dossiers distribués

Pour synchroniser des abonnements, des suivis et des notifications

Sur chaque instance de publication AEM :

  1. Connectez-vous avec des droits d’administrateur.

  2. Access the Web Console. For example, http://localhost:4503/system/console/configMgr.

  3. Locate AEM Communities User Sync Listener.

  4. Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).

    Vérifier le nom : socialpubsync-planifié-trigger

  5. Set the following NodeTypes :

    rep:User

    nt : non structuré

    nt :resource

    rep:ACL

    sling:Folder

    sling:OrderedFolder

    Les types de noeud spécifiés dans cette propriété vont se synchroniser et les informations de notification (blogs et configurations suivis) sont synchronisées entre les différents éditeurs.

  6. Ajoutez tous les dossiers à synchroniser dans DistributedFolders. Par exemple :

    segments/scoring

    social/relationships

    activités

  7. Définissez le niveau du journal ignorablenodes sur:

    .tokens

    system

    rep :cache (puisque nous utilisons des sessions collantes, il n’est pas nécessaire de synchroniser ce noeud avec différents éditeurs)

    user-sync-listner

Identifiant Sling unique.

AEM instance d’auteur utilise l’identifiant Sling pour identifier d’où viennent les données et vers quels éditeurs elle doit (ou ne doit pas) renvoyer le package.

Assurez-vous que tous les éditeurs d’une batterie de publication possèdent un identifiant Sling unique. Si l’ID Sling est identique pour plusieurs instances de publication dans une batterie de publication, la synchronisation des utilisateurs échoue. Comme l'auteur ne sait pas où récupérer le pack et où l'installer.

Pour garantir l’identifiant Sling unique des éditeurs de la batterie de publication

Sur chaque instance de publication :

  1. Browse to https://host:port/system/console/status-slingsettings.

  2. Check the value of Sling ID.

    slingid

    Si l’identifiant Sling d’une instance de publication correspond à l’identifiant Sling d’une autre instance de publication, alors :

  3. Arrêtez l’une des instances de publication qui possède un ID Sling correspondant.

  4. Dans le crx-quickstart/launchpad/felix répertoire, recherchez et supprimez le fichier nommé _sling.id.file.

    par exemple, sur un système Linux :

    rm -i $(find . -type f -name sling.id.file)

    par exemple, sur un système Windows :

    use windows explorer and search for _sling.id.file_

  5. Démarrez l’instance de publication. Au démarrage, un nouvel identifiant Sling lui sera attribué.

  6. Validate that the Sling ID is now unique.

Répétez ces étapes jusqu’à ce que toutes les instances de publication aient un identifiant Sling unique.

Fabrique Vault Package Builder

Pour que les mises à jour soient synchronisées correctement, il est nécessaire de modifier le créateur de packages en chambre forte pour la synchronisation utilisateur.
Dans /home/users, un /rep:cache noeud est créé. Il s'agit d'un cache qui est utilisé pour trouver que si nous requêtes sur le nom principal d'un noeud alors ce cache peut être utilisé directement.

La synchronisation des utilisateurs peut s’arrêter si rep:cache des noeuds sont synchronisés entre les éditeurs.

Pour s’assurer que les mises à jour sont correctement synchronisées entre les éditeurs

Sur chaque instance de publication AEM :

  1. Accédez à la console Web, par exemple, http://localhost:4503/system/console/configMgr.

  2. Locate the Apache Sling Distribution Packaging - Vault Package Builder Factory Builder name: socialpubsync-vlt.

  3. Sélectionnez l’icône Modifier.

  4. Ajoutez deux Filtres de package :

    • /home/users|-.\*/.tokens
    • /home/users|**+**.\*/rep:cache
  5. Gestion des stratégies

    • To overwrite existing rep :policy nodes with new ones, add a third Package Filter:

      /home/users|**+**.\*/rep:policy

    • Pour empêcher la distribution des stratégies, définissez

      Gestion de compte : IGNORER

vault-package-builder-factory

Résolution des problèmes de distribution Sling en AEM Communities

Si la distribution Sling échoue, essayez les étapes de débogage suivantes :

  1. Recherchez les configurationsincorrectement ajoutées. Assurez-vous que plusieurs configurations ne sont pas ajoutées ou modifiées, mais que les configurations par défaut existantes doivent être modifiées.

  2. Vérifier les configurations. Assurez-vous que toutes les configurations sont correctement définies dans votre instance d’auteur AEM, comme mentionné dans les bonnes pratiques.

  3. Vérifiez les autorisations d’utilisateur autorisées. Si les packages ne sont pas correctement installés, vérifiez que l’utilisateur autorisé créé dans la première instance de publication dispose des listes de contrôle d’accès appropriées.

    Pour valider ce paramètre, au lieu de l’utilisateur autorisé créé, modifiez la configuration du fournisseur secret de transport Granite Distribution - Mot de passe chiffré Adobe sur l’instance d’auteur afin d’utiliser les informations d’identification de l’utilisateur administrateur. Maintenant, essayez de réinstaller les paquets. Si la synchronisation de l’utilisateur fonctionne correctement avec les informations d’identification de l’administrateur, cela signifie que l’utilisateur de publication créé ne disposait pas de listes de contrôle d’accès appropriées.

  4. Vérifiez la configuration de l’usine Diff Observer. Si seuls des noeuds spécifiques ne sont pas synchronisés dans la batterie de publication (par exemple, les membres du groupe ne sont pas synchronisés), assurez-vous que la configuration Distribution Granite Adobe - Diff Observer Factory est activée et que rep:members est défini dans les noms des propriétés affichées.

  5. Vérifiez la configuration du module d’écoute AEM Communities User Sync. Si les utilisateurs créés sont synchronisés mais que les abonnements et les éléments suivants ne fonctionnent pas, assurez-vous que la configuration de l’écouteur de synchronisation utilisateur AEM Communities est compatible :

    • Types de noeud - définis sur rep:User, nt:unstructured, nt:resource, rep:ACL, sling:Folder et sling:OrderedFolder
    • Noeuds ignorables - définis sur .tokens, system et rep:cache
    • Dossiers distribués : définis sur les dossiers à distribuer
  6. Vérifiez les journaux générés lors de la création d’utilisateurs sur l’instance de publication. Si les configurations ci-dessus sont définies correctement et que la synchronisation des utilisateurs ne fonctionne pas, vérifiez les journaux générés lors de la création des utilisateurs.

    Vérifiez si l’ordre des journaux est le même, comme suit :

    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7422] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C, /home/users/C/Cw-5avWqilmqsNn5hCvK]
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7422] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ2: ADD paths=[/home/users/C, /home/users/C/Cw-5avWqilmqsNn5hCvK], user=communities-user-admin
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7431] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C/Cw-5avWqilmqsNn5hCvK, /home/users/C/Cw-5avWqilmqsNn5hCvK/profile, /home/users/C/Cw-5avWqilmqsNn5hCvK/rep:policy]
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7431] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ3: ADD paths=[/home/users/C/Cw-5avWqilmqsNn5hCvK, /home/users/C/Cw-5avWqilmqsNn5hCvK/profile, /home/users/C/Cw-5avWqilmqsNn5hCvK/rep:policy], user=communities-user-admin
    15.05.2016 18:33:01.757 *INFO* [sling-oak-observation-7431] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337181554_ebb27ad9-a861-4405-9342-d64c916654e2:0.0.1
    15.05.2016 18:33:01.820 *INFO* [sling-oak-observation-7422] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337181554_58811273-5861-48fe-95d2-4aff367b99c3:0.0.1
    15.05.2016 18:33:02.023 *INFO* [sling-oak-observation-7430] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C/Cw-5avWqilmqsNn5hCvK/profile]
    15.05.2016 18:33:02.023 *INFO* [sling-oak-observation-7430] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ4: ADD paths=[/home/users/C/Cw-5avWqilmqsNn5hCvK/profile], user=communities-user-admin
    15.05.2016 18:33:02.273 *INFO* [sling-oak-observation-7430] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337182039_f34f4fa6-10b9-42eb-8740-4da9d4d38f99:0.0.1
    

    Pour déboguer :

    1. Désactiver la synchronisation des utilisateurs :

    2. Sur AEM instance d’auteur, connectez-vous avec les droits d’administrateur.

      1. Access the Web Console. For example, http://localhost:4502/system/console/configMgr.

      2. Locate the configuration Apache Sling Distribution Agent - Sync Agents Factory.

      3. Deselect the Enabled checkbox.

      Lors de la désactivation de la synchronisation des utilisateurs sur l’instance d’auteur, les points de terminaison (exportateur et importateur) sont désactivés et l’instance d’auteur est statique. Les paquets vlt ne sont pas épinglés ou extraits par l'auteur.

      Désormais, si un utilisateur est créé sur l’instance de publication, le package vlt est créé dans le noeud /var/sling/distribution/packages/ socialpubsync - vlt /data . Et si ces paquets sont poussés par l'auteur vers un autre service. Vous pouvez télécharger et extraire ces données pour vérifier quelles propriétés sont transférées à d’autres services.

    3. Accédez à un éditeur et créez un utilisateur sur l’éditeur. En conséquence, des événements sont créés.

    4. Vérifiez l’ ordre des journauxcréés lors de la création des utilisateurs.

    5. Vérifiez si un package vlt est créé le /var/sling/distribution/packages/socialpubsync-vlt/datajour.

    6. Désormais, activez la synchronisation des utilisateurs sur AEM instance d’auteur.

    7. Dans publisher, modifiez les points de terminaison de l’exportateur ou de l’importateur dans Apache Sling Distribution Agent - Sync Agents Factory.

      Nous pouvons télécharger et extraire des données de package pour vérifier quelles propriétés sont transférées à d’autres éditeurs et quelles données sont perdues.

Sur cette page