När distributionen är en publicera servergrupp, måste medlemmarna kunna logga in och se sina data på valfri publiceringsnod.
Användare och användargrupper (användardata) som har skapats i publiceringsmiljön behövs inte i författarmiljön.
De flesta användardata som skapas i författarmiljön är avsedda att finnas kvar i författarmiljön och inte kopieras till publiceringsinstanser.
Registrering och ändringar som görs på en publiceringsinstans måste synkroniseras med andra publiceringsinstanser för att de ska ha tillgång till samma användardata.
Från och med AEM 6.1 synkroniseras användardata automatiskt mellan publiceringsinstanserna i servergruppen när användarsynkronisering är aktiverad och skapas inte på författaren.
Användardata, tillsammans med deras ACL:er, lagras i Oak Core, lagret under Oak JCR och nås via Oak API. Med ovanliga uppdateringar är det rimligt att användardata synkroniseras med andra publiceringsinstanser med Distribution av säljinnehåll (Sling distribution).
Fördelarna med användarsynkronisering med Sling-distribution jämfört med traditionell replikering är:
användare, användarprofiler och användargrupper som skapats vid publicering har inte skapats för författare
Sling distribution anger egenskaper i jcr-händelser, vilket gör det möjligt att agera i händelseavlyssnare på publiceringssidan utan att bekymra sig om oändliga replikeringsslingor
Vid distribution skickas endast användardata till publiceringsinstanser som inte har ursprungsstatus, vilket eliminerar onödig trafik
ACL:er som angetts i användarnoden ingår i synkroniseringen
Om sessioner krävs rekommenderar vi att du antingen använder en enkel inloggning eller en klisteristisk session, och att kunderna loggar in om de växlar till en annan Publish-instans.
Synkronisering av administratörer grupp stöds inte, även om användarsynkronisering är aktiverat. I stället loggas ett fel att importera diff-filen i felloggen.
Det innebär att när distributionen är en publiceringsgrupp, om en användare läggs till eller tas bort från administratörer måste ändringen göras manuellt för varje Publish-instans.
Som standard är användarsynkronisering disabled
.
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 på författaren. Mycket, men inte allt, av konfigurationen sker i författarmiljön och varje steg identifierar tydligt om den ska utföras på författare eller publicera.
Nedan följer de steg som krävs för att aktivera användarsynkronisering, följt av en Felsökning avsnitt:
När användarsynkroniseringen är aktiverad synkroniseras endast nyskapade användare och grupper.
Aktivera användarsynkronisering
on author
logga in med administratörsbehörighet
åtkomst till Webbkonsol
leta Apache Sling Distribution Agent - Sync Agents Factory
markera den befintliga konfigurationen så att du kan öppna den för redigering (pennikonen) Bekräfta name
: socialpubsync
välj Enabled
kryssruta
välj Save
Konfigurera behörigheter
Den auktoriserade användaren används i steg 3 för att konfigurera Sling-distributionen på författaren.
på varje publiceringsinstans
logga in med administratörsbehörighet
åtkomst till Säkerhetskonsol
skapa en användare
usersync-admin
lägg till den här användaren i administrators
användargrupp
lägg till ACL för den här användaren i /home
Allow jcr:all
med begränsning rep:glob=*/activities/*
En ny användare måste skapas.
admin
.communities-user-admin user.
access CRXDE Lite
välj /home
nod
i den högra rutan väljer du Access Control
tab
om du vill lägga till en ACL-post väljer du +
knapp
Allow
jcr:all
*/activities/*
välj Spara alla
Se även
Konfigurera behörigheter
En gång en auktoriserad användare som är medlem i administrators
användargrupp-skapas för alla publiceringsinstanser. Den auktoriserade användaren måste identifieras på författaren som behörig att synkronisera användardata från författare till publicering.
på författare
logga in med administratörsbehörighet
åtkomst till Webbkonsol
leta com.adobe.granite.distribution.core.impl.CryptoDistributionTransportSecretProvider.name
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen) Bekräfta property name
: socialpubsync-publishUser
ange användarnamn och lösenord för auktoriserad användare skapades vid publicering i steg 2
usersync-admin
Aktivera användarsynkronisering
på varje publiceringsinstans:
logga in med administratörsbehörighet
åtkomst till Webbkonsol
leta Apache Sling Distribution Agent - Queue Agents Factory
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen) Bekräfta Name
: socialpubsync-reverse
välj Enabled
kryssruta
välj Save
upprepa för varje publiceringsinstans
Aktivera gruppsynkronisering
på varje publiceringsinstans:
logga in med administratörsbehörighet
åtkomst till Webbkonsol
leta Adobe Social Sync - Diff Observer Factory
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
Verifiera agent name
: socialpubsync-reverse
välj Enabled
kryssruta
välj Save
(Valfritt) Ändra avsökningsintervall
Som standard söker författaren efter ändringar var 30:e sekund. Så här ändrar du intervallet:
på författare
logga in med administratörsbehörighet
åtkomst till Webbkonsol
leta Apache Sling Distribution Trigger - Scheduled Triggers Factory
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
Name
: socialpubsync-scheduled-trigger
ange Interval in Seconds
till önskat intervall
välj Save
Standardkonfigurationen är för en enda publiceringsinstans. Eftersom orsaken till aktiveringen av användarsynkronisering är att synkronisera flera publiceringsinstanser, t.ex. för en publiceringsgrupp, måste de ytterligare publiceringsinstanserna läggas till i synkroniseringsagentkatalogen.
Lägg till publiceringsinstanser:
på författare
logga in med administratörsbehörighet
åtkomst till Webbkonsol
leta Apache Sling Distribution Agent - Sync Agents Factory
Name
: socialpubsync
Exporterarslutpunkter
Det ska finnas en exportörslutpunkt för varje Publish-instans. Om det till exempel finns två publiceringsinstanser, localhost:4503 och 4504, ska det finnas två poster:
https://localhost:4503/libs/sling/distribution/services/exporters/socialpubsync-reverse
https://localhost:4504/libs/sling/distribution/services/exporters/socialpubsync-reverse
Importerarslutpunkter
Det ska finnas en importslutpunkt för varje Publish-instans. Om det till exempel finns två publiceringsinstanser, localhost:4503 och 4504, ska det finnas två poster:
https://localhost:4503/libs/sling/distribution/services/importers/socialpubsync
https://localhost:4504/libs/sling/distribution/services/importers/socialpubsync
välj Save
(Valfritt) Synkronisera ytterligare JCR-noder
Om det finns anpassade data att synkronisera över flera publiceringsinstanser:
på varje publiceringsinstans:
logga in med administratörsbehörighet
åtkomst till Webbkonsol
https://localhost:4503/system/console/configMgr
leta AEM Communities User Sync Listener
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen) Bekräfta Name
: socialpubsync-scheduled-trigger
Nodtyper
Det här är listan över nodtyper som är synkroniserade. Alla nodtyper utom sling:Folder måste listas här (sling:folder hanteras separat).
Standardlista över nodtyper som ska synkroniseras:
Ignorerbara egenskaper
Det här är listan med egenskaper som ignoreras om några ändringar identifieras. Ändringar av de här egenskaperna kan synkroniseras som en sidoeffekt av andra ändringar (eftersom synkronisering alltid finns på nodnivå), men ändringar av de här egenskaperna utlöser inte synkronisering i sig.
Standardegenskap som ska ignoreras:
Ignorerbara noder
Undersökvägar som ignoreras under synkronisering. Inget under dessa delsökvägar synkroniseras när som helst.
Standardnoder som ska ignoreras:
Distribuerade mappar
De flesta sling:Mappar ignoreras eftersom synkronisering inte behövs. De få undantagen listas här.
Standardmappar att synkronisera
Om Sling ID matchar mellan två eller flera publiceringsinstanser misslyckas synkroniseringen av användargruppen.
Om Sling ID är samma för flera publiceringsinstanser i en publiceringsgrupp synkroniseras inte användargrupperna.
Så här validerar du att alla värden för Sling ID skiljer sig åt för varje Publish-instans:
http://<host>:<port>/system/console/status-slingsettings
Om Sling ID för en Publish-instans matchar Sling ID för någon annan Publish-instans:
stoppa en av publiceringsinstanserna som har ett matchande Sling ID
i katalogen crx-quickstart/launchpad/felix
söka efter och ta bort filen med namnet 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 Publish-instansen
validera att Sling-ID är nu unikt
Upprepa dessa steg tills alla publiceringsinstanser har ett unikt Sling ID.
För att uppdateringar ska kunna synkroniseras på rätt sätt måste du ändra valvpaketets byggare för användarsynkronisering:
på varje AEM Publish-instans
åtkomst till Webbkonsol
leta upp Apache Sling Distribution Packaging - Vault Package Builder Factory
Builder name: socialpubsync-vlt
markera redigeringsikonen
lägg till två Package Node Filters
:
/home/users|-.*/.tokens
/home/users|-.*/rep:cache
principhantering:
om du vill skriva över befintliga rep:principnoder med nya lägger du till ett tredje paketfilter:
/home/users|+.*/rep:policy
för att förhindra att profiler distribueras, ange
Acl Handling:
IGNORE
Användare och profiler som skapats i publiceringsmiljön (självregistrering) visas inte i författarmiljön.
När topologin är publicera servergrupp och användarsynkroniseringen har konfigurerats korrekt, användare och användarprofil synkroniseras över hela publiceringsgruppen med Sling-distribution.
Användardata som skapas i publiceringsmiljön visas inte som avsett i redigeringsmiljön och omvänt.
När Användaradministration och -säkerhet konsolen används för att lägga till nya användare i publiceringsmiljön, användarsynkronisering synkroniserar nya användare och deras gruppmedlemskap med andra publiceringsinstanser om det behövs. Användarsynkronisering synkroniserar även användargrupper som skapats via säkerhetskonsolen.
Om du vill göra användarsynkroniseringen offline går du till ta bort en Publish-instans eller synkronisera data manuelltmåste distributionskön vara tom och tyst.
Så här kontrollerar du status för distributionskön:
på författare:
använda CRXDE Lite
sök efter poster i /var/sling/distribution/packages
distrpackage_*
använda Pakethanteraren
söka efter väntande paket (ännu inte installerat)
socialpubsync-vlt*
communities-user-admin
Inaktivera användarsynkronisering när distributionskön är tom:
på författare
Enabled
kryssruta för Apache Sling Distribution Agent - Sync Agents FactorySå här återaktiverar du användarsynkronisering när åtgärder har slutförts:
på författare
Enabled
kryssruta för Apache Sling Distribution Agent - Sync Agents FactoryDiagnostik för användarsynkronisering är ett verktyg som kontrollerar konfigurationen och försöker identifiera eventuella problem.
Navigera från huvudkonsolen via författaren Verktyg, Åtgärder, Diagnostik, Diagnostik för användarsynkronisering.
Resultatet visas bara om du anger konsolen för användarsynkronisering.
Detta visas när användarsynkronisering inte har aktiverats:
När diagnostiken körs från redigeringsmiljön innehåller resultatet för godkänt/misslyckat en [INFORMATION] -sektion som visar listan med konfigurerade publiceringsinstanser för bekräftelse.
I listan finns en URL för varje Publish-instans som kör diagnostiken för den instansen. URL-param syncUser
läggs till i diagnostikwebbadressen med dess värde inställt på auktoriserad synkroniseringsanvändare som Steg 2.
Anteckning: innan webbadressen startas auktoriserad synkroniseringsanvändare måste redan vara inloggad på den publiceringsinstansen.
När användarsynkroniseringen inte fungerar är det vanligaste problemet att ytterligare konfigurationer tillagd. I stället borde den befintliga *standardkonfigurationen ha redigerad.
Här följer några vyer över hur den redigerade bilden visas standardkonfigurationer i webbkonsolen. Om fler än en instans visas bör den tillagda konfigurationen tas bort.
Om följande syns i loggen:
org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.
java.lang.IllegalStateException: This tree does not exist
Verifiera sedan att avsnittet 2. Skapa auktoriserad användare följdes på rätt sätt.
I det här avsnittet beskrivs hur du skapar en behörig användare, som finns på alla publiceringsinstanser, och identifierar dem i OSGi-konfigurationen för den hemliga providern. Som standard är användaren admin
.
Den behöriga användaren bör göras medlem i administrators
användargruppen och behörigheterna för den gruppen ska inte ändras.
Den auktoriserade användaren bör uttryckligen ha följande behörigheter och begränsningar för alla publiceringsinstanser:
bana | jcr:all | rep:glob |
---|---|---|
/home | X | */aktiviteter/* |
/home/users | X | */aktiviteter/* |
/home/groups | X | */aktiviteter/* |
Som medlem i administrators
gruppen bör den auktoriserade användaren ha följande behörigheter för alla publiceringsinstanser:
bana | jcr:all | jcr:read | rep:write |
---|---|---|---|
/etc/packages/sling/distribution | X | ||
/libs/sling/distribution | X | ||
/var | X | ||
/var/eventing | X | X | |
/var/sling/distribution | X | X |
Om Sling ID matchar mellan två eller flera publiceringsinstanser misslyckas synkroniseringen av användargruppen.
Se avsnitt 9. Unikt försäljnings-ID
vid publiceringsinstanser där användare och användargrupper finns:
skapa ett paket av /home
när du redigerar paketet
/home
Overwrite
på andra publiceringsinstanser:
Om du vill konfigurera eller aktivera användarsynkronisering går du till steg 1: Apache Sling Distribution Agent - Sync Agents Factory
När en publiceringsinstans blir otillgänglig bör den inte tas bort om den kommer tillbaka online i framtiden. Ändringarna köas för Publish-instansen och när den är online igen bearbetas ändringarna.
Om publiceringsinstansen aldrig återgår till onlineläge, om den är permanent offline, måste den tas bort eftersom köbygget resulterar i märkbart diskutrymme i redigeringsmiljön.
När en Publish-instans är nedtryckt har författarloggen följande undantag:
28.01.2016 15:57:48.475 ERROR
[pool-12-thread-34-org_apache_sling_distribution_queue_socialpubsync_endpoint1
(org/apache/sling/distribution/queue/socialpubsync/endpoint1)]
org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] could not deliver package distrpackage_1454014575838_a2b45ec8-0400-42f3-bed8-ae09b66381cb
org.apache.sling.distribution.packaging.DistributionPackageImportException: failed in importing package ...
Så här tar du bort en Publish-instans från Apache Sling Distribution Agent - Sync Agents Factorymåste distributionskön vara tom och tyst.
på författare:
följ steg 7 om du vill ta bort Publish-instansen från båda serverlistorna:
Exporter Endpoints
Importer Endpoints
återaktivera användarsynkronisering
Enabled
kryssruta för Apache Sling Distribution Agent - Sync Agents Factory