Uw sjabloon compileren

Wanneer u uw sjabloon compileert, wordt een statische HTML-pagina gemaakt voor elke pagina in het bestand structure.json voor de site in de sjabloon.

Tijdens de compilatie worden de metagegevens voor de pagina (bijvoorbeeld 100.json) gecombineerd met de paginalay-out (bijvoorbeeld about.html), zodat u een HTML-pagina krijgt die meteen wordt weergegeven zonder dat een controller tijdens runtime nodig is. Met de aangepaste compilers kunt u de uitvoering van runtime-JavaScript verder beperken door items die eerder dynamische waren, zoals navigatie en componenten, in de pagina te compileren.

Met de opdracht cec compile-template worden de volgende acties uitgevoerd voor elke pagina van de site:

  • De site en metagegevens voor de pagina inlezen
  • De paginalay-out inlezen en een paginalay-outcompiler toepassen
  • Voor elke slot op de pagina:
    • De slot uitbreiden met het raster dat in het bestand page.json is gedefinieerd.
    • Voor elke component in de slot:
      • Een componentcompiler toepassen
      • De gegenereerde componentmarkup op de overeenkomstige locatie invoegen in de slot
  • Macro's in de gecompileerde markup uitvouwen en het SCS JavaScript-object invoegen dat door de Oracle Content Management renderer tijdens runtime wordt gebruikt.
  • De gecompileerde paginamarkup opslaan in de map src/templates/<template>/static

Voer het volgende uit om uw site te compileren:

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

Compilatiefouten

Tijdens de compilatie kunnen drie typen berichten worden gegenereerd: informatieve berichten, waarschuwingen en foutmeldingen.

  1. Informatieve berichten zijn meldingen over problemen waarvan u op de hoogte moet zijn en worden gewoonlijk gegenereerd tijdens de compilatie:
    • Plaatsaanduidingen waarvoor de inhoud tijdens runtime wordt ingevuld
    • Compilers voor ontbrekende paginalay-outs. Paginalay-outs bevatten mogelijk geen dynamische elementen en dus is het geen probleem als ze afwezig zijn.
    • Componenten die als 'renderen bij toegang' zijn gemarkeerd, d.w.z. componenten waarvoor de siteontwikkelaar heeft ingesteld dat ze dynamisch worden gerenderd tijdens runtime, terwijl de rest van de pagina wel wordt gecompileerd.
  2. Waarschuwingsberichten gaan over problemen die de prestaties van de productiesite waarschijnlijk negatief beïnvloeden en die moeten worden gecorrigeerd. Items in deze categorie zijn als volgt:
    • Ontbrekende inhoudlay-out of aangepaste componentcompilers. Zonder deze items worden de componenten dynamisch gerenderd op de pagina's, zoals gebruikelijk.
    • Ontbrekende mappings voor inhoudlay-out. Het is niet erg waarschijnlijk dat u de standaardlay-out van het systeem wilt gebruiken om inhouditems weer te geven.
  3. Foutberichten zijn meldingen die wijzen op compilatieproblemen. Het compileren van de pagina's wordt voortgezet, maar het eindresultaat van de compilatie levert een fout op.
    • Deze wordt meestal veroorzaakt door JavaScript-fouten in aangepaste compilers. Eventuele fouten moeten worden verholpen.

Opmerking:

Om te voorkomen dat hetzelfde bericht meermaals wordt gegenereerd, wordt het slechts één keer per compilatie getoond, ongeacht of het betrekking heeft op meerdere pagina's.

Het bovenstaande scenario leidt tot de volgende exit-status voor de compilatie:

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

Als u de compilatiestap opnieuw uitvoert met de optie "-v", ziet u de volgende uitvoer:

> 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

Compilatie van detailpagina's

Bij het compileren van detailpagina's worden alle inhouditems samengevoegd die tijdens de compilatie worden aangetroffen. Vervolgens wordt de detailpagina voor elk aangetroffen inhouditem opnieuw gecompileerd, waarbij de slugwaarde wordt gebruikt om de URL van de nieuwe detailpagina te definiëren.

De voorgaande compilatie-uitvoer treedt op in twee secties:

  1. Compilatie van pagina's
  2. Compilatie van detailpagina's

Op basis van het bovenstaande scenario krijgt u waarschuwingen te zien over mappings die geen inhoudlay-out bevatten voor de pagina Starter-Blog-Author. Detailpagina's voor Starter-Blog-Author zijn echter niet gewenst. De detailpagina is alleen voor inhouditems van Starter-Blog-Post. U kunt deze fouten verhelpen door met de volgende optie inhouditems uit te sluiten van de compilatie van detailpagina's als in de instellingen van die items niet naar een expliciete detailpagina wordt verwezen:

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

Als u de compilatie nu opnieuw uitvoert, waarbij het maken van detailpagina's wordt overgeslagen voor alle items waarvoor de standaarddetailpagina wordt gebruikt, verkrijgt u de volgende uitvoer:

> 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

Specifieke pagina's compileren

U hoeft niet alle pagina's van de sjabloon te compileren. U kunt selecteren welke pagina's u wilt compileren. Dat is handig als u aan specifieke pagina's werkt die u wilt debuggen of bijwerken. U hoeft dan niet steeds de hele site opnieuw te compileren.

U kunt specifieke pagina's compileren met de optie --pages (-p) en de lijst van pagina's die u wilt compileren.

Opmerking:

Opmerking: als de pagina's op de lijst inhouditems bevatten die naar detailpagina's verwijzen, worden de detailpagina's ook gecompileerd, ook als ze niet expliciet zijn opgenomen.

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