In AEM Communities über die Veröffentlichungsumgebung (abhängig von den konfigurierten Berechtigungen), Site-Besucher kann members, erstellen Benutzergruppen und ihre Mitgliederprofil .
Benutzerdaten bezeichnet einen Begriff, der Benutzer, Benutzerprofile und Benutzergruppen.
Mitglieder bezeichnet einen Begriff, der Benutzer in der Veröffentlichungsumgebung registriert sind, im Gegensatz zu in der Autorenumgebung registrierten Benutzern.
Weitere Informationen zu Benutzerdaten finden Sie unter Verwalten von Benutzern und Benutzergruppen.
Standardmäßig werden in der Veröffentlichungsumgebung erstellte Benutzerdaten nicht in der Autorenumgebung angezeigt.
Die meisten in der Autorenumgebung erstellten Benutzerdaten sollen in der Autorenumgebung verbleiben und werden weder synchronisiert noch in Veröffentlichungsinstanzen repliziert.
Wenn die Topologie ist Veröffentlichungsfarm, Registrierung und Änderungen, die an einer Veröffentlichungsinstanz vorgenommen wurden, müssen mit anderen Veröffentlichungsinstanzen synchronisiert werden. Mitglieder müssen sich anmelden und ihre Daten auf einem beliebigen Veröffentlichungsknoten anzeigen können.
Wenn die Benutzersynchronisierung aktiviert ist, werden die Benutzerdaten automatisch über die Veröffentlichungsinstanzen in der Farm synchronisiert.
Detaillierte schrittweise Anweisungen zum Aktivieren der Synchronisierung über eine Veröffentlichungsfarm hinweg finden Sie unter:
vlt-Paket
Es handelt sich um eine ZIP-Datei aller Änderungen, die an einem Herausgeber vorgenommen werden und die über Herausgeber verteilt werden müssen. Änderungen an einem Herausgeber generieren Ereignisse, die vom Ereignis-Listener "change"ausgewählt werden. Dadurch wird ein vlt-Paket erstellt, das alle Änderungen enthält.
Verteilungspaket
Es enthält Verteilungsinformationen für Sling. Dies sind Informationen darüber, wo der Inhalt verteilt werden muss und wann er zuletzt verteilt wurde.
Wenn eine Community-Site vom Communities Sites-Konsole, bewirkt replizieren die zugehörigen Seiten und Sling verteilen die dynamisch erstellten Community-Benutzergruppen, einschließlich ihrer Mitgliedschaft.
Standardmäßig werden Benutzer und Profile, die in der Veröffentlichungsumgebung erstellt wurden (z. B. durch Selbstregistrierung, Anmeldung bei sozialen Netzwerken, LDAP-Authentifizierung), nicht in der Autorenumgebung angezeigt.
Wenn die Topologie eine Veröffentlichungsfarm und die Benutzersynchronisierung korrekt konfiguriert wurde, wird die Benutzer und Benutzerprofil wird über die Veröffentlichungsfarm hinweg mithilfe der Sling-Verteilung synchronisiert.
Obwohl von einer Veröffentlichungsinstanz initiiert, erfolgt die Erstellung einer Community-Gruppe, die zu neuen Seiten auf der Site und einer neuen Benutzergruppe führt, tatsächlich auf der Autoreninstanz.
Im Rahmen dieses Prozesses werden die neuen Seiten der Site auf allen Veröffentlichungsinstanzen repliziert. Die dynamisch erstellte Community-Benutzergruppe und ihre Mitglieder werden an alle Veröffentlichungsinstanzen verteilt.
Per Design werden die in der Veröffentlichungsumgebung erstellten Benutzerdaten nicht in der Autorenumgebung angezeigt (und umgekehrt).
Wenn in der Veröffentlichungsumgebung neue Benutzer über die Konsole Benutzerverwaltung und Sicherheit hinzugefügt werden, werden die neuen Benutzer und ihre Gruppenmitgliedschaft im Rahmen der Benutzersynchronisierung ggf. mit anderen Veröffentlichungsinstanzen synchronisiert. Bei der Benutzersynchronisierung werden auch die über die Sicherheitskonsole erstellten Benutzergruppen synchronisiert.
Bei benutzergenerierten Inhalten (UGC) werden die in einer Veröffentlichungsinstanz eingegebenen Daten über die konfigurierter SRP.
Standardmäßig ist die Benutzersynchronisierung deaktiviert. Die Aktivierung der Benutzersynchronisierung beinhaltet die Änderung vorhandener OSGi-Konfigurationen. Aufgrund der Aktivierung der Benutzersynchronisierung sollten keine neuen Konfigurationen hinzugefügt werden.
Die Benutzersynchronisierung ist davon abhängig, dass die Autorenumgebung die Verteilung der Benutzerdaten verwaltet, auch wenn die Benutzerdaten nicht in der Autoreninstanz erstellt werden .
Voraussetzungen
Wenn Benutzer und Benutzergruppen bereits auf einem Herausgeber erstellt wurden, wird empfohlen, die Benutzerdaten vor der Konfiguration und Aktivierung der Benutzersynchronisierung manuell zu synchronisieren.
Sobald die Benutzersynchronisierung aktiviert wurde, werden nur neu erstellte Benutzer und Gruppen synchronisiert .
Stellen Sie sicher, dass der neueste Code installiert wurde:
Die folgenden Konfigurationen sind erforderlich, um die Benutzersynchronisierung in AEM Communities zu aktivieren. Stellen Sie sicher, dass diese Konfigurationen korrekt sind, um zu verhindern, dass die Sling-Inhaltsverteilung fehlschlägt.
Diese Konfiguration ruft den Inhalt ab, der über die Publisher hinweg synchronisiert werden soll. Die Konfiguration befindet sich in der -Autoreninstanz. Der Autor muss alle vorhandenen Herausgeber verfolgen und alle Informationen synchronisieren.
Die Standardwerte in der Konfiguration gelten für eine einzelne Veröffentlichungsinstanz. Da die Benutzersynchronisierung zum Synchronisieren mehrerer Veröffentlichungsinstanzen nützlich ist, z. B. für eine Veröffentlichungsfarm, müssen zusätzliche Veröffentlichungsinstanzen zur Konfiguration hinzugefügt werden.
Wie wird der Inhalt synchronisiert?
Die Autoreninstanz pingt den Exporter-Endpunkt von Herausgebern. Wenn ein Benutzer für bestimmte Herausgeber (n) erstellt oder aktualisiert wird, erhält der Autor den Inhalt von seinen Exporter-Endpunkten und pusht den Inhalt an andere Herausgeber (n-1, also nicht an die Herausgeber, von denen der Inhalt abgerufen wird).
Konfigurieren der Konfiguration von Apache Sling Sync Agents :
Melden Sie sich mit Administratorrechten für Ihre AEM-Autoreninstanz an.
Zugriff auf Web-Konsole. Beispiel: https://localhost:4502/system/console/configMgr.
Suchen Apache Sling Distribution Agent - Sync Agents Factory.
Wählen Sie die vorhandene Konfiguration aus, um sie zur Bearbeitung zu öffnen (Bleistiftsymbol).
Überprüfungsname: socialpubsync.
Wählen Sie die Aktiviert aktivieren.
Auswählen Verwenden Sie mehrere Warteschlangen.
Angeben Exporter Endpoints und Importer Endpoints (Sie können weitere Exporter- und Importtool-Endpunkte hinzufügen).
Diese Endpunkte definieren, woher der Inhalt abgerufen werden soll und wo der Inhalt gepusht werden soll. Der Autor ruft den Inhalt vom angegebenen Exportendpunkt ab und sendet ihn an die Herausgeber (außer den Herausgeber, von dem er den Inhalt abgerufen hat).
Dadurch kann der Autor den autorisierten Benutzer identifizieren, da er berechtigt ist, Benutzerdaten vom Autor zur Veröffentlichung zu synchronisieren.
Die autorisierter Benutzer erstellt Auf allen Veröffentlichungsinstanzen hilft es den Herausgebern, eine Verbindung zum Autor herzustellen und die Sling-Verteilung auf dem Autor zu konfigurieren. Dieser autorisierte Benutzer verfügt über alle erforderlichen ACLs.
Wann immer Daten auf Herausgebern installiert oder von diesen abgerufen werden sollen, stellt der Autor eine Verbindung mit den Herausgebern her, die die in dieser Konfiguration festgelegten Anmeldeinformationen (Benutzername und Kennwort) verwenden.
So verbinden Sie Autoren mit Herausgebern mit autorisierten Benutzern:
Melden Sie sich mit Administratorrechten für Ihre AEM-Autoreninstanz an.
Zugriff auf Web-Konsole.
Suchen Adobe Granite Distribution - Verschlüsselter Password Transport Secret Provider.
Wählen Sie die vorhandene Konfiguration aus, um sie zur Bearbeitung zu öffnen (Bleistiftsymbol).
Eigenschaft überprüfen socialpubsync - publishUser.
Setzen Sie Benutzername und Kennwort auf den autorisierter Benutzer.
Beispiel: usersync - admin
Diese Konfiguration wird verwendet, um die Daten zu konfigurieren, die Sie über Publisher hinweg synchronisieren möchten. Wenn Daten in Pfaden erstellt/aktualisiert werden, die in Zulässige Roots, wird "var/community/distribution/diff"aktiviert und der erstellte Replikator ruft die Daten von einem Herausgeber ab und installiert sie auf anderen Herausgebern.
So konfigurieren Sie die zu synchronisierenden Daten (Knotenpfade):
Melden Sie sich mit Administratorrechten für Ihre Veröffentlichungsinstanz an.
Zugriff auf Web-Konsole.
Suchen Apache Sling Distribution Agent - Queue Agents Factory.
Wählen Sie die vorhandene Konfiguration aus, um sie zur Bearbeitung zu öffnen (Bleistiftsymbol).
Überprüfungsname: socialpubsync -reverse
Wählen Sie die Aktiviert aktivieren und speichern.
Geben Sie die Knotenpfade an, die repliziert werden sollen in Zulässige Wurzeln.
Wiederholen Sie diesen Vorgang für jeden publish -Instanz.
Mit dieser Konfiguration wird die Gruppenmitgliedschaft über Publisher hinweg synchronisiert.
Wenn die Änderung der Mitgliedschaft in einer Gruppe in einem Herausgeber die Mitgliedschaft nicht in anderen Herausgebern aktualisiert, stellen Sie sicher, dass ref :members wird hinzugefügt zu Namen der angezeigten Eigenschaften.
So stellen Sie die Mitgliedersynchronisierung sicher:
Melden Sie sich mit Administratorrechten für Ihre Veröffentlichungsinstanz an.
Zugriff auf Web-Konsole.
Suchen Adobe Granite Distribution - Diff Observer Factory.
Wählen Sie die vorhandene Konfiguration aus, um sie zur Bearbeitung zu öffnen (Bleistiftsymbol).
Überprüfen Agentenname: socialpubsync -reverse.
Wählen Sie die Aktiviert aktivieren.
Angeben rep:members als Beschreibung für propertyName in Namen der angezeigten Eigenschaften und Speichern.
Mit dieser Konfiguration können Sie das Abrufintervall konfigurieren (nach dem Publisher gepingt und Änderungen vom Autor abgerufen werden), um die Änderungen über Publisher hinweg zu synchronisieren.
Der Autor fragt Herausgeber alle 30 Sekunden ab (Standard). Wenn Pakete im Ordner vorhanden sind /var/sling/distribution/packages/ socialpubsync - vlt /shared
, werden diese Pakete abgerufen und auf anderen Publishern installiert.
So ändern Sie das Abrufintervall:
Melden Sie sich mit Administratorrechten für Ihre AEM-Autoreninstanz an.
Zugriff auf Web-Konsole, beispielsweise https://localhost:4502/system/console/configMgr
Suchen Apache Sling Distribution Trigger - Scheduled Trigger Factory
Wählen Sie die vorhandene Konfiguration aus, um sie zur Bearbeitung zu öffnen (Bleistiftsymbol).
Überprüfen socialpubsync -scheduled-Trigger
Stellen Sie das Intervall in Sekunden auf das gewünschte Intervall ein und speichern Sie es.
Bei Problemen in der Sling-Distribution, bei denen es eine Diskrepanz bei Abonnements gibt und die darauf folgen, überprüfen Sie, ob die folgenden Eigenschaften in AEM Communities-Listener für Benutzersynchronisierung -Konfigurationen festgelegt sind:
So synchronisieren Sie Abonnements, folgt und Benachrichtigungen
Auf jeder AEM Veröffentlichungsinstanz:
Melden Sie sich mit Administratorrechten an.
Zugriff auf Web-Konsole. Beispiel: https://localhost:4503/system/console/configMgr.
Suchen AEM Communities-Listener für Benutzersynchronisierung.
Wählen Sie die vorhandene Konfiguration aus, um sie zur Bearbeitung zu öffnen (Bleistiftsymbol)
Überprüfungsname: socialpubsync -scheduled-Trigger
Legen Sie Folgendes fest: NodeTypes:
rep:User
nt:unstructured
nt:resource
rep:ACL
sling:Folder
sling:OrderedFolder
Die in dieser Eigenschaft angegebenen Knotentypen werden synchronisiert und die Benachrichtigungsinformationen (Blogs und Konfigurationen folgen) werden zwischen verschiedenen Herausgebern synchronisiert.
Fügen Sie alle Ordner hinzu, die synchronisiert werden sollen in DistributedFolders. Beispiel:
segments/scoring
social/relationships
activities
Legen Sie die Ignorablenode an:
.tokens
system
rep:cache
(da wir Sticky-Sitzungen verwenden, müssen wir diesen Knoten nicht mit verschiedenen Herausgebern synchronisieren.)
AEM Autoreninstanz verwendet die Sling-ID, um zu ermitteln, woher die Daten kommen und an welche Herausgeber das Paket zurückgesendet werden muss (oder muss es nicht).
Stellen Sie sicher, dass alle Herausgeber in einer Veröffentlichungsfarm über eine eindeutige Sling-ID verfügen. Wenn die Sling-ID für mehrere Veröffentlichungsinstanzen in einer Veröffentlichungsfarm identisch ist, schlägt die Benutzersynchronisierung fehl. Da der Autor nicht weiß, woher das Paket abgerufen werden soll und wo es installiert werden soll.
Um eine eindeutige Sling-ID von Herausgebern in der Veröffentlichungsfarm sicherzustellen, gilt Folgendes für jede Veröffentlichungsinstanz:
Navigieren Sie zu https://Host:Anschluss/system/console/status-slingsettings.
Überprüfen Sie den Wert von Sling ID.
Wenn die Sling-ID einer Veröffentlichungsinstanz der Sling-ID einer anderen Veröffentlichungsinstanz entspricht, gehen Sie wie folgt vor:
Beenden Sie eine der Veröffentlichungsinstanzen mit einer übereinstimmenden Sling-ID.
Im crx-quickstart/launchpad/felix
Verzeichnis, suchen und löschen Sie die Datei mit dem Namen sling.id.file.
Beispielsweise auf einem Linux-System:
rm -i $(find . -type f -name sling.id.file)
Beispiel für ein Windows-System:
Verwenden Sie den Windows-Explorer und suchen Sie nach sling.id.file
Starten Sie die Veröffentlichungsinstanz. Beim Start wird ihm eine neue Sling-ID zugewiesen.
Überprüfen Sie, ob die Sling ID ist jetzt eindeutig.
Wiederholen Sie diese Schritte, bis alle Veröffentlichungsinstanzen über eine eindeutige Sling-ID verfügen.
Damit Updates ordnungsgemäß synchronisiert werden, müssen Sie den Vault Package Builder für die Benutzersynchronisierung ändern.
In /home/users
, */rep:cache
-Knoten erstellt. Es handelt sich um einen Cache, der verwendet wird, um festzustellen, dass dieser Cache direkt verwendet werden kann, wenn wir den Prinzipalnamen eines Knotens abfragen.
Die Benutzersynchronisierung kann angehalten werden, wenn rep :cache
-Knoten werden über Publisher hinweg synchronisiert.
Um sicherzustellen, dass Aktualisierungen in jeder AEM Veröffentlichungsinstanz ordnungsgemäß über Herausgeber hinweg synchronisiert werden:
Zugriff auf Web-Konsole
Suchen Sie die Apache Sling Distribution Packaging - Vault Package Builder Factory
Builder name: socialpubsync-vlt.
Wählen Sie das Bearbeitungssymbol aus.
Fügen Sie zwei Paketknotenfilter hinzu:
/home/users|-.*/.tokens
/home/users|-.*/rep:cache
Richtlinienverarbeitung
/home/users|+.*/rep:policy
Acl Handling: IGNORE
Wenn die Sling-Verteilung fehlschlägt, führen Sie die folgenden Debugging-Schritte aus:
Suchen Sie nach falsch hinzugefügte Konfigurationen
Stellen Sie sicher, dass nicht mehrere Konfigurationen hinzugefügt oder bearbeitet werden. Stattdessen sollten die vorhandenen Standardkonfigurationen bearbeitet werden.
Konfigurationen überprüfen
Stellen Sie sicher, dass alle Konfigurationen in Ihrer AEM-Autoreninstanz entsprechend eingestellt sind, wie in der Best Practices.
Überprüfen der autorisierten Benutzerberechtigungen
Wenn die Pakete nicht ordnungsgemäß installiert sind, überprüfen Sie, ob die autorisierter Benutzer , die in der ersten Veröffentlichungsinstanz erstellt wurden, über die richtigen ACLs verfügt.
Um dies zu validieren, wird anstelle der erstellter autorisierter Benutzer ändern Adobe Granite Distribution - Encrypted Password Transport Secret Provider Konfiguration in der -Autoreninstanz, um Administratoranmeldeinformationen zu verwenden. Versuchen Sie nun, die Pakete erneut zu installieren. Wenn die Benutzersynchronisierung problemlos mit Administratorberechtigungen funktioniert, bedeutet dies, dass der erstellte Veröffentlichungsbenutzer keine entsprechenden ACLs hatte.
Überprüfen der Konfiguration von "Diff Observer Factory"
Wenn nicht nur bestimmte Knoten in der Veröffentlichungsfarm synchronisiert werden - z. B. Gruppenmitglieder werden nicht synchronisiert -, stellen Sie sicher, dass die Adobe Granite Distribution - Diff Observer Factory -Konfiguration aktiviert ist und rep: members festgelegt in Namen der angezeigten Eigenschaften.
Überprüfen Sie die Konfiguration des AEM Communities User Sync Listener . Wenn die erstellten Benutzer synchronisiert werden, Abonnements und folgende Abonnements jedoch nicht funktionieren, stellen Sie sicher, dass die AEM Communities User Sync Listener-Konfiguration über Folgendes verfügt:
Überprüfen Sie die bei der Benutzererstellung in der Veröffentlichungsinstanz generierten Protokolle
Wenn die obigen Konfigurationen entsprechend eingestellt sind, die Benutzersynchronisierung jedoch nicht funktioniert, überprüfen Sie die bei der Benutzererstellung generierten Protokolle.
Überprüfen Sie wie folgt, ob die Reihenfolge der Protokolle identisch ist:
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
Debugging:
Deaktivieren Sie die Benutzersynchronisierung:
Melden Sie sich in AEM Autoreninstanz mit Administratorrechten an.
Zugriff auf Web-Konsole. Beispiel: https://localhost:4502/system/console/configMgr.
Suchen Sie die Konfiguration Apache Sling Distribution Agent - Sync Agents Factory.
Deaktivieren Sie die Aktiviert aktivieren.
Beim Deaktivieren der Benutzersynchronisierung in der Autoreninstanz werden die Endpunkte (Exporter und Importer) deaktiviert und die Autoreninstanz ist statisch. Die vlt -Pakete werden vom Autor nicht gepingt oder abgerufen.
Wenn jetzt ein Benutzer in der Veröffentlichungsinstanz erstellt wird, wird die vlt Package erstellt in /var/sling/distribution/packages/ socialpubsync - vlt /data Knoten. Und wenn diese Pakete vom Autor an einen anderen Dienst gesendet werden. Sie können diese Daten herunterladen und extrahieren, um zu überprüfen, welche Eigenschaften an andere Dienste gesendet werden.
Gehen Sie zu einem Herausgeber und erstellen Sie einen Benutzer im Herausgeber. Daher werden Ereignisse erstellt.
Überprüfen Sie die Reihenfolge der Protokolle, erstellt bei der Benutzererstellung.
Überprüfen Sie, ob vlt Package erstellt am /var/sling/distribution/packages/socialpubsync-vlt/data.
Aktivieren Sie jetzt die Benutzersynchronisierung in AEM Autoreninstanz.
Ändern Sie beim Herausgeber die Endpunkte "Exporter"oder "Importer"unter Apache Sling Distribution Agent - Sync Agents Factory.
Wir können Paketdaten herunterladen und extrahieren, um zu überprüfen, welche Eigenschaften an andere Herausgeber gesendet werden und welche Daten verloren gehen.