Compilare il modello

Quando si compila il modello, viene creata una pagina HTML statica per ogni pagina del file structure.json per il sito contenuto nel modello.

Il passo di compilazione combina i metadati di pagina (ad esempio 100.json) con il layout di pagina (ad esempio, about.html) in modo da rendere disponibile una pagina HTML che verrà visualizzata immediatamente senza che sia necessario un controller in runtime. I compilatori personalizzati consentono di ridurre ulteriormente l'esecuzione JavaScript in runtime mediante la compilazione nella pagina degli elementi dinamici precedenti, quali la navigazione e i componenti.

Il comando cec compile-template esegue le azioni riportate di seguito per ogni pagina del sito.

  • Lettura dei metadati del sito e delle pagine
  • Lettura del layout di pagina e applicazione di qualsiasi compilatore di layout di pagina
  • Per ogni slot della pagina:
    • Espansione dello slot con la griglia definita nel file page.json
    • Per ogni componente contenuto nello slot:
      • Applicazione di qualsiasi compilatore di componenti
      • Inserimento del markup dei componenti generato nella posizione corrispondente all'interno dello slot
  • Espansione di tutte le macro nel markup compilato e inserimento dell'oggetto JavaScript SCS utilizzato dal renderer di Oracle Content Management in runtime
  • Salvataggio del markup di pagina compilato nella cartella src/templates/<template>/static

Per compilare il sito, eseguire il codice seguente:

> cec compile-template BlogTemplate
Compile Template: compiling template BlogTemplate
Oracle Content Management Site Compiler

createPage: Processing pageId 100. Preview URL: 
http://localhost:8085/templates/BlogTemplate/index.html 
createPage: Processing pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail.html 
createPage: Processing pageId 401. Preview URL: 
http://localhost:8085/templates/BlogTemplate/about.html 
createPage: Processing pageId 402. Preview URL: 
http://localhost:8085/templates/BlogTemplate/search.html 
createPage: Processing pageId 403. Preview URL: 
http://localhost:8085/templates/BlogTemplate/authors.html 
All page creation calls complete.

Creating detail pages: 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063051-developing-content-layout- for-content-and-experience-cloud
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063052-dynamic-dom- manipulation-in-content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063045-getting-media-url-in- the-content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063053-getting-reference- items-in-content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063048-navigating-to-a- search-page-with-search-query 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063050-alex-read 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063047-jerrold-summers 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063049-kelly-emerson 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063043-samantha-howard 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063046-raising-triggers-from- content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063044-rendering-the-content- layout-using-mustache-template 
All detail page creation calls complete.

Errori di compilazione

Durante la compilazione possono essere visualizzati tre tipi di messaggi: informativi, di avvertenza e di errore.

  1. I messaggi informativi sono relativi a problemi da tenere presenti, ma tali messaggi sono generalmente previsti nell'ambito della compilazione.
    • Elementi di contenuto segnaposto di cui verrà eseguito il rendering in runtime.
    • Compilatori di layout di pagina mancanti. I layout di pagina potrebbero non avere elementi dinamici, pertanto non sono considerati un problema se mancano.
    • Elementi contrassegnati come "rendering all'accesso": lo sviluppatore del sito desidera che questo componente venga sottoposto a rendering dinamico in runtime anche se la pagina viene compilata.
  2. I messaggi di avvertenza sono relativi a problemi che probabilmente influiscono sulle prestazioni del sito in esecuzione e devono essere corretti ove possibile. Di seguito vengono descritti gli elementi di questa categoria.
    • Compilatori di layout di contenuto o di componenti personalizzati mancanti. Senza questi compilatori, i componenti verranno visualizzati in modo dinamico nella pagina come avvenuto in precedenza.
    • Mappe dei layout di contenuto mancanti. È improbabile che si desideri utilizzare il layout di contenuto predefinito del sistema per eseguire il rendering degli elementi di contenuto.
  3. I messaggi di errore sono relativi a problemi che indicano un errore di compilazione. La compilazione delle pagine continuerà ove possibile, ma la compilazione globale verrà interrotta con un errore.
    • Ciò è causato con ogni probabilità dalla presenza di errori JavaScript nei compilatori personalizzati; tutti gli errori devono essere risolti.

Nota:

Per ridurre la quantità dei messaggi che si ripetono, lo stesso messaggio verrà visualizzato una sola volta per compilazione anche se l'errore corrispondente si verifica su più pagine.

Nell'esempio precedente viene indicato lo stato di uscita dalla compilazione seguente:

Compilation completed with 0 errors and 3 warnings. 
to display warnings, run with --verbose (-v) option.

Se si esegue il passo di compilazione con l'opzione "-v", verrà restituito l'output seguente:

> cec compile-template BlogTemplate --verbose
Compile Template: compiling template BlogTemplate 
Oracle Content Management Site Compiler

createPage: Processing pageId 100. Preview URL: 
http://localhost:8085/templates/BlogTemplate/index.html 
createPage: Processing pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail.html
Info: no content item specified for placeholder: a890a65c-c0fc-451b-966b-e606ca18a1f4 
component will render at runtime. 
Info: no content item specified for placeholder: c90bbc10-c9d8-4a54-8dd4-7a8251e8efbb 
component will render at runtime. 
Info: no content item specified for placeholder: f12691e1-79ab-4d1f-a8b9-3af8c638dd26 
component will render at runtime.
createPage: Processing pageId 401. Preview URL: 
http://localhost:8085/templates/BlogTemplate/about.html 
createPage: Processing pageId 402. Preview URL: 
http://localhost:8085/templates/BlogTemplate/search.html
Info: Component: "fdfd0392-e901-48f6-8044-36803c836aa1" of type "scs-contentlist" marked as 
"render on access", will not be compiled. 
Info: Component: "ba9f3711-4367-444e-ae38-71289fc10e73" of type "scs-contentlist" marked as 
"render on access", will not be compiled. 
createPage: Processing pageId 403. Preview URL: 
http://localhost:8085/templates/BlogTemplate/authors.html 
All page creation calls complete. 

