Integrazione JCR

Preferisci Sling Resource API all'API JCR

L'API Sling funziona a un livello più alto e astratto rispetto all'API JCR. Questo consente al codice di essere più riutilizzabile e indipendente dallo storage sottostante. Ciò semplifica l'inclusione di dati virtuali esterni tramite il meccanismo ResourceProvider, se necessario.

Evitare query dove possibile

È sempre più veloce navigare nella directory archivio per recuperare i dati rispetto all'esecuzione di una query. In alcuni casi saranno necessarie query, ad esempio una query per l'utente finale o la necessità di trovare contenuto strutturato dall'intero repository, ma per tutti gli altri casi è preferibile passare ai nodi necessari. Le query devono sempre essere evitate nella logica di rendering, ad esempio componenti di navigazione, un "elenco di elementi recenti", un conteggio di elementi e così via. In questi casi, è meglio spostarsi nella gerarchia o prememorizzare il risultato nella cache in modo che possa essere utilizzato direttamente durante il rendering.

Limitare l'ambito dell'osservazione JCR

Quando si ascoltano gli eventi nella directory archivio, è importante restringere il più possibile l'ambito. Ad esempio, è molto meglio ascoltare un evento in /etc/mycompany piuttosto che ascoltare /etc. Non ascoltare mai gli eventi nella directory principale del repository. Inoltre, accertatevi che i metodi di callback vengano eseguiti il più rapidamente possibile quando non è possibile eseguire alcuna operazione.

Eliminazione dell'utilizzo dell'accesso dell'amministratore JCR

A partire dal AEM 6, l'account di accesso Administrative è stato dichiarato obsoleto, così come una sessione amministrativa di ResourceResolverFactory. È invece necessario creare account di servizio per le operazioni back office che richiedono questo tipo di accesso e ResourceResolverFactory può essere utilizzato per ottenere un ResourceResolver per questo account.

In questa pagina