In AEM Communities können Site-Besucher aus der Umgebung "Veröffentlichen"(je nach konfigurierter Berechtigung) Mitglieder werden, Benutzergruppen erstellen und ihr Profil bearbeiten.
Benutzerdaten sind Begriffe, mit denen auf Benutzer, Benutzerprofile und Benutzergruppen ** verwiesen wird.
**Membersis ist ein Begriff, der sich auf in der Umgebung "Veröffentlichen"registrierte ** Benutzer bezieht, im Gegensatz zu in der Umgebung "Autor"registrierten Benutzern.
Weitere Informationen zu Benutzerdaten finden Sie unter Verwalten von Benutzern und Benutzergruppen.
Standardmäßig werden in der Umgebung "Veröffentlichen"erstellte Benutzerdaten nicht in der Umgebung "Autor"angezeigt.
Die meisten in der Authoring-Umgebung erstellten Benutzerdaten bleiben in der Autoreninstanz und werden nicht synchronisiert oder auf Veröffentlichungsinstanzen repliziert.
Wenn die Topologie eine Veröffentlichungsfarm ist, müssen die Registrierung und die an einer Veröffentlichungsinstanz vorgenommenen Änderungen mit anderen Instanzen im Veröffentlichungsmodus synchronisiert werden. Mitglieder müssen sich anmelden und ihre Daten auf jedem Veröffentlichungsknoten anzeigen können.
Wenn die Benutzersynchronisierung aktiviert ist, werden die Benutzerdaten automatisch über die Instanzen im Veröffentlichungsmodus in der Farm hinweg synchronisiert.
Detaillierte Anweisungen zum Aktivieren der Synchronisierung über eine Veröffentlichungsfarm hinweg finden Sie unter
VLT-Paket: ist eine ZIP-Datei mit allen Änderungen, die an einem Herausgeber vorgenommen wurden und über Herausgeber verteilt werden müssen. Änderungen an einem Herausgeber generieren Ereignis, die vom Ereignis-Listener change ausgewählt werden. Dadurch wird ein vlt-Paket erstellt, das alle Änderungen enthält.
Verteilungspaket: enthält Verteilungsinformationen für Sling. Das sind Informationen darüber, wo der Inhalt verteilt werden muss und wann er zuletzt verteilt wurde.
Wenn beim Autor eine Community-Site über die Communities Sites Console veröffentlicht wird, hat dies zur Folge, dass die verknüpften Seiten repliziert und Sling die dynamisch erstellten Community-Benutzergruppen einschließlich ihrer Mitgliedschaft verteilt.
Standardmäßig werden in der Umgebung "Veröffentlichen"erstellte Benutzer und Profil (z. B. durch Selbstregistrierung, Social-Login oder LDAP-Authentifizierung) nicht in der Umgebung "Autor"angezeigt.
Wenn die Topologie eine Veröffentlichungsfarm ist und die Benutzersynchronisierung korrekt konfiguriert wurde, werden das user- und user-Profil mithilfe der Sling-Distribution über die Veröffentlichungsfarm hinweg synchronisiert.
Obwohl sie von einer Instanz im Veröffentlichungsmodus initiiert wird, erfolgt die Erstellung einer Community-Gruppe, die zu neuen Site-Seiten und einer neuen Benutzergruppe führt, tatsächlich in der Autoreninstanz.
Während des Prozesses werden die neuen Siteseiten in alle Veröffentlichungsinstanzen repliziert. Die dynamisch erstellte Community-Benutzergruppe und ihre Mitgliedschaft 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) wird auf die in einer Veröffentlichungsinstanz eingegebenen Daten über das konfigurierte SRP zugegriffen.
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 auf AEM Communities zu aktivieren. Stellen Sie sicher, dass diese Konfigurationen korrekt sind, damit die Verteilung von Sling-Inhalten nicht fehlschlägt.
Diese Konfiguration ruft die Inhalte ab, die über die Herausgeber hinweg synchronisiert werden sollen. Die Konfiguration befindet sich in der Autoreninstanz. Der Autor muss alle Herausgeber, die vorhanden sind, verfolgen und alle Informationen synchronisieren.
Die Standardwerte in der Konfiguration beziehen sich auf eine einzelne Instanz im Veröffentlichungsmodus. Da die Benutzersynchronisierung zum Synchronisieren mehrerer Instanzen im Veröffentlichungsmodus nützlich ist, z. B. für eine Veröffentlichungsfarm, müssen der Konfiguration zusätzliche Instanzen im Veröffentlichungsmodus hinzugefügt werden.
Wie werden die Inhalte synchronisiert?
Die Autoreninstanz fügt den Endpunkt des Exporteurs von Herausgebern ein. Wenn ein Benutzer auf bestimmten Herausgebern (n) erstellt oder aktualisiert wird, ruft der Autor den Inhalt von seinen Exporteuren-Endpunkten ab und schiebt den Inhalt in andere Herausgeber (n-1, d. h. nicht in die Herausgeber, von denen der Inhalt abgerufen wird).
AEM Autoreninstanz:
Melden Sie sich mit Administratorrechten an.
Rufen Sie die Webkonsole auf.
Suchen Sie nach Apache Sling Distribution Agent - Sync Agents Factory.
Wählen Sie die vorhandene Konfiguration aus, die zur Bearbeitung geöffnet werden soll (Stiftsymbol).
Überprüfungsname: socialpubsync
.
Aktivieren Sie das Kontrollkästchen Aktiviert.
Wählen Sie Mehrere Warteschlangen verwenden.
Geben Sie Exporter-Endpunkte und Importer-Endpunkte an (Sie können weitere Exporteur- und Importer-Endpunkte hinzufügen).
Diese Endpunkte definieren, woher der Inhalt abgerufen werden soll und wohin der Inhalt verschoben werden soll. Der Autor ruft den Inhalt vom angegebenen Exporteur-Endpunkt ab und gibt den Inhalt an die Herausgeber weiter (mit Ausnahme des Herausgebers, 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.
Der auf allen Instanzen im Veröffentlichungsmodus erstellte autorisierte Benutzer hilft Herausgebern, eine Verbindung mit dem Autor herzustellen und die Sling-Distribution für den Autor zu konfigurieren. Dieser autorisierte Benutzer hat alle erforderlichen ACLs.
Wenn Daten auf Herausgebern installiert oder von diesen abgerufen werden sollen, stellt der Autor eine Verbindung mit den Herausgebern her, wobei die in dieser Konfiguration festgelegten Anmeldeinformationen (Benutzername und Kennwort) verwendet werden.
AEM Autoreninstanz:
Melden Sie sich mit Administratorrechten an.
Rufen Sie die Webkonsole auf.
Suchen Sie nach Adobe Granite Distribution - Encrypted Password Transport Secret Provider.
Wählen Sie die vorhandene Konfiguration aus, die zur Bearbeitung geöffnet werden soll (Stiftsymbol).
Überprüfungseigenschaft name:
socialpubsync
- publishUser
.
Legen Sie Benutzername und Kennwort auf autorisierter Benutzer fest.
Beispiel: usersync
-admin
Diese Konfiguration wird verwendet, um die Daten zu konfigurieren, die Sie über Herausgeber hinweg synchronisieren möchten. Wenn Daten in Pfaden erstellt/aktualisiert werden, die unter Zulässige Stammordner angegeben sind, wird "var/community/distribution/diff"aktiviert und der erstellte Replikator ruft die Daten von einem Herausgeber ab und installiert sie auf anderen Herausgebern.
In AEM Veröffentlichungsinstanz:
Melden Sie sich mit Administratorrechten an.
Rufen Sie die Webkonsole auf.
Suchen Sie nach Apache Sling Distribution Agent - Queue Agents Factory.
Wählen Sie die vorhandene Konfiguration aus, die zur Bearbeitung geöffnet werden soll (Stiftsymbol).
Überprüfungsname: socialpubsync
-reverse.
Aktivieren Sie das Kontrollkästchen Aktiviert und speichern Sie.
Geben Sie die Knotenpfade an, die in Zulässige Wurzeln repliziert werden sollen.
Wiederholen Sie diese Schritte für jede publish
-Instanz.
Bei dieser Konfiguration wird die Gruppenmitgliedschaft über Herausgeber hinweg synchronisiert.
Wenn die Mitgliedschaft einer Gruppe in einem Herausgeber nicht auf andere Herausgeber aktualisiert wird, stellen Sie sicher, dass ref:members zu ausgesuchten Eigenschaftennamen hinzugefügt wird.
Auf jeder AEM Veröffentlichungsinstanz:
Melden Sie sich mit Administratorrechten an.
Rufen Sie die Webkonsole auf.
Suchen Sie nach Granite-Verteilung der Adobe - Diff Observer Factory.
Wählen Sie die vorhandene Konfiguration aus, die zur Bearbeitung geöffnet werden soll (Stiftsymbol).
Agentenname überprüfen: socialpubsync
-reverse**.
Aktivieren Sie das Kontrollkästchen Aktiviert.
Geben Sie rep:members
als description
für propertyName in den Namen der gesuchten Eigenschaften an und speichern Sie.
Mit dieser Konfiguration können Sie das Abfrageintervall konfigurieren (nach dem Herausgeber gepingt und Änderungen vom Autor gezogen werden), um die Änderungen zwischen Herausgebern zu synchronisieren.
Der Autor fragt Herausgeber alle 30 Sekunden ab (Standard). Wenn Pakete im Ordner /var/sling/distribution/packages/ socialpubsync - vlt /shared vorhanden sind, werden diese Pakete abgerufen und auf anderen Herausgebern installiert.
AEM Autoreninstanz:
Melden Sie sich mit Administratorrechten an.
Rufen Sie die Webkonsole auf, z. B. http://localhost:4502/system/console/configMgr
Suchen Sie nach Apache Sling Distribution Trigger - Scheduled Triggers Factory
Name:
socialpubsync
-geplante AuslöserBei Problemen mit der Sling-Distribution, bei denen es zu einer Diskrepanz bei Abonnements und folgenden kommt, prüfen Sie, ob die folgenden Eigenschaften in den Konfigurationen für den AEM Communities-Benutzersynchronisierungs-Listener festgelegt sind:
Auf jeder AEM Veröffentlichungsinstanz:
Melden Sie sich mit Administratorrechten an.
Rufen Sie die Webkonsole auf. Beispiel: http://localhost:4503/system/console/configMgr.
Suchen Sie nach AEM Communities User Sync Listener.
Wählen Sie die vorhandene Konfiguration aus, die zur Bearbeitung geöffnet werden soll (Stiftsymbol).
Überprüfungsname: socialpubsync
-schedule-trigger
Legen Sie folgende NodeTypes
fest:
rep:User
nt
:unstructured
nt
:resource
rep:ACL
sling:Folder
sling:OrderedFolder
Die in dieser Eigenschaft angegebenen Node-Typen werden synchronisiert und die Benachrichtigungsinformationen (Blogs und Konfigurationen folgen) werden zwischen verschiedenen Herausgebern synchronisiert.
hinzufügen alle zu synchronisierenden Ordner in DistributedFolders. Beispiel:
segments/scoring
social/relationships
activities
Setzen Sie ignorablenodes
auf:
.tokens
system
rep :cache
(da wir persistente Sitzungen verwenden, müssen wir diesen Knoten nicht mit anderen Herausgebern synchronisieren)
AEM Autoreninstanz verwendet Sling-ID, um herauszufinden, woher die Daten kommen und an welche Herausgeber das Paket zurückgesendet werden muss (oder muss).
Vergewissern Sie sich, dass alle Herausgeber in einer Veröffentlichungsfarm über eine eindeutige Sling-ID verfügen. Wenn die Sling-ID für mehrere Instanzen im Veröffentlichungsmodus identisch ist, schlägt die Benutzersynchronisierung fehl. Da der Autor nicht wissen, wo das Paket abgeholt und wo das Paket installiert werden soll.
Bei jeder Veröffentlichungsinstanz:
Gehen Sie zu https://host:port/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 Instanzen im Veröffentlichungsmodus, die über eine entsprechende Sling-ID verfügen.
Suchen und löschen Sie im Ordner crx-quickstart/launchpad/felix
die Datei _sling.id.file.
zum Beispiel auf einem Linux-System:
rm -i $(find . -type f -name sling.id.file)
z. B. auf einem Windows-System:
use windows explorer and search for _sling.id.file_
Starten Sie die Veröffentlichungsinstanz. Beim Start wird ihm eine neue Sling-ID zugewiesen.
Überprüfen Sie, ob die Sling-ID jetzt eindeutig ist.
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
wird ein /rep:cache
-Knoten erstellt. Es ist ein Cache, der verwendet wird, um zu finden, dass, wenn wir Abfrage auf den Hauptnamen eines Knotens, dann dieser Cache direkt verwendet werden kann.
Die Benutzersynchronisierung kann beendet werden, wenn rep:cache
Knoten über Herausgeber hinweg synchronisiert werden.
Auf jeder AEM Veröffentlichungsinstanz:
Rufen Sie die Webkonsole auf, z. B. http://localhost:4503/system/console/configMgr.
Suchen Sie den Namen Apache Sling Distribution Packaging - Vault Package Builder Factory Builder: socialpubsync-vlt.
Wählen Sie das Bearbeitungssymbol aus.
hinzufügen zwei Filter des Pakets:
/home/users|-.\*/.tokens
/home/users|**+**.\*/rep:cache
Richtlinienverwaltung
Um vorhandene rep :policy
-Knoten mit neuen zu überschreiben, fügen Sie einen dritten Paketfilter hinzu:
/home/users|**+**.\*/rep:policy
Um zu verhindern, dass Richtlinien verteilt werden, setzen Sie
Aktive Handhabung: IGNORE
Wenn die Sling-Verteilung fehlschlägt, führen Sie die folgenden Debugging-Schritte aus:
Überprüfen Sie, ob falsche Konfigurationen hinzugefügt wurden. Vergewissern Sie sich, 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 Best Practices beschrieben.
Überprüfen Sie die Berechtigungen autorisierter Benutzer. Wenn die Pakete nicht ordnungsgemäß installiert sind, überprüfen Sie, ob der autorisierte Benutzer, der in der ersten Instanz im Veröffentlichungsmodus erstellt wurde, die richtigen ACLs aufweist.
Um dies zu validieren, ändern Sie anstelle des erstellten autorisierten Benutzers die Granite Distribution - Encrypted Password Transport Secret Provider-Konfiguration auf der Autoreninstanz, um Administratorbenutzer-Anmeldedaten zu verwenden. Versuchen Sie nun, die Pakete erneut zu installieren. Wenn die Benutzersynchronisierung mit Administratorberechtigungen ordnungsgemäß funktioniert, bedeutet dies, dass der erstellte Veröffentlichungsbenutzer nicht über entsprechende Zugriffssteuerungslisten verfügte.
Überprüfen Sie die Konfiguration des Werks des Beobachters. Wenn nur bestimmte Knoten nicht über die Veröffentlichungsfarm synchronisiert werden - z. B. sind Gruppenmitglieder nicht synchronisiert - stellen Sie sicher, dass die Konfiguration Adobe Granite Distribution - Diff Observer Factory aktiviert ist und rep:members unter Aussehbare Eigenschaftennamen eingestellt ist.
Überprüfen Sie die AEM Communities User Sync Listener-Konfiguration. Wenn die erstellten Benutzer synchronisiert werden, Abonnement und folgende Elemente jedoch nicht funktionieren, stellen Sie sicher, dass die AEM Communities User Sync Listener-Konfiguration über Folgendes verfügt:
Überprüfen Sie die Protokolle, die bei der Benutzererstellung in der Veröffentlichungsinstanz generiert werden. Wenn die oben genannten Konfigurationen angemessen eingestellt sind und die Benutzersynchronisierung nicht funktioniert, überprüfen Sie die Protokolle, die bei der Benutzererstellung generiert wurden.
Überprüfen Sie, ob die Reihenfolge der Protokolle wie folgt 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 bei AEM Autoreninstanz mit Administratorrechten an.
Rufen Sie die Webkonsole auf. Beispiel: http://localhost:4502/system/console/configMgr.
Suchen Sie die Konfiguration Apache Sling Distribution Agent - Sync Agents Factory.
Deaktivieren Sie das Kontrollkästchen Aktiviert.
Beim Deaktivieren der Benutzersynchronisierung in der Autoreninstanz sind (Exporteur und Importeur) Endpunkte deaktiviert und die Autoreninstanz ist statisch. Die vlt-Pakete werden nicht vom Autor gepingelt oder abgerufen.
Wenn nun ein Benutzer in der Veröffentlichungsinstanz erstellt wird, wird das Paket vlt unter dem Knoten /var/sling/distribution/packages/ socialpubsync - vlt /data erstellt. 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.
Wechseln Sie zu einem Herausgeber und erstellen Sie einen Benutzer im Herausgeber. Daher werden Ereignis erstellt.
Überprüfen Sie die Reihenfolge der Protokolle, die bei der Benutzererstellung erstellt wurden.
Überprüfen Sie, ob ein vlt-Paket auf /var/sling/distribution/packages/socialpubsync-vlt/data
erstellt wurde.
Aktivieren Sie jetzt die Benutzersynchronisierung in AEM Autoreninstanz.
Ändern Sie beim Herausgeber die Endpunkte für Exporteur oder Importeur in 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.