Script in bundle precompilati precompiled-bundled-scripts
AEM as a Cloud Service supporta la distribuzione di script di componenti ui.apps
come script in bundle precompilati. Questo consente agli sviluppatori di precompilare gli script in fase di generazione della build e di assemblarli come bundle OSGi.
Vantaggi della distribuzione di script precompilati tramite bundle OSGi advantages
La distribuzione di script in bundle precompilati presenta i seguenti vantaggi:
- La compilazione degli script in fase di generazione della build consente agli sviluppatori di individuare gli errori nelle prime fasi del processo di sviluppo.
- Le dipendenze degli script da API Java sono esplicitamente definite tramite le intestazioni del bundle
Import-Package
eExport-Package
. - L’ereditarietà (tramite
sling:resourceSuperType
) e la delega ad altri tipi di risorse (ad esempio tramite l’elemento blocco HTLdata-sly-resource
o tramite il tag JSPsling:include
) possono essere mappate tramite i metadati del bundle. - Il controllo delle versioni del tipo di risorsa può essere applicato in modo simile alle API Java.
Precompilazione e importazioni di pacchetti precompilation
htl-maven-plugin
può convalidare la sintassi degli script HTL, ma può anche essere utilizzata per eseguire la transpilazione degli script HTL in classi Java. Questi vengono quindi aggiunti alla cartella generated-sources
del progetto Maven e selezionati da maven-compiler-plugin
.
È possibile aggiungere bnd-maven-plugin
per generare i metadati del bundle OSGi per le importazioni API Java.
Ereditarietà e delega inheritance-delegation
Il framework OSGi permette di definire Requisiti e funzionalità per esprimere relazioni e vincoli tra vari componenti. Questi vengono descritti tramite metadati e applicati in fase di runtime. Gli script in bundle utilizzano questo meccanismo per esprimere sia le relazioni di ereditarietà (sling:resourceSuperType
) che la delega (anche per altri tipi di risorse nel processo di rendering).
Il plug-in bnd
dal progetto scriptingbundle-maven-plugin può essere utilizzato per estrarre i requisiti e le funzionalità in base agli script forniti dal pacchetto di contenuti ui.apps
.Pacchetto contenuti
Supporto di Archetipo progetto AEM support
A partire dalla versione 31, è possibile utilizzare il modello Archetipo progetto AEM per impostare correttamente un progetto AEM as a Cloud Service per l’utilizzo di script in bundle precompilati.
Inoltre, l’Archetipo progetto AEM configura il plug-in Maven di Build Analyzer nell’SDK di AEM as a Cloud Service per convalidare le dipendenze a livello di pacchetto Java e di script.