In AEM Communities, dall'ambiente di pubblicazione (in base alle autorizzazioni configurate), i visitatori del sito possono diventare membri, creare gruppi di utenti e modificare il relativo profilo membro .
I dati utente sono termini utilizzati per fare riferimento a utenti, profili utente e gruppi di utenti.
Appartenenza è un termine utilizzato per fare riferimento agli ** utenti registrati nell’ambiente di pubblicazione, anziché agli utenti registrati nell’ambiente di authoring.
Per ulteriori informazioni sui dati utente, visitare Gestione di utenti e gruppi di utenti.
Per impostazione predefinita, 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 deve rimanere nell’ambiente di authoring e non deve essere sincronizzata né replicata nelle istanze di pubblicazione.
Quando la topologia è una farm di pubblicazione, la registrazione e le modifiche apportate a un'istanza di pubblicazione devono essere sincronizzate con altre istanze di pubblicazione. I membri devono poter effettuare l’accesso e visualizzare i propri dati su qualsiasi nodo di pubblicazione.
Quando la sincronizzazione utente è abilitata, i dati utente vengono automaticamente sincronizzati tra le istanze di pubblicazione nella farm.
Per istruzioni dettagliate e dettagliate su come abilitare la sincronizzazione in una farm di pubblicazione, consultate:
pacchetto VLT
Si tratta di un file zip contenente tutte le modifiche apportate a un editore, che devono essere distribuite tra gli editori. Le modifiche apportate a un editore generano eventi selezionati dal listener di eventi change. In questo modo viene creato un pacchetto di convalida contenente tutte le modifiche.
pacchetto di distribuzione
Contiene informazioni di distribuzione per Sling. Si tratta di informazioni su dove il contenuto deve essere distribuito e quando è stato distribuito per ultimo.
All'autore, quando un sito community viene pubblicato dalla console Siti community, l'effetto è di replicare le pagine associate e Sling distribuire i gruppi di utenti della community creati dinamicamente, inclusa la loro appartenenza.
Per impostazione predefinita, gli utenti e i profili creati nell’ambiente di pubblicazione (ad esempio mediante registrazione automatica, accesso mediante social network e autenticazione LDAP) non vengono visualizzati nell’ambiente di authoring.
Se la topologia è una farm di pubblicazione e la sincronizzazione degli utenti è stata configurata correttamente, i profili utente e profilo utente vengono sincronizzati nella farm di pubblicazione utilizzando la distribuzione Sling.
Anche se avviata da un’istanza di pubblicazione, la creazione di gruppi di community, che genera nuove pagine di sito e un nuovo gruppo di utenti, viene effettivamente eseguita nell’istanza di creazione.
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 appartenenza sono Sling distribuiti a tutte le istanze di pubblicazione.
Per impostazione predefinita, i dati utente creati nell’ambiente di pubblicazione non vengono visualizzati nell’ambiente di authoring e viceversa.
Quando si utilizza la console Amministrazione utente e sicurezza per aggiungere nuovi utenti nell'ambiente di pubblicazione, la sincronizzazione degli utenti sincronizzerà i nuovi utenti e i relativi membri del gruppo con altre istanze di pubblicazione, se necessario. La sincronizzazione utente sincronizza anche i gruppi di utenti creati tramite la console di protezione.
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 OSGi esistenti. Non è necessario aggiungere nuove configurazioni per abilitare la sincronizzazione degli utenti.
La sincronizzazione utente si basa sull’ambiente di authoring per gestire le distribuzioni dei dati utente, anche se i dati utente non vengono creati in fase di creazione.
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 attivata la sincronizzazione degli utenti, vengono sincronizzati solo gli utenti e i gruppi appena creati.
Verifica che sia stato installato il codice più recente:
Per abilitare la sincronizzazione degli utenti su AEM Communities, sono necessarie le seguenti configurazioni. Verificate che queste configurazioni siano corrette per evitare il malfunzionamento della distribuzione del contenuto.
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 si riferiscono a una singola istanza di pubblicazione. Poiché la sincronizzazione degli utenti è 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 Author esegue il ping dell’endpoint di esportazione degli editori. Ogni volta che un utente viene creato o aggiornato su editori specifici (n), l'Autore riceve il contenuto dalle endpoint di esportazione e invia il contenuto ad altri editori (n-1, a parte gli editori da cui viene recuperato il contenuto).
Per configurare la configurazione degli agenti di sincronizzazione Apache Sling:
Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.
Accedere alla console Web. Ad esempio, https://localhost:4502/system/console/configMgr.
Individuare Apache Sling Distribution Agent - Sync Agent Factory.
Selezionate la configurazione esistente da aprire per la modifica (icona matita).
Nome verifica: socialpubsync.
Selezionare la casella di controllo Abilitato.
Selezionare Usa più code.
Specificare Endpoint esportazione e Endpoint importazione (è possibile aggiungere altri endpoint di esportazione e importazione).
Questi endpoint definiscono dove si desidera ottenere il contenuto e dove si desidera inviare il contenuto push. L'autore recupera il contenuto dall'endpoint di esportazione specificato e invia il contenuto 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 consente agli editori di connettersi con l'autore e configurare la distribuzione Sling sull'autore. Questo utente autorizzato ha tutti gli ACL 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 collegare l'autore con gli editori utilizzando un utente autorizzato:
Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.
Accedere alla console Web.
Ad esempio, https://localhost:4502/system/console/configMgr.
Individua distribuzione granite Adobe - provider segreto trasporto password crittografato.
Selezionate la configurazione esistente da aprire per la modifica (icona matita).
Verificare la proprietà socialpubsync - publishUser.
Impostate 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, "var/community/distribution/diff" viene attivato e il replicatore creato recupera i dati da un editore e li installa su altri editori.
Per configurare i dati (percorsi nodo) da sincronizzare:
Effettuate l’accesso con i privilegi di amministratore per l’istanza di creazione.
Accedere alla console Web.
Ad esempio, https://localhost:4503/system/console/configMgr.
Individuare Apache Sling Distribution Agent - Queue Agent Factory.
Selezionate la configurazione esistente da aprire per la modifica (icona matita).
Nome verifica: socialpubsync -reverse
Selezionare la casella di controllo Abilitato e salvare.
Specificare i percorsi dei nodi da replicare in Radici consentite.
Ripetere l'operazione 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, assicurarsi che ref:members sia aggiunta ai nomi delle proprietà analizzate.
Per garantire la sincronizzazione dei membri:
Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.
Accedere alla console Web.
Ad esempio, https://localhost:4503/system/console/configMgr.
Individuare distribuzione granito Adobe - Diff Observer Factory.
Selezionate la configurazione esistente da aprire per la modifica (icona matita).
Verifica nome agente: socialpubsync -reverse.
Selezionare la casella di controllo Abilitato.
Specificare rep:members come descrizione per propertyName in nome proprietà di ricerca e salvare.
Questa configurazione consente di configurare l’intervallo di polling (al termine del quale gli editori vengono sottoposti a ping e le modifiche vengono eseguite 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 modificare l’intervallo di polling:
Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.
Accedere alla console Web, ad esempio https://localhost:4502/system/console/configMgr
Individua attivatore di distribuzione Sling Apache - Pianificato Triggers Factory
Selezionate la configurazione esistente da aprire per la modifica (icona matita).
Verificare socialpubsync -Scheduled-trigger
Impostate l'intervallo in secondi sull'intervallo desiderato e salvate.
Per problemi nella distribuzione Sling in cui vi è una discrepanza nelle sottoscrizioni e seguenti, controllate se le seguenti proprietà in AEM Communities User Sync Listener configurazioni sono impostate:
Per sincronizzare iscrizioni, seguiti e notifiche
Per ogni istanza di pubblicazione AEM:
Effettuate l'accesso con privilegi di amministratore.
Accedere alla console Web. Ad esempio, https://localhost:4503/system/console/configMgr.
Individuare AEM Communities User Sync Listener.
Seleziona la configurazione esistente da aprire per la modifica (icona matita)
Nome verifica: socialpubsync -Scheduled-trigger
Impostare i seguenti NodeTypes:
rep:User
nt:unstructured
nt:resource
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 editori diversi.
Aggiungere tutte le cartelle da sincronizzare in DistributedFolders. Esempio,
segments/scoring
social/relationships
activities
Impostare ignorablenodes su:
.tokens
system
rep:cache
(poiché utilizziamo sessioni di tipo "fisso", non è necessario sincronizzare questo nodo con editori diversi).
AEM’istanza di creazione utilizza l’ID Sling per identificare da dove arrivano i dati e a quali editori deve (o non deve) inviare nuovamente il pacchetto.
Accertatevi che tutti gli editori di 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 degli utenti non riesce. Poiché l'autore non sa da dove recuperare il pacchetto e dove installarlo.
Per garantire un ID Sling univoco degli editori nella farm di pubblicazione, in ogni istanza di pubblicazione:
Passare a https://host:port/system/console/status-slingsettings.
Controllare il valore di Sling ID.
Se l’ID Sling di un’istanza di pubblicazione corrisponde all’ID Sling di qualsiasi altra istanza di pubblicazione, effettuate le seguenti operazioni:
Interrompi una delle istanze di pubblicazione con un ID Sling corrispondente.
Nella directory crx-quickstart/launchpad/felix
, cercare ed eliminare il file denominato sling.id.file.
Ad esempio, su un sistema Linux:
rm -i $(find . -type f -name sling.id.file)
Ad esempio, in un sistema Windows:
Utilizzare windows explorer e cercare sling.id.file
Avviate l’istanza di pubblicazione. All'avvio, gli verrà assegnato un nuovo Sling ID.
Verificare che l' Sling ID sia ora univoco.
Ripetete questi passaggi finché tutte le istanze di pubblicazione non dispongono di un ID Sling univoco.
Affinché gli aggiornamenti possano essere sincronizzati correttamente, è necessario modificare il generatore di pacchetti vault per la sincronizzazione degli utenti.
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 degli utenti può arrestarsi se i nodi rep :cache
sono sincronizzati tra gli editori.
Per garantire che gli aggiornamenti siano sincronizzati correttamente tra gli editori, in ogni istanza di pubblicazione AEM:
Accedere alla console Web
Ad esempio, https://localhost:4503/system/console/configMgr.
Individuare il pacchetto di distribuzione Apache Sling - Vault Package Builder Factory
Nome del generatore: socialpubsync-vlt.
Selezionate l’icona di modifica.
Aggiungete due filtri nodo pacchetto:
/home/users|-.*/.tokens
/home/users|-.*/rep:cache
Gestione dei criteri
/home/users|+.*/rep:policy
Acl Handling: IGNORE
Se la distribuzione Sling non riesce, provate i seguenti passaggi di debug:
Verifica configurazioni aggiunte in modo errato
Assicuratevi che non vengano aggiunte o modificate più configurazioni, ma che le configurazioni predefinite esistenti vengano modificate.
Controllare le configurazioni
Assicurati che tutte le configurazioni siano impostate correttamente nell'istanza di AEM Author, come indicato in Best Practices.
Verifica autorizzazioni utente autorizzate
Se i pacchetti non sono installati correttamente, verificate che l' utente autorizzato creato nella prima istanza di pubblicazione abbia gli ACL corretti.
Per convalidarlo, invece di creare l'utente autorizzato modificare la Adobe Granite Distribution - Encrypted Password Transport Secret Provider configurazione nell'istanza Author per utilizzare le credenziali utente Amministratore. Tentate nuovamente di installare i pacchetti. Se la sincronizzazione utente funziona correttamente con le credenziali dell'amministratore, significa che l'utente di pubblicazione creato non aveva ACL appropriati.
Controllare la configurazione di Diff Observer Factory
Se solo nodi specifici non vengono sincronizzati nella farm di pubblicazione, ad esempio, i membri del gruppo non sono sincronizzati, assicurarsi che la configurazione Adobe Granite Distribution - Diff Observer Factory sia abilitata e che rep: i membri sono impostati in nomi delle proprietà di ricerca.
Verificate configurazione del listener di sincronizzazione utenti AEM Communities. Se gli utenti creati sono sincronizzati ma le iscrizioni e i seguenti elementi non funzionano, accertatevi che configurazione del listener di sincronizzazione utenti AEM Communities abbia:
Controllate i registri generati durante la creazione dell’utente nell’istanza Pubblica
Se le configurazioni di cui sopra sono impostate correttamente ma la sincronizzazione utente non funziona, controllate i registri generati al momento della creazione dell'utente.
Verificare se l’ordine dei file di registro è 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:
Per AEM’istanza di creazione, effettuate l’accesso con privilegi di amministratore.
Accedere alla console Web. Ad esempio, https://localhost:4502/system/console/configMgr.
Individuare la configurazione Apache Sling Distribution Agent - Sync Agent Factory.
Deselezionare la casella di controllo Abilitato.
Quando si disabilita la sincronizzazione utente nell’istanza di creazione, gli endpoint (esportatore e importatore) vengono disattivati e l’istanza di creazione è statica. I pacchetti vlt non vengono cerchiati o inseriti dall'autore.
Ora, se un utente viene creato nell'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 verificare quali proprietà vengono inviate ad altri servizi.
Passate a un editore e create un utente sull'editore. Di conseguenza, gli eventi vengono creati.
Controllare l'ordine dei file di registro, creato al momento della creazione dell'utente.
Verificate se in /var/sling/distribution/packages/socialpubsync-vlt/data venga creato un pacchetto vlt.
A questo punto, abilitate la sincronizzazione degli utenti AEM’istanza di creazione.
Nell'editore, modificate gli endpoint di esportazione o importazione in Apache Sling Distribution Agent - Sync Agent Factory.
Possiamo scaricare ed estrarre i dati del pacchetto per verificare quali proprietà vengono inviate ad altri editori e quali dati vengono persi.