Synchronisation des utilisateurs des communautés

Présentation

Dans AEM Communities, dans 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 du membre.

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

**L’appartenance est un terme utilisé pour désigner les ** utilisateurs enregistrés dans l’environnement de publication, par opposition aux utilisateurs enregistrés dans l’environnement de création.

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

Synchronisation des utilisateurs sur une ferme de publication

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

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

Lorsque la topologie est une ferme de publication, 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 entre les instances de publication dans la ferme de serveurs.

Instructions de configuration de la synchronisation des utilisateurs

Pour obtenir des instructions détaillées, détaillées sur la manière d’activer la synchronisation sur une ferme de publication, voir

Synchronisation des utilisateurs en arrière-plan

sling-dist-workflow

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

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

Ce qui se produit si…

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

Lorsqu’un site de communauté est publié à partir de la console Sites des communautés, l’effet est de répliquer les pages associées, et Sling distribue les groupes d’utilisateurs de communauté créés dynamiquement, y compris leur appartenance.

L’utilisateur est créé ou modifie le profil lors de 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 de création.

Lorsque la topologie est une ferme de publication et que la synchronisation des utilisateurs a été correctement configurée, user et profil utilisateur sont synchronisés dans la ferme de publication à l’aide de la distribution Sling.

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 communautés, qui entraîne la création de pages de site et d’un nouveau groupe d’utilisateurs, a lieu dans les faits sur l’instance d’auteur.

Dans le cadre du processus, les nouvelles pages du site sont répliquées vers 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 la SRP configurée.

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.

Prérequis

  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 paramétrages suivants sont nécessaires pour permettre 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 dans les éditeurs. La configuration se trouve sur l’instance d’auteur . L’auteur doit effectuer le suivi de tous les éditeurs présents et où synchroniser toutes les informations.

Les valeurs par défaut de la configuration concernent une seule instance de publication. Comme la synchronisation des utilisateurs est utile pour synchroniser plusieurs instances de publication, comme pour une ferme de publication, des instances de publication supplémentaires doivent être ajoutées à la configuration.

Comment le contenu est-il synchronisé ?

