Poiché i componenti core sono completamente nuovi e offrono molteplici vantaggi, si consiglia di utilizzarli nei nuovi progetti AEM. Per i progetti esistenti, la migrazione dei componenti dovrà essere eseguita nell’ambito di un’attività più ampia, ad esempio in occasione di un progetto di rebranding o riformattazione generale.
Pertanto, Adobe formula le seguenti raccomandazioni:
In caso contrario, fare riferimento a "Nuovi componenti personalizzati" sopra.
I componenti core sono potenti, flessibili e facili da usare e personalizzare. Seguendo alcune linee guida chiave, il progetto con i componenti core avrà successo.
Eventuali nuovi progetti devono essere implementati con i componenti core. Tuttavia, i progetti esistenti avranno in genere ampie implementazioni dei componenti di base.
Uno sforzo maggiore su un progetto esistente (ad esempio un rebranding o un refactoring complessivo) spesso offre la possibilità di eseguire la migrazione ai componenti core. Per facilitare questa migrazione, Adobe ha fornito una serie di strumenti di migrazione per incoraggiare l'adozione dei componenti core e della tecnologia AEM più recente.
Il Salotto AEM Modernizzazione per la facile conversione di:
Per ulteriori informazioni sull'utilizzo di questi strumenti, consultare la relativa documentazione.
Gli strumenti AEM Modernizza sono uno sforzo della comunità e non sono supportati o giustificati dal Adobe .
I componenti core sono parte integrante di AEM e sono supportati così come sono. Sono soggetti agli stessi termini e condizioni dei prodotti forniti con Quickstart.
Come per altre funzionalità AEM prodotto, la regola generale è: I componenti vengono inizialmente dichiarati obsoleti e i primi rimossi per la release AEM successiva. Questo consente ai clienti di passare alla nuova versione del componente almeno un ciclo di rilascio prima di lasciarne indietro il supporto.
La versione di ogni componente indica chiaramente le versioni di AEM che supporta. Quando cessa il supporto per una versione di AEM, cessa anche il supporto dei componenti core per tale versione di AEM.
Per informazioni dettagliate sul supporto delle personalizzazioni dei componenti, consultate la pagina Customizing Core Components (Personalizzazione dei componenti core).
La tabella seguente fornisce una panoramica delle differenze tra i componenti core e i componenti di base.
Per informazioni dettagliate sulle funzionalità di authoring e sulle opzioni per la preconfigurazione, consultare la pagina di authoring relativa a tali funzionalità.
Funzionalità | Componente core | Componente Foundation |
---|---|---|
Implementazione logica | Java POJO con Sling Models annotazioni | Codice JSP |
Definizione di markup | Sintassi HTML Template Language (HTL) | Codice JSP |
Scarico XSS | Automatizzato da HTL | Principalmente manuale |
Denominazione delle classi CSS | Convenzione di denominazione standardizzata basata sulla notazione Modificatore elemento blocco (BEM) (dalla release 2.0.0) | Schemi personalizzati |
Definizione finestra di dialogo | Corallo 3 | Corallo 2 + Interfaccia classica |
Uscita JSON | Sling Models Exporter con serializzazione Jackson | Servlet Sling predefinito |
Gestione versioni | Per il modello e l'HTL | Nessuno |
Test | Prove di unità + Test di integrazione | Test di integrazione |
Consegna | Tramite GitHub pubblico | Via Quickstart |
Licenza | Licenza Apache | Adobe proprietario |
Contributo | Tramite richiesta pull | Impossibile |
Accessibilità | Completamente conforme allo standard WCAG 2.0 AA | Solo parzialmente conforme con lo standard WCAG 2.0 AA |
Nella tabella seguente sono elencati i componenti core disponibili, che si collegano all'API e indicano quali componenti di base sostituire.
Componente core | Descrizione | Componenti di base sostituiti |
---|---|---|
Pagina | Pagina reattiva che funziona con l’editor modelli | /libs/foundation/components/page /libs/wcm/foundation/components/page |
Breadcrumb | Navigazione gerarchica delle pagine | /libs/foundation/components/breadcrumb |
Titolo | Titolo H1-H6 | /libs/foundation/components/title /libs/wcm/foundation/components/title |
Testo | RTF | /libs/foundation/components/text /libs/foundation/components/table /libs/wcm/foundation/components/text |
Immagine | Caricamento intelligente e pigro delle dimensioni di rappresentazione ottimali | /libs/foundation/components/image /libs/foundation/components/adaptiveimage /libs/foundation/components/logo /libs/foundation/components/mobileimage /libs/foundation/components/mobilelogo /libs/wcm/foundation/components/image |
Elenco | Elenco di pagine | /libs/foundation/components/list /libs/foundation/components/mobilelist /libs/wcm/foundation/components/list |
Condivisione social media | widget di condivisione Facebook e Pinterest | - |
Contenitore modulo | Sistema paragrafo modulo reattivo | /libs/foundation/components/form/start /libs/foundation/components/form/end |
Testo modulo | Campo di immissione testo | /libs/foundation/components/form/text /libs/foundation/components/form/password |
Opzioni modulo | Campo di immissione opzioni multiple | /libs/foundation/components/form/checkbox /libs/foundation/components/form/radio /libs/foundation/components/form/dropdown |
Nascosto per modulo | Campo di input nascosto | /libs/foundation/components/form/hidden |
Pulsante modulo | Pulsante Invia o personalizzato | /libs/foundation/components/form/submit |
Navigazione | Un componente di navigazione del sito che elenca la gerarchia di pagine nidificata | /libs/foundation/components/topnav /libs/foundation/components/mobiletopnav |
Navigazione lingua | Uno switcher di lingua e Paese che elenca la struttura globale della lingua | - |
Ricerca rapida | Componente di ricerca che visualizza i risultati come suggerimenti inseriti in un menu a discesa | /libs/foundation/components/search |
Teaser | Consente all’autore del contenuto di creare facilmente un teaser per l’ulteriore contenuto utilizzando un’immagine, un titolo o un RTF e collegando altri contenuti o altre azioni | - |
Schede | Consente all’autore del contenuto di organizzare il contenuto della pagina all’interno di più schede | - |
Carosello | Consente all’autore del contenuto di organizzare il contenuto in un carosello rotante di diapositive | /libs/foundation/components/carousel |
Frammento di contenuto | Consente la visualizzazione di un frammento di contenuto | - |
Elenco di frammenti di contenuto | Consente di visualizzare un elenco dei frammenti di contenuto | - |
Separatore | Separa il contenuto di una pagina | - |
Pannello a soffietto | Organizzare i pannelli dei contenuti in un ambiente comprimibile | - |
Contenitore | Organizzare i componenti all’interno di un contenitore | - |
Pulsante | Creare un pulsante su una pagina | - |
Scarica | Aggiunta di una risorsa scaricabile a una pagina | - |
Frammento esperienza | Aggiunta di un frammento esperienza a una pagina | /libs/cq/experience-fragments/editor/components/experiencefragment |
Incorpora | Incorporare una risorsa esterna in una pagina | - |
Barra di avanzamento | Fornire una rappresentazione visiva del progresso verso un obiettivo | - |
Visualizzatore PDF | Presenta un documento PDF su una pagina | - |
Per una panoramica della road map dei componenti core, vedi il progetto wiki su GitHub.
Un vantaggio dei componenti con versione è rappresentato dal fatto che consente di separare la migrazione a una nuova versione AEM dalla migrazione alle nuove versioni dei componenti. Inoltre, se sono disponibili nuove versioni di componenti, è possibile migrare singolarmente ogni componente alla nuova versione.
Le migrazioni a una nuova versione AEM non avranno alcun impatto sul funzionamento dei componenti core, a condizione che le loro versioni supportino anche la nuova versione AEM a cui viene eseguita la migrazione. Le personalizzazioni effettuate ai componenti core non devono essere influenzate, a condizione che non utilizzino API che sono state obsolete o rimosse.
Le migrazioni a nuove versioni dei componenti core non influiranno neanche sul funzionamento del componente, ma potrebbero essere introdotte nuove funzionalità agli autori di pagine, che potrebbero richiedere alcune configurazioni da parte di un editor modelli, nel caso in cui il comportamento predefinito non sia desiderato. Le personalizzazioni possono tuttavia essere adattate. Per ulteriori dettagli, vedere la pagina Customizing Core Components (Personalizzazione dei componenti core).