Kompilere skabelonen

Når du kompilerer skabelonen, opretter den en statisk HTML-side for hver af siderne i filen structure.json for sitet i skabelonen.

Kompileringstrinnene kombinerer sidemetadataene (for eksempel 100.json) med sidelayoutet (for eksempel about.html), så du har en HTML-side, der straks vises, uden at der er behov for en controller under runtime. De tilpassede compilere gør det muligt for dig at reducere JavaScript-runtime-udførelsen yderligere ved at sørge for, at tidligere dynamiske elementer, for eksempel navigation og komponenter, kompileres på siden.

Kommandoen cec compile-template udfører følgende handlinger for hver side på sitet:

  • Indlæs sitet og sidemetadataene
  • Indlæs sidelayoutet, og anvend en eventuel sidelayout-compiler
  • For hver plads på siden:
    • Udvid pladsen med det gitter, der er defineret i filen page.json
    • For hver komponent på pladsen:
      • Anvend en eventuel komponent-compiler
      • Indsæt den genererede komponentmarkup på den tilsvarende lokation på pladsen
  • Udvid eventuelle makroer i den kompilerede markup, og indsæt det SCS JavaScript-objekt, der bruges af Oracle Content Management-gengiveren under runtime
  • Gem den kompilerede sidemarkup under mappen src/templates/<template>/static

Kør følgende for at kompilere sitet:

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

Kompileringsfejl

Under kompilering vises der tre typer meddelelser: oplysningsmeddelelser, advarselsmeddelelser og fejlmeddelelser.

  1. Oplysningsmeddelelser angår problemer, som du skal være opmærksom på, men du kan sandsynligvis forvente disse meddelelser i forbindelse med kompilering:
    • Pladsholderindholdselementer, der gengives under runtime.
    • Manglende sidelayoutcompilere. Sidelayouts indeholder intet dynamisk element, så det regnes ikke for at være et problem, hvis de mangler.
    • Elementer, der er markeret som "render on access", det vil sige at siteudvikleren vil have komponenten gengivet dynamisk under runtime, selv om siden er kompileret.
  2. Advarselsmeddelelser angår problemer, der sandsynligvis påvirker ydeevnen for det kørende site, og som bør rettes, hvor det er muligt. Her følger elementer i denne kategori:
    • Manglende indholdslayout eller tilpassede komponentcompilere. Uden disse gengives komponenterne dynamisk på siden, på samme måde som tidligere.
    • Manglende indholdslayoutkort. Det er usandsynligt, at du vil bruge systemets standardindholdslayout til gengivelse af indholdselementer.
  3. Fejlmeddelelser angår problemer, der angiver en kompileringsfejl. Kompileringen af siderne fortsætter, hvor det er muligt, men den samlede kompilering afsluttes med en fejl.
    • Dette skyldes sandsynligvis JavaScript-fejl i tilpassede compilere, og alle fejl skal rettes.

Bemærk:

For at reducere antallet af gentagne meddelelser vises den samme meddelelse kun én gang for hver kompilering, uanset om den forekommer på en eller flere sider.

Det foregående eksempel har følgende kompileringsafslutningsstatus:

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

Hvis du kører kompileringstrinnet igen med valget "-v" angivet, vises følgende output:

> 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

Detaljesidekompilering

Ved detaljesidekompilering samles alle indholdselementer, som registreres under kompilering. Derefter genkompileres detaljesiden for hvert af de indholdselementer, som bliver fundet, hvor slug-værdien bruges til at definere URL'en for den nye detaljeside.

Det foregående kompileringsoutput opstår i to sektioner:

  1. Sidekompilering
  2. Detaljesidekompilering

I det foregående eksempel vises advarsler om, at der ikke er nogen kortposter for indholdslayout for siden Starter-Blog-Author. Der skal imidlertid ikke oprettes detaljesider for Starter-Blog-Author. Detaljesiden er kun for Starter-Blog-Post-indholdselementer. For at fjerne disse fejl kan vi, ved hjælp af det følgende valg, udelade indholdselementer under detaljesidekompilering, hvis der ikke eksplicit refereres til en detaljeside i deres indstillinger:

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

Så når kompileringen køres igen, hvor detaljesideoprettelse, der bruger standarddetaljesiden, udelades, genereres følgende output:

> 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

Kompilere specifikke sider

Du behøver ikke at kompilere alle siderne i skabelonen, og du kan vælge, hvilke sider der skal kompileres. Dette er praktisk, hvis du arbejder på specifikke sider, som du vil foretage fejlfinding på eller opdatere, så du undgår at kompilere hele sitet gentagne gange.

Hvis du vil kompilere specifikke sider, skal du bruge valget --pages (-p) efterfulgt af listen over de sider, som du vil kompilere.

Bemærk:

Bemærk: Hvis indholdselementer på siderne på listen refererer til detaljesider, kompileres detaljesiderne også, selvom de ikke inkluderes eksplicit.

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