Creating detail pages: 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063051-developing-content- layout-for-content-and-experience-cloud 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063052-dynamic-dom- manipulation-in-content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063045-getting-media-url-in- the-content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063053-getting-reference- items-in-content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063048-navigating-to-a- search-page-with-search-query 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063050-alex-read 
Warning: failed to find content layout map entry for: Starter-Blog-Author:header. Will compile 
using the system default layout.
Warning: failed to find content layout map entry for: Starter-Blog-Author:content. Will compile 
using the system default layout. 
Warning: failed to find content layout map entry for: Starter-Blog-Author:sidebar. Will compile 
using the system default layout.  
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063047-jerrold-summers 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063049-kelly-emerson 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063043-samantha-howard 
createPage: Processing detail pageId 105. 
Preview URL: http://localhost:8085/templates/BlogTemplate/post-detail/1481786063046-raising-triggers-from- content-layout 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063044-rendering-the-content- layout-using-mustache-template 
All detail page creation calls complete. 

Compilation completed with 0 errors and 3 warnings. 

*** compiled template is ready to test 
*** to render non-compiled pages, remove compiled files from under: /private/tmp/cec-
src/src/templates/BlogTemplate/static

Compilazione delle pagine Dettaglio

La compilazione delle pagine Dettaglio fascicola tutti gli elementi di contenuto rilevati durante l'operazione. Successivamente ricompila la pagina Dettaglio per ogni elemento di contenuto trovato, usando il valore slug per definire l'URL alla nuova pagina Dettaglio.

L'output di compilazione precedente si trova in due sezioni:

  1. Compilazione delle pagine
  2. Compilazione delle pagine Dettaglio

Nell'esempio precedente verranno visualizzate avvertenze relative all'assenza delle voci delle mappe di layout di contenuto per la pagina Starter-Blog-Author. In effetti si preferisce non avere pagine Dettaglio per Starter-Blog-Author. La pagina Dettaglio è riservata per gli elementi di contenuto Starter-Blog-Post. Per rimuovere questi errori, è possibile escludere gli elementi di contenuto dalla compilazione della pagina Dettaglio se non dispongono di una pagina Dettaglio esplicita a cui si fa riferimento nelle impostazioni mediante l'opzione seguente:

--noDefaultDetailPageLink, -o  Do not generate compiled detail page for items/content lists
      that use the default detail page.

La nuova esecuzione della compilazione, escludendo la creazione di pagine Dettaglio che utilizza la pagina Dettaglio predefinita, produce l'output seguente:

> cec compile-template BlogTemplate --noDefaultDetailPageLink 
Compile Template: compiling template BlogTemplate 
Oracle Content Management Site Compiler 

createPage: Processing pageId 100. Preview URL: 
http://localhost:8085/templates/BlogTemplate/index.html 
createPage: Processing pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail.html 
createPage: Processing pageId 401. Preview URL: 
http://localhost:8085/templates/BlogTemplate/about.html 
createPage: Processing pageId 402. Preview URL: 
http://localhost:8085/templates/BlogTemplate/search.html 
createPage: Processing pageId 403. Preview URL: 
http://localhost:8085/templates/BlogTemplate/authors.html 
All page creation calls complete.

Creating detail pages: 
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063051-developing-content-
layout-for-content-and-experience-cloud
createPage: Processing detail pageId 105. Preview URL:
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063052-dynamic-dom -manipulation-in-content-layout
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063045-getting-media-url-in- the-content-layout
createPage: Processing detail pageId 105. Preview URL:  
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063053-getting-reference- items-in-content-layout
createPage: Processing detail pageId 105. Preview URL: 
http://localhost:8085/templates/BlogTemplate/post-detail/1481786063048-navigating-to-a- search-page-with-search-query
All detail page creation calls complete.

Compilation completed with no errors.

*** compiled template is ready to test 
*** to render non-compiled pages, remove compiled files from under: /private/tmp/cec-
src/src/templates/BlogTemplate/static

Compilare pagine specifiche

Non è necessario compilare tutte le pagine del modello ed è possibile selezionare le pagine da compilare. Ciò è utile se si lavora su pagine specifiche di cui si desidera eseguire il debug o l'aggiornamento anziché dover ricompilare continuamente l'intero sito.

Per compilare pagine specifiche, usare l'opzione --pages (-p) seguita dalla lista delle pagine da compilare.

Nota:

Nota: se gli elementi di contenuto si trovano nelle pagine Dettaglio di riferimento della lista, verranno compilate anche le pagine Dettaglio anche se non incluse in modo esplicito.

cec compile-template BlogTemplate --pages 401,402 
Compile Template: compiling template BlogTemplate 
Oracle Content Management Site Compiler

createPage: Processing pageId 401. Preview URL: 
http://localhost:8085/templates/BlogTemplate/about.html 
createPage: Processing pageId 402. Preview URL: 
http://localhost:8085/templates/BlogTemplate/search.html 
All page creation calls complete.

Compilation completed with no errors. 
*** compiled template is ready to test 
*** to render non-compiled pages, remove compiled files from under: /private/tmp/cec- 
src/src/templates/BlogTemplate/static