Sviluppo di componenti core

Quando utilizzare i componenti core?

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:

  • Nuovi
    progettiI nuovi progetti devono sempre tentare di utilizzare i componenti core. Se i componenti core non possono essere utilizzati direttamente o estesi per soddisfare i requisiti del progetto, create un componente personalizzato seguendo l'architettura dei componenti impostata nei componenti core. Eccetto dove non altrimenti possibile, evitare di utilizzare i componenti di base.

  • Progetti esistentiLa raccomandazione continua a utilizzare i componenti di base, a meno che non sia pianificato il refactoring di un sito o di un componente.
    Poiché sono ampiamente utilizzati dalla maggior parte dei progetti esistenti, i componenti di base continueranno ad essere supportati.
  • Nuovi
    componenti personalizzatiValutare se è possibile personalizzare un componente core esistente.
    In caso contrario, si consiglia di creare un nuovo componente personalizzato seguendo le Linee guida sui componenti.
  • Componenti personalizzati esistentiSe i componenti funzionano come previsto, mantenerli come sono.


In caso contrario, fare riferimento a "Nuovi componenti personalizzati" sopra.

Come eseguire correttamente i componenti core

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.

Migrazione ai componenti core

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:

  • Modelli statici in modelli modificabili
  • Configurazioni di progettazione in policy
  • Componenti di base in componenti core
  • Interfaccia classica in interfaccia touch

Per ulteriori informazioni sull'utilizzo di questi strumenti, consultare la relativa documentazione.

Nota

Gli strumenti AEM Modernizza sono uno sforzo della comunità e non sono supportati o giustificati dal Adobe .

Supporto dei componenti core

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).

Capacità tecniche

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

Elenco componenti

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 -

Componenti in arrivo

Per una panoramica della road map dei componenti core, vedi il progetto wiki su GitHub.

Aggiornamento dei componenti core

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).

In questa pagina