Compilarea şablonului dvs.

Când vă compilaţi şablonul, el creează o pagină HTML statică pentru fiecare dintre paginile din fişierul structure.json pentru site-ul din cadrul şablonului.

Etapa de compilare combină metadatele paginii (de exemplu 100.json) cu macheta paginii (de exemplu, about.html) astfel încât să aveţi o pagină HTML care se va afişa imediat, fără a fi nevoie de un controler la runtime. Compilatoarele personalizate vă permit să reduceţi în continuare execuţia JavaScript la runtime, având elemente dinamice anterioare, cum ar fi navigarea şi componentele, compilate în pagină.

Comanda cec compile-template va întreprinde următoarele acţiuni pentru fiecare pagină din site:

  • Citire metadate pentru site şi pagină
  • Citire în macheta paginii şi aplicarea oricărui compilator pentru macheta paginii
  • Pentru fiecare slot de pe pagină:
    • Extindeţi slotul cu grila definită în fişierul page.json
    • Pentru fiecare componentă din cadrul slotului:
      • Aplicaţi orice compilator de componente
      • Inseraţi marcajul componentei generate în locaţia corespunzătoare din cadrul slotului
  • Extindeţi orice macrocomenzi din marcajul compilat şi inseraţi obiectul SCS JavaScript care este utilizat de randatorul Oracle Content Management la runtime
  • Salvaţi marcajele paginii compilate în folderul src/templates/<template>/static

Pentru a vă compila site-ul, rulaţi:

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

Erori de compilare

În timpul compilării, veţi primi trei tipuri de mesaje: Informare, Avertisment şi Erori.

  1. Mesajele de informare se referă la probleme cărora trebuie să le acordaţi atenţie, dar aceste mesaje sunt probabil de aşteptat în cadrul compilării:
    • Elemente de conţinut substituente care se vor randa la runtime.
    • Lipsesc compilatoare de machetă de pagină. Este posibil ca machetele de pagini să nu aibă niciun element dinamic, prin urmare lipsa acestora nu este considerată o problemă.
    • Elemente marcate cu "randare la acces"; adică dezvoltatorul de site vrea ca această componentă să fie randată dinamic la runtime deşi pagina este compilată.
  2. Mesajele de avertizare se referă la probleme susceptibile să afecteze performanţa site-ului care rulează şi care ar trebui remediate acolo unde este posibil. Urmează elementele din această categorie:
    • Compilatoare lipsă de machete de conţinut sau de componente personalizate. În lipsa acestora, componentele se vor randa dinamic pe pagină, aşa cum au făcut şi anterior.
    • Hărţi de machete de conţinut lipsă. Este puţin probabil să doriţi să utilizaţi macheta de conţinut prestabilită în sistem pt. a randa elemente de conţinut.
  3. Mesajele de eroare se referă la probleme care indică un eşec la compilare. Paginile vor continua să se compileze acolo unde este posibil, dar compilarea generală se va închide cu o eroare.
    • Acest lucru se datorează cel mai probabil unor erori de JavaScript din compilatoarele personalizate şi orice erori trebuie rezolvate.

Notă:

Pt. a reduce mesajele repetitive, acelaşi mesaj va apărea doar o dată per compilare, indiferent dacă apare pe mai multe pagini.

Exemplul anterior are următoarea stare de ieşire din compilare:

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

Dacă rulaţi din nou pasul de compilare cu opţiunea "-v", veţi vedea următorul rezultat:

> 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

Compilarea paginii de detalii

Compilarea paginii de detalii colaţionează toate elementele de conţinut pe care le întâlneşte în timpul compilării. Recompilează apoi pagina de detalii pt. fiecare element de conţinut găsit, utilizând valoarea slugului pt. a defini URL-ul către noua pagină de detalii.

Rezultatul compilării precedente are loc în două secţiuni:

  1. Compilare pagină
  2. Compilarea paginii de detalii

În exemplul precedent, veţi vedea avertismente despre inexistenţa de intrări de mapare de machetă de conţinut pt. pagina Starter-Blog-Author. Cu toate acestea, nu vrem pagini de detalii pt. Starter-Blog-Author. Pagina de detalii este doar pt. elementele de conţinut Starter-Blog-Post. Pt. a elimina aceste erori, putem exclude elementele de conţinut de pe compilarea paginii de detalii, dacă acestea nu fac referire în setări în mod explicit la o pagină de detalii, cu următoarea opţiune:

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

Prin urmare, rularea din nou a compilării, excluderea creării de pagină de detalii care utilizează pagina de detalii prestabilită, produce următorul rezultat:

> 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

Compilarea anumitor pagini

Nu este necesar să compilaţi toate paginile din respectivul şablon şi puteţi selecta paginile care trebuie compilate. Acest lucru este util dacă lucraţi pe anumite pagini pe care doriţi să le remediaţi sau să le actualizaţi, mai degrabă decât să recompilaţi mereu întregul site.

Pentru a compila anumite pagini, utilizaţi opţiunea --pages (-p) urmată de lista de pagini pe care sunteţi interesat să le compilaţi.

Notă:

Notă: Dacă elementele de conţinut sunt pe pagini aflate între paginile cu detalii de referinţă ale listei, paginile cu detalii vor fi compilate chiar dacă nu sunt incluse în mod explicit.

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