Essenze SRP e UGC srp-and-ugc-essentials
Introduzione introduction
Se non conosci il provider delle risorse di archiviazione (SRP) e la sua relazione con il contenuto generato dall’utente (UGC), visita Archiviazione dei contenuti della community e Panoramica del provider di risorse di storage.
Questa sezione della documentazione fornisce alcune informazioni essenziali su SRP e UGC.
API StorageResourceProvider storageresourceprovider-api
L'API SocialResourceProvider (API SRP) è un'estensione di varie API dei provider di risorse Sling. Include il supporto per l’impaginazione e l’incremento atomico (utile per il conteggio e il punteggio).
Le interrogazioni sono necessarie per i componenti SCF in quanto è necessario ordinare per data, disponibilità, numero di voti e così via. Tutte le opzioni SRP dispongono di meccanismi di query flessibili che non si basano sul bucket.
La posizione di archiviazione SRP incorpora il percorso del componente. L’API SRP deve sempre essere utilizzata per accedere all’UGC, in quanto il percorso principale dipende dall’opzione SRP selezionata, ad esempio ASRP, MSRP o JSRP.
L’API SRP non è una classe astratta, è un’interfaccia. Un’implementazione personalizzata non dovrebbe essere eseguita alla leggera, in quanto i vantaggi dei miglioramenti futuri alle implementazioni interne verrebbero persi quando si esegue l’aggiornamento a una nuova versione.
I mezzi per utilizzare l’API SRP sono attraverso le utility fornite, come quelle presenti nel pacchetto SocialResourceUtilities .
Quando esegui l’aggiornamento da AEM 6.0 o versioni precedenti, sarà necessario migrare UGC per tutti gli SRP, per i quali è disponibile uno strumento Open Source. Vedi Aggiornamento ad AEM Communities 6.3.
Metodo di utilità per accedere all'UGC utility-method-to-access-ugc
Per accedere a UGC, utilizza un metodo del pacchetto SocialResourceUtilities che restituisce un percorso adatto per l'accesso a UGC dall'SRP e sostituisce il metodo obsoleto trovato nel pacchetto SocialUtils.
Di seguito è riportato un esempio minimo di utilizzo del metodo resourceToUGCStoragePath() in un servlet:
import com.adobe.cq.social.srp.utilities.api.SocialResourceUtilities;
@Reference
private SocialResourceUtilities socialResourceUtilities;
@Override
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException {
String ugcPath = socialResourceUtilities.resourceToUGCStoragePath(request.getResource());
// rest of servlet
}
Per altre sostituzioni di SocialUtils, vedi Refactoring di SocialUtils.
Per le linee guida sulla codifica, visita Accesso a UGC con SRP.
Metodo di utilità per accedere agli ACL utility-method-to-access-acls
Alcune implementazioni SRP, come ASRP e MSRP, memorizzano il contenuto della community nei database che non forniscono alcuna verifica ACL. I nodi shadow forniscono una posizione nell'archivio locale a cui possono essere applicate le ACL.
Utilizzando l’API SRP, tutte le opzioni SRP eseguono lo stesso controllo della posizione shadow prima di tutte le operazioni CRUD.
Per controllare le ACL, utilizza un metodo che restituisce un percorso adatto per controllare le autorizzazioni applicate all'UGC della risorsa.
Di seguito è riportato un semplice esempio di utilizzo del metodo resourceToACLPath() in un servlet:
import com.adobe.cq.social.srp.utilities.api.SocialResourceUtilities;
@Reference
private SocialResourceUtilities socialResourceUtilities;
@Override
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException {
String aclPath = socialResourceUtilities.resourceToACLPath(request.getResource());
// rest of servlet
}
Posizioni di storage correlate all'UGC ugc-related-storage-locations
Le seguenti descrizioni del percorso di archiviazione possono essere di aiuto durante lo sviluppo con JSRP o forse MSRP. Non esiste attualmente alcuna interfaccia utente per accedere all’UGC memorizzato in ASRP, in quanto esiste per JSRP (CRXDE Lite) e MSRP (strumenti MongoDB).
posizione del componente
Quando un membro accede a contenuti generati dagli utenti nell’ambiente di pubblicazione, interagisce con un componente come parte di un sito AEM.
Un esempio di tale componente è la variabile componente commenti che esiste nel Guida ai componenti della community sito. Il percorso del nodo di commento nell'archivio locale è:
- Percorso componente = /content/community-components/en/comments/jcr:content/content/includable/comments
posizione del nodo ombra
La creazione di UGC crea anche un nodo ombra a cui vengono applicati gli ACL necessari. Il percorso del nodo shadow corrispondente nell'archivio locale è il risultato della precedenza del percorso principale del nodo shadow al percorso del componente:
- Percorso radice = /content/usergenerate
- Nodo ombra commento = /content/usergenerate/content/community-components/en/comments/jcr:content/content/includable/comments
UGC
L’UGC viene creato in nessuna di queste posizioni e deve essere accessibile solo utilizzando un metodo di utilità che richiama l’API SRP.
- Percorso radice = /content/usergenerate/asi/srp-choice
- Nodo UGC per JSRP = /content/usergenerate/asi/jcr/content/community-components/en/comments/jcr:content/content/includable/comments/srzd-let_it_be_
Attenzione, per JSRP, il nodo UGC only essere presente nell’istanza AEM (autore o pubblicazione) in cui è stata inserita. Se inserito in un’istanza di pubblicazione, la moderazione non sarà possibile dalla console di moderazione sull’autore.
Informazioni correlate related-information
- Panoramica del provider di risorse di storage - Introduzione e panoramica sull’utilizzo dell’archivio
- Accesso a UGC con SRP - linee guida per la codifica
- Refactoring di SocialUtils - Mappatura di metodi di utilità obsoleti ai metodi di utilità SRP correnti