Integrazione JCR jcr-integration
Preferisci l’API della risorsa Sling all’API JCR prefer-the-sling-resource-api-to-jcr-api
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 dalla memorizzazione sottostante. In questo modo è più facile includere i dati virtuali esterni tramite il meccanismo ResourceProvider, se necessario.
Evitare le query laddove possibile avoid-queries-wherever-possible
È sempre più veloce navigare nell’archivio per recuperare i dati rispetto all’esecuzione di una query. Ci sono casi in cui saranno necessarie query, come una query utente finale o la necessità di trovare contenuto strutturato dall'intero archivio, ma per tutti gli altri casi, è preferibile passare ai nodi necessari. Le query devono sempre essere evitate nella logica di rendering, come i componenti di navigazione, un "elenco di elementi recenti", un conteggio di elementi e così via. In questi casi, è meglio attraversare la gerarchia o pre-memorizzare il risultato in modo che possa essere utilizzato direttamente durante il rendering.
Limitare il campo di applicazione dell'osservazione JCR restrict-the-scope-of-jcr-observation
Quando si ascoltano gli eventi nell’archivio, è importante restringere l’ambito il più possibile. Ad esempio, è molto meglio ascoltare un evento in /etc/mycompany
che ascoltare /etc
. Non ascoltare mai gli eventi nella directory principale dell’archivio. Inoltre, assicurati che i metodi di callback vengano eseguiti il più rapidamente possibile quando non è possibile eseguire alcuna operazione.
Elimina l'utilizzo dell'accesso amministratore JCR eliminate-use-of-jcr-admin-access
A partire dal AEM 6, l'accesso Amministrazione è stato dichiarato obsoleto e ha ricevuto una sessione amministrativa da ResourceResolverFactory. Piuttosto, gli account di servizio devono essere creati per le operazioni di back office che richiederebbero questo tipo di accesso e ResourceResolverFactory può essere utilizzato per ottenere un ResourceResolver per questo account.