En AEM Communities, à partir de l’environnement de publication (selon les 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’ 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 d’auteur.
Pour plus d'informations sur les données utilisateur, consultez Gestion des utilisateurs et des groupes d'utilisateurs.
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 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 dans les instances de publication de la batterie.
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
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.
Sur l’auteur, lorsqu’un site communautaire est publié à partir de la console Sites communautaires, l’effet est de reproduire les pages associées, et Sling distribue les groupes d’utilisateurs communautaires créés dynamiquement, y compris leur adhésion.
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.
Lorsque la topologie est une batterie de publication et que la synchronisation des utilisateurs a été correctement configurée, les profil utilisateur et utilisateur sont synchronisés dans la batterie de publication à l’aide de la distribution Sling.
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.
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é.
Pour le contenu généré par l’utilisateur (UGC), les données saisies sur une instance de publication sont accessibles par le biais de l’SRP configuré.
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
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 .
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.
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 de ses points de terminaison d’exportation et envoie le contenu à d’autres éditeurs (n-1, à l’exception des éditeurs dont le contenu est récupéré).
Sur l’instance d’auteur AEM :
Connectez-vous avec des droits d’administrateur.
Accédez à la console Web.
Par exemple, http://localhost:4502/system/console/configMgr.
Localisez 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
.
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 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).
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 permet aux éditeurs de se connecter à l’auteur et de configurer la distribution Sling sur l’auteur. Cet utilisateur autorisé dispose de toutes les ACL requises.
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.
Sur l’instance d’auteur AEM :
Connectez-vous avec des droits d’administrateur.
Accédez à la console Web.
Par exemple, http://localhost:4502/system/console/configMgr.
Localisez Adobe Granite Distribution - Encrypted Password Transport Secret Provider.
Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).
Vérifier la propriété name:
socialpubsync
- publishUser
.
Définissez le nom d’utilisateur et le mot de passe sur l’utilisateur autorisé.
Par exemple, usersync
-admin
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 Allowed Roots, "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.
Sur AEM instance de publication :
Connectez-vous avec des droits d’administrateur.
Accédez à la console Web.
Par exemple, http://localhost:4503/system/console/configMgr.
Localisez Apache Sling Distribution Agent - Queue Agents Factory.
Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).
Vérifier le nom : socialpubsync
-inverse.
Cochez la case Activé et enregistrez.
Spécifiez les chemins d’accès aux noeuds à répliquer dans racines autorisées.
Répétez cette opération pour chaque instance publish
.
Cette configuration synchronise l’appartenance au groupe entre les éditeurs.
Si le changement d’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 affichées.
Sur chaque instance de publication AEM :
Connectez-vous avec des droits d’administrateur.
Accédez à la console Web.
Par exemple, http://localhost:4503/system/console/configMgr.
Localisez Distribution de granite d'Adobe - Diff Observer Factory.
Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).
Vérifier nom de l'agent : socialpubsync
-reverse**.
Cochez la case Activé.
Spécifiez rep:members
comme description
pour propertyName dans nom des propriétés et Enregistrer.
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 se trouvent dans le dossier /var/sling/distribution/packages/ socialpubsync - vlt /shared, ils sont récupérés et installés sur d'autres éditeurs.
Sur l’instance d’auteur AEM :
Connectez-vous avec des droits d’administrateur.
Accédez à la console Web, par exemple http://localhost:4502/system/console/configMgr
Localisez Déclencheur de distribution Apache Sling - Triggers Factory planifié.
Name:
socialpubsync
-planifié-triggerPour 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 AEM Communities User Sync Listener sont définies :
Sur chaque instance de publication AEM :
Connectez-vous avec des droits d’administrateur.
Accédez à la console Web. Par exemple, http://localhost:4503/system/console/configMgr.
Recherchez Écouteur de synchronisation utilisateur AEM Communities.
Sélectionnez la configuration existante à ouvrir pour modification (icône représentant un crayon).
Vérifier le nom : socialpubsync
-schedule-trigger
Définissez le NodeTypes
suivant :
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.
Ajoutez tous les dossiers à synchroniser dans DistributedFolders. Par exemple :
segments/scoring
social/relationships
activités
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)
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.
Sur chaque instance de publication :
Accédez à https://hôte:port/system/console/status-slingsettings.
Vérifiez la valeur de Sling ID.
Si l’identifiant Sling d’une instance de publication correspond à l’identifiant Sling d’une autre instance de publication, alors :
Arrêtez l’une des instances de publication qui possède un ID Sling correspondant.
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_
Démarrez l’instance de publication. Au démarrage, un nouvel identifiant Sling lui sera attribué.
Vérifiez que l'identifiant Sling est désormais unique.
Répétez ces étapes jusqu’à ce que toutes les instances de publication aient un identifiant Sling unique.
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 noeud /rep:cache
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.
Sur chaque instance de publication AEM :
Accédez à la console Web, par exemple http://localhost:4503/system/console/configMgr.
Localisez le package de distribution Apache Sling - Vault Package Builder Factory Builder nom : socialpubsync-vlt.
Sélectionnez l’icône Modifier.
Ajoutez deux Filtres de package :
/home/users|-.\*/.tokens
/home/users|**+**.\*/rep:cache
Gestion des stratégies
Pour remplacer des noeuds de référence :policy
existants par de nouveaux noeuds, ajoutez un troisième filtre de package :
/home/users|**+**.\*/rep:policy
Pour empêcher la distribution des stratégies, définissez
Gestion de compte : IGNORER
Si la distribution Sling échoue, essayez les étapes de débogage suivantes :
Recherchez les configurations incorrectement 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.
Vérifier les configurations. Assurez-vous que toutes les configurations sont correctement définies dans votre instance d’auteur AEM, comme indiqué dans les Bonnes pratiques.
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 a les listes de contrôle d’accès appropriées.
Pour valider ce paramètre, au lieu de créer un utilisateur autorisé, modifiez la configuration Distribution de granit d’Adobe - Fournisseur secret de transport de mot de passe chiffré sur l’instance d’auteur afin d’utiliser les informations d’identification d’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.
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 de granite d'Adobe - Usine d'observation de la diversité est activée et rep:members est définie dans les noms de propriétés affichées.
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 :
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 :
Désactiver la synchronisation des utilisateurs :
Sur AEM instance d’auteur, connectez-vous avec les droits d’administrateur.
Accédez à la console Web. Par exemple, http://localhost:4502/system/console/configMgr.
Recherchez la configuration Apache Sling Distribution Agent - Sync Agents Factory.
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 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.
Accédez à un éditeur et créez un utilisateur sur l’éditeur. En conséquence, des événements sont créés.
Vérifiez l'ordre des journaux, créé lors de la création de l'utilisateur.
Vérifiez si un package vlt est créé sur /var/sling/distribution/packages/socialpubsync-vlt/data
.
Désormais, activez la synchronisation des utilisateurs sur AEM instance d’auteur.
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.