L’instance d’auteur envoie un ping au point de terminaison de l’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’exportateur et envoie le contenu à d’autres éditeurs (n-1, à l’exception des éditeurs à partir desquels 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 les privilèges d’administrateur.

  2. Accédez à la console web.

    Par exemple, http://localhost:4502/system/console/configMgr.

  3. Recherchez Agent de distribution Apache Sling - Fabrique d’agents de synchronisation.

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

    • Vérifiez le nom : socialpubsync.

    • Cochez la case Activé .

    • Sélectionnez Utiliser plusieurs files d’attente.

    • Spécifiez Points de terminaison de l’exportateur et Points de terminaison de l’importateur (vous pouvez ajouter d’autres points de terminaison de l’exportateur et de l’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 de l’exportateur 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é possède toutes les listes de contrôle d’accès requises.

Chaque fois que des données doivent être installées ou récupérées auprès des é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 à des éditeurs à l’aide d’un utilisateur autorisé

Sur l’instance d’auteur AEM :

  1. Connectez-vous avec les privilèges d’administrateur.

  2. Accédez à la console web.

    Par exemple, http://localhost:4502/system/console/configMgr.

  3. Recherchez Distribution Granite Adobe - Fournisseur secret de transport de mot de passe chiffré.

  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

    granite-pasword-trans

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

Cette configuration est utilisée pour configurer les données que vous souhaitez synchroniser entre les éditeurs. Lorsque les données sont créées/mises à jour dans les chemins spécifiés dans Racines autorisées, la variable "var/community/distribution/diff" est activée 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 les privilèges d’administrateur.

  2. Accédez à la console web.

    Par exemple, http://localhost:4503/system/console/configMgr.

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

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

    Vérifiez le nom : socialpubsync -reverse.

  5. Cochez la case Activé et enregistrez.

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

  7. Répétez cette opération pour chaque instance publish.

    queue-agents-fact

Distribution Granite des Adobes - Fabrique observateur diff

Cette configuration synchronise l’appartenance des groupes 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é à noms de propriétés.

Pour garantir la synchronisation des membres

Sur chaque instance de publication AEM :

  1. Connectez-vous avec les privilèges d’administrateur.

  2. Accédez à la console web.

    Par exemple, http://localhost:4503/system/console/configMgr.

  3. Localisez Distribution Granite d’Adobe - Fabrique observateur diff.

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

    Vérifiez nom de l’agent : socialpubsync -reverse**.

  5. Cochez la case Activé .

  6. Spécifiez rep:members comme description pour propertyName dans noms de propriétés et enregistrez.

    diff-obs

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

Cette configuration vous permet de configurer l’intervalle d’interrogation (au-delà duquel les éditeurs sont ingérés et les modifications sont extraites par l’auteur) pour synchroniser les modifications entre les éditeurs.

L’auteur interroge les éditeurs toutes les 30 secondes (par défaut). Si des modules 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 les privilèges d’administrateur.

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

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

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

    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 suivants, vérifiez si les propriétés suivantes dans les configurations Écouteur de synchronisation des utilisateurs AEM Communities sont définies :

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • DistributedFolders

Pour synchroniser les abonnements, les informations suivantes et les notifications

Sur chaque instance de publication AEM :

  1. Connectez-vous avec les privilèges d’administrateur.

  2. Accédez à la console web. Par exemple, http://localhost:4503/system/console/configMgr.

  3. Recherchez Écouteur de synchronisation des utilisateurs AEM Communities.

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

    Vérifiez le nom : socialpubsync-scheduled-trigger

  5. Définissez les NodeTypes suivantes :

    rep:User

    nt : non structuré

    nt :resource

    rep:ACL

    sling:Folder

    sling:OrderedFolder

    Les types de noeuds spécifiés dans cette propriété se synchronisent 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 persistantes, nous n’avons pas besoin de synchroniser ce noeud avec différents éditeurs)

    user-sync-listner

Identifiant Sling unique.

AEM instance d’auteur utilise l’identifiant Sling pour identifier à partir de quel endroit les données arrivent et vers quels éditeurs elle doit (ou ne doit pas) renvoyer le module.

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

Pour garantir un identifiant Sling unique des éditeurs dans la ferme de publication

Sur chaque instance de publication :

  1. Accédez à https://host:port/system/console/status-slingsettings.

  2. Vérifiez la valeur de 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 ayant un identifiant Sling correspondant.

  4. Dans le répertoire crx-quickstart/launchpad/felix, 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. Vérifiez que l’ID Sling est désormais 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 correctement synchronisées, il est nécessaire de modifier le créateur de modules Vault pour la synchronisation des utilisateurs.
Dans /home/users, un noeud /rep:cache est créé. Il s’agit d’un cache qui permet de trouver que si nous effectuons une requête sur le nom principal d’un noeud, ce cache peut être utilisé directement.

La synchronisation des utilisateurs peut s’arrêter si les noeuds rep:cache 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. Localisez le Module de distribution Apache Sling - Nom du Créateur d’usine Vault Package Builder : socialpubsync-vlt.

  3. Sélectionnez l’icône de modification.

  4. Ajoutez deux filtres de module :

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

    • Pour remplacer les noeuds rep :policy existants par de nouveaux noeuds, ajoutez un troisième filtre de module :

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

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

      Gestion De L’Acl : IGNORER

vault-package-builder-factory

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

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

  1. Recherchez des configurations ajoutées de manière incorrecte. Assurez-vous que plusieurs configurations ne sont pas ajoutées ni modifiées. Les configurations par défaut existantes doivent être modifiées.

  2. Vérifiez les configurations. Assurez-vous que toutes les configurations sont correctement définies dans votre instance d’auteur AEM, comme indiqué dans la section Bonnes pratiques.

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

    Pour valider cette opération, au lieu de la configuration utilisateur autorisé créée, modifiez la configuration Distribution Granite d’Adobe - Fournisseur secret de transport de mot de passe chiffré sur l’instance d’auteur pour utiliser les informations d’identification d’utilisateur administrateur. Maintenant, essayez de réinstaller les packages. 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 des listes de contrôle d’accès appropriées.

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

  5. Vérifiez la configuration du récepteur de synchronisation des utilisateurs AEM Communities. Si les utilisateurs créés sont synchronisés mais que les abonnements et les suivants ne fonctionnent pas, assurez-vous que la configuration du récepteur de synchronisation des utilisateurs d’AEM Communities dispose des éléments suivants :

    • Types de noeuds : 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 à répartir.
  6. Vérifiez les journaux générés lors de la création de l’utilisateur sur l’instance de publication. Si les configurations ci-dessus sont correctement définies et que la synchronisation des utilisateurs ne fonctionne pas, vérifiez les journaux générés lors de la création de l’utilisateur.

    Vérifiez si l’ordre des logs 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ésactivez la synchronisation des utilisateurs :

    2. Sur AEM instance d’auteur, connectez-vous avec les privilèges d’administrateur.

      1. Accédez à la console web. Par exemple, http://localhost:4502/system/console/configMgr.

      2. Recherchez la configuration Agent de distribution Apache Sling - Fabrique d’agents de synchronisation.

      3. Décochez la case Activé .

      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 packages vlt ne sont ni ingérés ni récupérés 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 modules sont transmis par l’auteur à un autre service. Vous pouvez télécharger et extraire ces données pour vérifier toutes les propriétés qui sont transmises à d’autres services.

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

    4. Vérifiez l’ ordre des journaux, créés lors de la création de l’utilisateur.

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

    6. Maintenant, activez la synchronisation des utilisateurs sur AEM instance d’auteur.

    7. Sur l’éditeur, modifiez les points de terminaison de l’exportateur ou de l’importateur dans Agent de distribution Apache Sling - Fabrique d’agents de synchronisation.

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

Sur cette page