Användarsynkronisering för Communities communities-user-synchronization
Introduktion introduction
I AEM Communities, från publiceringsmiljön (beroende på konfigurerade behörigheter), webbplatsbesökare kan bli medlemmar, skapa användargrupper och redigera medlemsprofil.
Användardata är en term som används för att referera till användare, användarprofiler och användargrupper.
Medlemmar är en term som används för att referera till användare som är registrerade i publiceringsmiljön, till skillnad från användare som är registrerade i författarmiljön.
Mer information om användardata finns på Hantera användare och användargrupper.
Synkronisera användare i en publiceringsgrupp synchronizing-users-across-a-publish-farm
Användardata som skapats i publiceringsmiljön visas inte i författarmiljön.
De flesta användardata som skapas i redigeringsmiljön är avsedda att finnas kvar i redigeringsmiljön och är inte synkroniserade eller replikerade till publiceringsinstanser.
När topologi är en publicera servergruppmåste registrering och ändringar som görs i en publiceringsinstans synkroniseras med andra publiceringsinstanser. Medlemmar måste kunna logga in och se sina data på valfri publiceringsnod.
När användarsynkronisering är aktiverat synkroniseras användardata automatiskt mellan publiceringsinstanserna i servergruppen.
Instruktioner för användarsynkronisering user-sync-setup-instructions
Detaljerade stegvisa instruktioner om hur du aktiverar synkronisering i en publiceringsgrupp finns i
Användarsynkronisering i bakgrunden user-sync-in-the-background
-
VLT-paket: är en zip-fil med alla ändringar som görs i en utgivare, som måste distribueras mellan olika utgivare. Ändringar på en utgivare genererar händelser som plockas av händelseavlyssnaren för ändring. Detta skapar ett virtuellt paket som innehåller alla ändringar.
-
Distributionspaket: innehåller distributionsinformation för Sling. Det är information om var innehållet behöver distribueras och när distribuerades det senast.
Vad händer när … what-happens-when
Publicera webbplats från webbgruppskonsolen publish-site-from-communities-sites-console
Om en författare, när en communitywebbplats publiceras från Konsolen Webbplatser i Communities, är effekten replikera tillhörande sidor och Sling distribuerar dynamiskt skapade användargrupper, inklusive deras medlemskap.
Användaren har skapats eller redigerar profilen vid publicering user-is-created-or-edits-profile-on-publish
Användare och profiler som skapas i publiceringsmiljön (t.ex. genom självregistrering, social inloggning, LDAP-autentisering) visas inte i författarmiljön.
När topologin är en publicera servergrupp och användarsynkroniseringen har konfigurerats korrekt, användare och användarprofil synkroniseras över hela publiceringsgruppen med Sling-distribution.
Ny community-grupp skapas vid publicering new-community-group-is-created-on-publish
Även om det initieras från en publiceringsinstans skapas communitygrupper, vilket resulterar i nya webbplatssidor och en ny användargrupp, i själva verket på författarinstansen.
Som en del av processen replikeras de nya webbplatssidorna till alla publiceringsinstanser. Den dynamiskt skapade användargruppen och dess medlemskap distribueras till alla publiceringsinstanser.
Användare eller användargrupper skapas med säkerhetskonsolen users-or-user-groups-are-created-using-security-console
Användardata som skapats i publiceringsmiljön visas inte som avsett i redigeringsmiljön och vice versa.
När Användaradministration och -säkerhet konsolen används för att lägga till nya användare i publiceringsmiljön. Om det behövs synkroniseras de nya användarna och deras gruppmedlemskap med andra publiceringsinstanser. Användarsynkronisering synkroniserar även användargrupper som skapats via säkerhetskonsolen.
Användaren publicerar innehåll vid publicering user-posts-content-on-publish
För användargenererat innehåll (UGC) nås data som anges i en publiceringsinstans via konfigurerad SRP.
God praxis bestpractices
Som standard är användarsynkronisering inaktiverad. Att aktivera användarsynkronisering innebär att ändra befintlig OSGi-konfigurationer. Inga nya konfigurationer ska läggas till som ett resultat av aktivering av användarsynkronisering.
Användarsynkronisering förlitar sig på redigeringsmiljön för att hantera distributionen av användardata, även om användardata inte har skapats för författaren.
Förutsättningar
-
Om användare och användargrupper redan har skapats på en utgivare bör du synka manuellt användardata till alla utgivare innan de konfigurerar och aktiverar användarsynkronisering.
När användarsynkroniseringen är aktiverad synkroniseras endast nyskapade användare och grupper.
-
Kontrollera att den senaste koden har installerats:
Följande konfigurationer krävs för att aktivera användarsynkronisering på AEM Communities. Kontrollera att dessa konfigurationer är korrekta för att förhindra att distribution av säljinnehåll misslyckas.
Apache Sling Distribution Agent - Sync Agents Factory apache-sling-distribution-agent-sync-agents-factory
Den här konfigurationen hämtar innehållet som ska synkroniseras mellan utgivarna. Konfigurationen är på Author-instansen. Författaren måste hålla reda på alla utgivare som finns där och var all information ska synkroniseras.
Standardvärdena i konfigurationen är för en enda publiceringsinstans. När användarsynkronisering är användbart för att synkronisera flera publiceringsinstanser, till exempel för en publiceringsgrupp, måste ytterligare publiceringsinstanser läggas till i konfigurationen.
Hur synkroniseras innehållet?
Författarinstans skickar utgivarens slutpunkt. När en användare skapas eller uppdateras på specifika utgivare (n) hämtar författaren innehållet från deras exportslutpunkter och flyttar fram innehållet till andra utgivare (n-1, d.v.s. de utgivare som innehållet hämtas från).
Så här konfigurerar du synkroniseringsagenter för Apache Sling
AEM författarinstans:
-
Logga in med administratörsbehörighet.
-
Öppna Webbkonsol.
Till exempel: http://localhost:4502/system/console/configMgr.
-
Sök Apache Sling Distribution Agent - Sync Agents Factory.
-
Välj den befintliga konfiguration som ska öppnas för redigering (pennikon).
-
Verifiera namn:
socialpubsync
. -
Välj Enabled kryssrutan.
-
Välj Use Multiple queues.
-
Ange Exporter Endpoints och Importer Endpoints (du kan lägga till fler slutpunkter för exporterare och importerare).
Dessa slutpunkter definierar varifrån du vill hämta innehållet och var du vill överföra innehållet. Författaren hämtar innehållet från den angivna exporterarens slutpunkt och skickar innehållet till utgivaren (utom den utgivare som innehållet hämtades från).
-
Adobe Granite-distribution - krypterad lösenordsleverantör adobe-granite-distribution-encrypted-password-transport-secret-provider
Det gör att författaren kan identifiera den behöriga användaren som har behörighet att synkronisera användardata från författaren till publiceringen.
The auktoriserad användare har skapats på alla publiceringsinstanser hjälper utgivaren att ansluta till författaren och konfigurera Sling-distributionen på författaren. Den här behöriga användaren har alla nödvändiga ACL.
När data ska installeras på eller hämtas från utgivare ansluter författaren till utgivare med de autentiseringsuppgifter (användarnamn och lösenord) som anges i den här konfigurationen.
Koppla författare till utgivare med hjälp av auktoriserade användare
AEM författarinstans:
-
Logga in med administratörsbehörighet.
-
Öppna Webbkonsol.
Till exempel: http://localhost:4502/system/console/configMgr.
-
Sök Adobe Granite Distribution - Encrypted Password Transport Secret Provider.
-
Välj den befintliga konfiguration som ska öppnas för redigering (pennikon).
Verifiera egenskap
name:
socialpubsync
-publishUser
. -
Ange användarnamn och lösenord för auktoriserad användare.
Till exempel:
usersync
-admin
Apache Sling Distribution Agent - Queue Agents Factory apache-sling-distribution-agent-queue-agents-factory
Den här konfigurationen används för att konfigurera data som du vill synkronisera mellan utgivare. När data skapas/uppdateras i sökvägar som anges i Allowed Roots, aktiveras "var/community/distribution/diff" och den skapade replikatorn hämtar data från en utgivare och installerar dem på andra utgivare.
Så här konfigurerar du data (nodsökvägar) att synkronisera
AEM publiceringsinstans:
-
Logga in med administratörsbehörighet.
-
Öppna Webbkonsol.
Till exempel: http://localhost:4503/system/console/configMgr.
-
Sök Apache Sling Distribution Agent - Queue Agents Factory.
-
Välj den befintliga konfiguration som ska öppnas för redigering (pennikon).
Verifiera namn:
socialpubsync
-omvänd. -
Välj Enabled och spara.
-
Ange de nodsökvägar som ska replikeras i Allowed roots.
-
Upprepa för varje
publish
-instans.
Adobe Granite Distribution - Diff Observer Factory adobe-granite-distribution-diff-observer-factory
Den här konfigurationen synkroniserar gruppmedlemskap mellan utgivare.
Om medlemskapet för en grupp i en utgivare inte uppdateras på andra utgivare måste du se till att ref:medlemmar läggs till i namn på utsökta egenskaper.
Säkerställa medlemssynkronisering
I varje AEM publiceringsinstans:
-
Logga in med administratörsbehörighet.
-
Öppna Webbkonsol.
Till exempel: http://localhost:4503/system/console/configMgr.
-
Sök Adobe Granite Distribution - Diff Observer Factory.
-
Välj den befintliga konfiguration som ska öppnas för redigering (pennikon).
Verifiera agent name:
socialpubsync
-invertera&st;*. -
Välj Enabled kryssrutan.
-
Ange rep
:members
asdescription
for propertyName in looked properties names och Spara.
Apache Sling Distribution Trigger - Factory för schemalagda utlösare apache-sling-distribution-trigger-scheduled-triggers-factory
Med den här konfigurationen kan du konfigurera avsökningsintervallet (efter vilket utgivare pingas och ändringar hämtas av författaren) så att ändringarna synkroniseras mellan utgivare.
Författaren avfrågar utgivare var 30:e sekund (standard). Om det finns några paket i mappen /var/sling/distribution/packages/social pubsync - vlt /shared, hämtar det paketen och installerar dem på andra utgivare.
Ändra avsökningsintervallet
AEM författarinstans:
-
Logga in med administratörsbehörighet.
-
Öppna Webbkonsol, till exempel http://localhost:4502/system/console/configMgr
-
Sök Apache Sling Distribution Trigger - Scheduled Triggers Factory
- Välj den befintliga konfiguration som ska öppnas för redigering (pennikon)
- Verifiera
Name:
socialpubsync
-schedule-trigger - Ange intervallet i sekunder till önskat intervall och spara.
AEM Communities Sync Listener aem-communities-user-sync-listener
Om det finns problem med Sling-distributionen där det finns skillnader i prenumerationer och följningar kontrollerar du om följande egenskaper i AEM Communities User Sync Listener konfigurationer anges:
- NodeTypes
- IgnorableProperties
- IgnorableNodes
- DistributedFolders
Så här synkroniserar du prenumerationer: följningar och meddelanden
I varje AEM publiceringsinstans:
-
Logga in med administratörsbehörighet.
-
Öppna Webbkonsol. Till exempel: http://localhost:4503/system/console/configMgr.
-
Sök AEM Communities User Sync Listener.
-
Välj den befintliga konfiguration som ska öppnas för redigering (pennikon).
Verifiera namn:
socialpubsync
-schedule-trigger -
Ange följande
NodeTypes
:rep:User
nt
:ostruktureradnt
:resourcerep:ACL
sling:mapp
sling:OrderedFolder
De nodtyper som anges i den här egenskapen synkroniseras och meddelandeinformationen (bloggar och konfigurationer som följs) synkroniseras mellan olika utgivare.
-
Lägg till alla mappar att synkronisera i DistributedFolders. Till exempel,
segment/poäng
sociala medier/relationer
verksamhet
-
Ange
ignorablenodes
till:.tokens
system
rep
:cache
(eftersom vi använder kladdiga sessioner behöver vi inte synkronisera den här noden till olika utgivare)
Unikt försäljnings-ID unique-sling-id
AEM författarinstans använder Sling ID för att identifiera varifrån data kommer och till vilka utgivare de behöver (eller inte behöver) skicka tillbaka paketet till.
Se till att alla utgivare i en publiceringsgrupp har ett unikt Sling ID. Om Sling ID är samma för flera publiceringsinstanser i en publiceringsgrupp misslyckas användarsynkroniseringen. Eftersom författaren inte vet var paketet ska hämtas och var paketet ska installeras.
För att säkerställa ett unikt Sling ID för utgivaren i publiceringsgruppen
På varje publiceringsinstans:
-
Bläddra till https://värd:port/system/console/status-slingsettings.
-
Kontrollera värdet för Sling ID.
Om Sling ID för en publiceringsinstans matchar Sling ID för någon annan publiceringsinstans:
-
Stoppa en av publiceringsinstanserna som har ett matchande Sling-ID.
-
I
crx-quickstart/launchpad/felix
söker du efter och tar bort filen _sling.id.file.i ett Linux-system:
rm -i $(find . -type f -name sling.id.file)
i ett Windows-system:
use windows explorer and search for _sling.id.file_
-
Starta publiceringsinstansen. Vid start tilldelas den ett nytt Sling ID.
-
Verifiera att Sling ID är nu unikt.
Upprepa dessa steg tills alla publiceringsinstanser har ett unikt Sling ID.
Vault Package Builder Factory vault-package-builder-factory
För att uppdateringar ska kunna synkroniseras på rätt sätt måste du ändra valvpaketets byggare för användarsynkronisering.
I /home/users
, a /rep:cache
noden skapas. Det är ett cacheminne som används för att hitta att om vi frågar efter en nods huvudnamn kan det här cacheminnet användas direkt.
Användarsynkroniseringen kan avbrytas om rep:cache
noder synkroniseras mellan olika utgivare.
För att säkerställa att uppdateringarna synkroniseras korrekt mellan utgivare
I varje AEM publiceringsinstans:
-
Öppna Webbkonsol, till exempel http://localhost:4503/system/console/configMgr.
-
Leta reda på Apache Sling Distribution Packaging - Vault Package Builder Factory Builder name: socialpubsync-vlt.
-
Välj redigeringsikonen.
-
Lägg till två paketfilter:
/home/users|-.\*/.tokens
/home/users|**+**.\*/rep:cache
-
Hantering av profiler
-
Skriva över befintlig rep
:policy
noder med nya, lägg till ett tredje paketfilter:/home/users|**+**.\*/rep:policy
-
Om du vill förhindra att profiler distribueras anger du
Hantering av Acl: IGNORE
-
Felsöka Sling-distribution i AEM Communities troubleshoot-sling-distribution-in-aem-communities
Om Sling-distributionen misslyckas provar du följande felsökningssteg:
-
Sök efter felaktigt tillagda konfigurationer. Se till att flera konfigurationer inte läggs till eller redigeras, i stället bör de befintliga standardkonfigurationerna redigeras.
-
Kontrollera konfigurationer. Se till att alla konfigurationer är korrekt inställda i din AEM Author-instans, vilket anges i Bästa praxis.
-
Kontrollera behörigheter. Om paketen inte är korrekt installerade kontrollerar du att auktoriserad användare som skapades i den första Publish-instansen har rätt åtkomstkontrollistor.
Om du vill validera det här i stället för skapad auktoriserad användare ändra Adobe Granite-distribution - krypterad lösenordsleverantör konfiguration på Author-instans för att använda administratörsanvändaruppgifter. Försök sedan installera paketen igen. Om användarsynkroniseringen fungerar bra med administratörsautentiseringsuppgifter innebär det att den skapade publiceringsanvändaren inte har rätt åtkomstkontrollistor.
-
Kontrollera konfigurationen för Diff Observer Factory. Om endast specifika noder inte synkroniseras över hela publiceringsgruppen, till exempel om gruppmedlemmarna inte synkroniseras, kontrollerar du att Adobe Granite Distribution - Diff Observer Factory konfiguration är aktiverad och rep:medlemmar anges i namn på utsökta egenskaper.
-
Kontrollera konfigurationen för AEM Communities användarsynkroniseringsavlyssnare. Om de användare som skapas synkroniseras men prenumerationer och följande inte fungerar kontrollerar du att konfigurationen för AEM Communities användarsynkroniseringsavlyssnaren har:
- Nodtyper - inställda på rep:User, nt:undefined, nt:resurs, rep:ACL, sling:mapp och sling:OrderedFolder
- Ignorerbara noder - inställd på .tokens, system och rep:cache
- Distribuerade mappar - ange de mappar som du vill distribuera
-
Kontrollera loggar som genereras när användare skapas vid publiceringsinstansen. Om ovanstående konfigurationer är korrekt inställda men användarsynkroniseringen inte fungerar kontrollerar du loggarna som genereras när användaren skapas.
Kontrollera om ordningen på loggarna är densamma enligt följande:
code language-shell 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
Så här felsöker du:
-
Inaktivera användarsynkronisering:
-
Logga in AEM författarinstansen med administratörsbehörighet.
-
Öppna Webbkonsol. Till exempel: http://localhost:4502/system/console/configMgr.
-
Leta reda på konfigurationen Apache Sling Distribution Agent - Sync Agents Factory.
-
Avmarkera Enabled kryssrutan.
När användarsynkroniseringen inaktiveras på författarinstansen inaktiveras slutpunkterna (exporteraren och importören) och författarinstansen är statisk. The vlt paket varken pingas eller hämtas av författaren.
Om en användare skapas på en publiceringsinstans vlt paketet skapas i /var/sling/distribution/packages/social pubsync - vlt /data nod. Och om de här paketen skickas av författaren till en annan tjänst. Du kan hämta och extrahera dessa data för att kontrollera vilka egenskaper som skickas till andra tjänster.
-
-
Gå till en utgivare och skapa en användare på utgivaren. Därför skapas händelser.
-
Kontrollera loggordning, som skapades när användaren skapades.
-
Kontrollera om en vlt paketet skapas på
/var/sling/distribution/packages/socialpubsync-vlt/data
. -
Aktivera nu användarsynkronisering för AEM författarinstans.
-
I utgivaren ändrar du export- eller importslutpunkterna i Apache Sling Distribution Agent - Sync Agents Factory.
Vi kan hämta och extrahera paketdata för att kontrollera vilka egenskaper som skickas till andra utgivare och vilka data som går förlorade.
-