In AEM Communities, dall'ambiente di pubblicazione (a seconda delle autorizzazioni configurate), i visitatori del sito possono diventare membri, creare gruppi di utenti e modificare il loro profilo membro.
I dati utente sono termini utilizzati per fare riferimento a utenti, profili utente e gruppi di utenti.
Iscrizione è un termine utilizzato per fare riferimento agli utenti registrati nell’ambiente di pubblicazione, rispetto agli utenti registrati nell’ambiente di authoring.
Per ulteriori informazioni sui dati utente, visita Gestione di utenti e gruppi di utenti.
Per progettazione, i dati utente creati nell’ambiente di pubblicazione non vengono visualizzati nell’ambiente di authoring.
La maggior parte dei dati utente creati nell’ambiente di authoring ha lo scopo di rimanere nell’ambiente di authoring e non viene sincronizzata né replicata nelle istanze di pubblicazione.
Quando la topologia è una farm di pubblicazione, la registrazione e le modifiche effettuate su un'istanza di pubblicazione devono essere sincronizzate con altre istanze di pubblicazione. I membri devono essere in grado di accedere e visualizzare i propri dati su qualsiasi nodo di pubblicazione.
Quando la sincronizzazione utente è abilitata, i dati utente vengono sincronizzati automaticamente tra le istanze di pubblicazione nella farm.
Per istruzioni dettagliate e dettagliate su come abilitare la sincronizzazione in una farm di pubblicazione, consulta
Pacchetto VLT: è un file zip di tutte le modifiche apportate a un editore, che deve essere distribuito tra gli editori. Le modifiche apportate a un editore generano eventi selezionati dal listener di eventi change. Questo crea un pacchetto vlt contenente tutte le modifiche.
Pacchetto di distribuzione: contiene informazioni sulla distribuzione per Sling. Queste sono informazioni su dove il contenuto deve essere distribuito e quando è stato distribuito per ultimo.
Su autore, quando un sito community viene pubblicato dalla console Sites di Communities, l'effetto è quello di replicare le pagine associate e Sling distribuisce i gruppi di utenti della community creati dinamicamente, inclusa la loro appartenenza.
Per progettazione, gli utenti e i profili creati nell’ambiente di pubblicazione (ad esempio mediante registrazione automatica, accesso social network, autenticazione LDAP) non vengono visualizzati nell’ambiente di authoring.
Quando la topologia è una farm di pubblicazione e la sincronizzazione utente è stata configurata correttamente, i utenti e profili utente vengono sincronizzati nella farm di pubblicazione utilizzando la distribuzione Sling.
Anche se avviata da un'istanza di pubblicazione, la creazione del gruppo community, che si traduce in nuove pagine del sito e in un nuovo gruppo di utenti, in realtà avviene nell'istanza di authoring.
Come parte del processo, le nuove pagine del sito vengono replicate in tutte le istanze di pubblicazione. Il gruppo di utenti della community creato dinamicamente e la relativa iscrizione sono Sling distribuiti a tutte le istanze di pubblicazione.
Per progettazione, i dati utente creati nell’ambiente di pubblicazione non vengono visualizzati nell’ambiente di authoring e viceversa.
Quando la console Amministrazione utente e sicurezza viene utilizzata per aggiungere nuovi utenti nell’ambiente di pubblicazione, la sincronizzazione utente sincronizza i nuovi utenti e la loro appartenenza al gruppo con altre istanze di pubblicazione, se necessario. La sincronizzazione utente sincronizza anche i gruppi di utenti creati tramite la console di sicurezza.
Per il contenuto generato dall’utente (UGC), i dati immessi in un’istanza di pubblicazione sono accessibili tramite l’ SRP configurato.
Per impostazione predefinita, la sincronizzazione utente è disabilitata. L'abilitazione della sincronizzazione utente comporta la modifica delle configurazioni esistenti OSGi. Non è necessario aggiungere nuove configurazioni per abilitare la sincronizzazione utente.
La sincronizzazione utente si basa sull’ambiente di authoring per gestire le distribuzioni di dati utente, anche se i dati utente non vengono creati sull’autore .
Prerequisiti
Se utenti e gruppi di utenti sono già stati creati su un editore, si consiglia di sincronizzare manualmente i dati utente a tutti gli editori prima di configurare e abilitare la sincronizzazione utente.
Una volta abilitata la sincronizzazione utente, vengono sincronizzati solo gli utenti e i gruppi appena creati .
Verifica che sia stato installato il codice più recente:
Le seguenti configurazioni sono necessarie per abilitare la sincronizzazione utente su AEM Communities. Assicurati che queste configurazioni siano corrette per evitare errori nella distribuzione del contenuto sling.
Questa configurazione recupera il contenuto da sincronizzare tra gli editori. La configurazione si trova nell’istanza Author. L'autore deve tenere traccia di tutti gli editori presenti e di dove sincronizzare tutte le informazioni.
I valori predefiniti nella configurazione sono per una singola istanza di pubblicazione. Poiché la sincronizzazione utente è utile per sincronizzare più istanze di pubblicazione, ad esempio per una farm di pubblicazione, è necessario aggiungere ulteriori istanze di pubblicazione alla configurazione.
Come viene sincronizzato il contenuto?
L'istanza dell'autore esegue il ping dell'endpoint dell'esportatore degli editori. Ogni volta che un utente viene creato o aggiornato su editori specifici (n), l'autore ottiene il contenuto dai propri endpoint di esportazione e invia il contenuto ad altri editori (n-1, a parte gli editori da cui viene recuperato il contenuto).
Per AEM’istanza di authoring:
Accedi con privilegi di amministratore.
Accedi alla Console web.
Ad esempio, http://localhost:4502/system/console/configMgr.
Individua Apache Sling Distribution Agent - Sync Agents Factory.
Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita).
Nome verifica: socialpubsync
.
Selezionare la casella di controllo Attivato.
Seleziona Usa più code.
Specifica Endpoint esportazione e Endpoint importazione (puoi aggiungere altri endpoint di esportazione e importazione).
Questi endpoint definiscono la posizione da cui desideri ottenere il contenuto e la posizione in cui desideri inviarlo. L’autore recupera il contenuto dall’endpoint di esportazione specificato e lo invia agli editori (diversi dall’editore da cui ha recuperato il contenuto).
Consente all’autore di identificare l’utente autorizzato, in quanto dispone dell’autorizzazione per sincronizzare i dati utente dall’autore alla pubblicazione.
L’ utente autorizzato creato su tutte le istanze di pubblicazione aiuta gli editori a connettersi con l’autore e configurare la distribuzione Sling sull’autore. Questo utente autorizzato ha tutti i ACLs richiesti.
Ogni volta che i dati devono essere installati o recuperati dagli editori, l’autore si connette con gli editori utilizzando le credenziali (nome utente e password) impostate in questa configurazione.
Per AEM’istanza di authoring:
Accedi con privilegi di amministratore.
Accedi alla Console web.
Ad esempio, http://localhost:4502/system/console/configMgr.
Individua Distribuzione Granite Adobe - Provider segreto di trasporto password crittografata.
Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita).
Verifica la proprietà name:
socialpubsync
- publishUser
.
Imposta il nome utente e la password sull' utente autorizzato.
Ad esempio, usersync
-admin
Questa configurazione viene utilizzata per configurare i dati da sincronizzare tra gli editori. Quando i dati vengono creati/aggiornati nei percorsi specificati in Radici consentite, viene attivato "var/community/distribution/diff" e il replicatore creato recupera i dati da un editore e li installa su altri editori.
In AEM istanza di pubblicazione:
Accedi con privilegi di amministratore.
Accedi alla Console web.
Ad esempio, http://localhost:4503/system/console/configMgr.
Individua Apache Sling Distribution Agent - Queue Agent Factory.
Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita).
Nome verifica: socialpubsync
-reverse.
Seleziona la casella di controllo Abilitato e salva.
Specifica i percorsi dei nodi da replicare in Radici consentite.
Ripeti per ogni istanza publish
.
Questa configurazione sincronizza l'appartenenza al gruppo tra gli editori.
Se la modifica dell'appartenenza di un gruppo in un editore non ne aggiorna l'appartenenza ad altri editori, assicurati che ref:Members sia aggiunto a nomi di proprietà analizzate.
Su ogni istanza di pubblicazione AEM:
Accedi con privilegi di amministratore.
Accedi alla Console web.
Ad esempio, http://localhost:4503/system/console/configMgr.
Individua Distribuzione granite Adobe - Diff Observer Factory.
Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita).
Verifica nome agente: socialpubsync
\ reverse**.
Selezionare la casella di controllo Attivato.
Specificare rep:members
come description
per propertyName in nomi di proprietà cercate e salvare.
Questa configurazione ti consente di configurare l’intervallo di polling (dopo il quale gli editori vengono inseriti nel ping e le modifiche vengono richiamate dall’autore) per sincronizzare le modifiche tra gli editori.
L’autore controlla gli editori ogni 30 secondi (impostazione predefinita). Se nella cartella /var/sling/distribution/packages/ socialpubsync - vlt /shared sono presenti pacchetti, questi verranno recuperati e installati su altri editori.
Per AEM’istanza di authoring:
Accedi con privilegi di amministratore.
Accedi alla Console web, ad esempio http://localhost:4502/system/console/configMgr
Individua Trigger di distribuzione Apache Sling - Scheduled Triggers Factory
Name:
socialpubsync
-scheduled-triggerPer i problemi nella distribuzione Sling in cui vi è una discrepanza nelle sottoscrizioni e seguenti, controlla se sono impostate le seguenti proprietà in AEM Communities User Sync Listener configurazioni:
Su ogni istanza di pubblicazione AEM:
Accedi con privilegi di amministratore.
Accedi alla Console web. Ad esempio, http://localhost:4503/system/console/configMgr.
Individua AEM Communities User Sync Listener.
Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita).
Nome verifica: socialpubsync
-scheduled-trigger
Imposta quanto segue NodeTypes
:
rep:User
nt
:non strutturato
nt
:riferimento
rep:ACL
sling:Folder
sling:OrderedFolder
I tipi di nodo specificati in questa proprietà verranno sincronizzati e le informazioni sulle notifiche (blog e configurazioni seguite) vengono sincronizzate tra diversi editori.
Aggiungi tutte le cartelle da sincronizzare in DistributedFolders. Esempio,
segmenti/punteggio
social/relazioni
attività
Imposta ignorablenodes
su:
.token
sistema
rep :cache
(poiché utilizziamo sessioni permanenti, non è necessario sincronizzare questo nodo con editori diversi)
AEM’istanza di authoring utilizza l’ID Sling per identificare da dove vengono i dati e a quali editori deve (o non deve) restituire il pacchetto.
Assicurati che tutti gli editori in una farm di pubblicazione abbiano un ID Sling univoco. Se l’ID Sling è lo stesso per più istanze di pubblicazione in una farm di pubblicazione, la sincronizzazione utente avrà esito negativo. Poiché l’autore non saprà da dove recuperare il pacchetto e dove installarlo.
Su ogni istanza di pubblicazione:
Vai a https://host:port/system/console/status-slingsettings.
Controlla il valore di Sling ID.
Se l’ID Sling di un’istanza di pubblicazione corrisponde all’ID Sling di qualsiasi altra istanza di pubblicazione, allora:
Interrompi una delle istanze di pubblicazione con un ID Sling corrispondente.
Nella directory crx-quickstart/launchpad/felix
, cerca ed elimina il file denominato _sling.id.file.
per esempio, su un sistema Linux:
rm -i $(find . -type f -name sling.id.file)
ad esempio, in un sistema Windows:
use windows explorer and search for _sling.id.file_
Avvia l'istanza di pubblicazione. All'avvio gli verrà assegnato un nuovo ID Sling.
Convalida che l' Sling ID sia ora univoco.
Ripeti questi passaggi fino a quando tutte le istanze di pubblicazione hanno un ID Sling univoco.
Affinché gli aggiornamenti si sincronizzino correttamente, è necessario modificare il generatore di pacchetti vault per la sincronizzazione utente.
In /home/users
viene creato un nodo /rep:cache
. È una cache che viene utilizzata per scoprire che se eseguiamo query sul nome principale di un nodo allora questa cache può essere utilizzata direttamente.
La sincronizzazione utente può interrompersi se i nodi rep:cache
sono sincronizzati tra gli editori.
Su ogni istanza di pubblicazione AEM:
Accedi alla Console web, ad esempio http://localhost:4503/system/console/configMgr.
Individua il Pacchetto di distribuzione Apache Sling - Vault Package Builder Factory Builder name: socialpubsync-vlt.
Seleziona l’icona di modifica.
Aggiungi due filtri del pacchetto:
/home/users|-.\*/.tokens
/home/users|**+**.\*/rep:cache
Gestione dei criteri
Per sovrascrivere i nodi rep :policy
esistenti con quelli nuovi, aggiungi un terzo Filtro pacchetto:
/home/users|**+**.\*/rep:policy
Per evitare la distribuzione dei criteri, impostare
Trattamento Acl: IGNORE
Se la distribuzione Sling non riesce, prova i seguenti passaggi di debug:
Verifica configurazioni aggiunte in modo errato. Assicurati che non vengano aggiunte o modificate più configurazioni, ma devi modificare le configurazioni predefinite esistenti.
Controlla le configurazioni. Assicurati che tutte le configurazioni siano impostate correttamente nell'istanza di AEM Author, come indicato in Best practice.
Controlla le autorizzazioni utente autorizzate. Se i pacchetti non sono installati correttamente, controlla che l' utente autorizzato creato nella prima istanza di pubblicazione abbia le ACL corrette.
Per convalidarlo, invece della configurazione utente autorizzato creato modifica la Distribuzione granite di Adobe - Provider segreto di trasporto password crittografata nell'istanza Autore per utilizzare le credenziali utente amministratore. Ora prova di nuovo a installare i pacchetti. Se la sincronizzazione utente funziona correttamente con le credenziali di amministratore, significa che l'utente di pubblicazione creato non aveva ACL appropriati.
Controllare la configurazione di Diff Observer Factory. Se solo nodi specifici non sono sincronizzati nella farm di pubblicazione, ad esempio, i membri del gruppo non sono sincronizzati, assicurati che la configurazione Adobe Granite Distribution - Diff Observer Factory sia abilitata e che rep:Members sia impostata in nomi di proprietà cercate.
Controlla la configurazione del listener di sincronizzazione utente di AEM Communities. Se gli utenti creati sono sincronizzati ma le sottoscrizioni e i seguenti non funzionano, assicurati che la configurazione del listener di sincronizzazione utenti di AEM Communities abbia:
Controlla i registri generati durante la creazione dell’utente nell’istanza Publish. Se le configurazioni di cui sopra sono impostate in modo appropriato ma la sincronizzazione utente non funziona, controlla i registri generati al momento della creazione dell’utente.
Verifica se l’ordine dei registri è lo stesso, come segue:
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
Per eseguire il debug:
Disattiva la sincronizzazione utente:
Su AEM’istanza di authoring, accedi con privilegi di amministratore.
Accedi alla Console web. Ad esempio, http://localhost:4502/system/console/configMgr.
Individua la configurazione Apache Sling Distribution Agent - Sync Agents Factory.
Deseleziona la casella di controllo Enabled .
Quando si disabilita la sincronizzazione utente nell’istanza di authoring, gli endpoint (esportazione e importazione) sono disabilitati e l’istanza di authoring è statica. I pacchetti vlt non vengono inseriti o recuperati dall’autore.
Ora, se un utente viene creato sull'istanza di pubblicazione, il pacchetto vlt viene creato nel nodo /var/sling/distribution/packages/ socialpubsync - vlt /data . E se questi pacchetti vengono inviati dall'autore a un altro servizio. Puoi scaricare ed estrarre questi dati per controllare quali proprietà vengono inviate ad altri servizi.
Passa a un editore e crea un utente sull'editore. Di conseguenza, vengono creati degli eventi.
Controlla l' ordine dei log creati al momento della creazione dell'utente.
Controlla se un pacchetto vlt viene creato su /var/sling/distribution/packages/socialpubsync-vlt/data
.
Ora, abilita la sincronizzazione utente sull'istanza AEM autore.
Sull'editore, modifica gli endpoint dell'esportatore o dell'importatore in Apache Sling Distribution Agent - Sync Agents Factory.
Possiamo scaricare ed estrarre i dati del pacchetto per verificare quali proprietà vengono inviate ad altri editori e quali dati vengono persi.