Kompilace vaší šablony

Při kompilaci vaší šablony se vytvoří statická stránka HTML pro každou ze stránek obsažených v souboru structure.json pro web v šabloně.

Krok kompilace kombinuje metadata stránky (například 100.json) s rozvržením stránky (například about.html), takže získáte stránku HTML, která se za běhu okamžitě zobrazí bez nutnosti použití ovladače. Vlastní kompilátory vám umožní dále omezit provádění javascriptového kódu za běhu tím, že dříve dynamické položky, jako jsou navigace a komponenty, budou zkompilovány do stránky.

Příkaz cec compile-template provede pro každou stránku webu následující akce:

  • Přečte metadata webu a stránky.
  • Přečte rozvržení stránky a použije libovolný kompilátor rozvržení stránky.
  • Pro každou pozici na stránce:
    • Rozbalí pozici s mřížkou definovanou v souboru page.json.
    • Pro každou komponentu v pozici:
      • Použije libovolný kompilátor komponent.
      • Vloží značku generované komponenty na odpovídající místo v pozici.
  • Rozbalí všechna makra v kompilované značce a vloží javascriptový objekt SCS, který je používán generovacím modulem služby Oracle Content Management za běhu
  • Uloží kompilovanou značku stránky do složky src/templates/<template>/static

Chcete-li kompilovat svůj web, pak spusťte:

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

Chyby kompilace

Během kompilace obdržíte tři typy zpráv: informační, varovné a chybové.

  1. Informační zprávy obsahují informace o problémech, kterých byste si měli být vědomi, ale zpravidla se jedná o očekávanou součást kompilace:
    • Zástupné položky obsahu pro položky, které se budou generovat za běhu.
    • Chybějící kompilátory rozvržení stránky. Rozvržení stránky nemusí obsahovat žádný dynamický prvek, a proto jejich nepřítomnost není považována za chybu.
    • Položky označené jako „generovat při přístupu“, což znamená, že vývojář webu chce, aby tato komponenta byla generována dynamicky za běhu, přestože je stránka kompilována.
  2. Varovné zprávy se týkají problémů, které pravděpodobně ovlivní výkon spuštěného webu, a pro které by měla být zjednána náprava, pokud je to možné. Mezi položky této kategorie patří:
    • Chybějící kompilátory rozvržení obsahu nebo vlastních komponent. Bez nich budou komponenty na stránce dynamicky generovány stejným způsobem jako předtím.
    • Chybějící mapy rozvržení obsahu. Je nepravděpodobné, že byste ke generování položek obsahu chtěli použít výchozí systémové rozvržení obsahu.
  3. Chybové zprávy oznamují problémy naznačující selhání kompilace. Stránky se budou nadále kompilovat, kde je to možné, ale celková kompilace se ukončí s chybou.
    • Nejpravděpodobnější příčinou budou chyby v javascriptovém kódu ve vlastních kompilátorech. Veškeré chyby je nutné vyřešit.

Poznámka:

Z důvodu omezení opakujících se zpráv se stejná zpráva zobrazí během jedné kompilace pouze jednou bez ohledu na to, zda se chyba vyskytuje na jedné nebo více stránkách.

Předchozí příklad má následující stav ukončení kompilace:

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

Pokud znovu spustíte krok kompilace s volbou „-v“, zobrazí se následující výstup:

> 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

Kompilace stránky podrobností

Kompilace stránky podrobností shromáždí všechny položky obsahu, s nimiž se setká během kompilace. Poté provede opětovnou kompilaci stránky podrobností pro každou nalezenou položku obsahu, přičemž použije hodnotu zkráceného názvu k definování adresy URL nové stránky podrobností.

Výstup předchozí kompilace probíhá ve dvou sekcích:

  1. Kompilace stránky
  2. Kompilace stránky podrobností

V předchozím příkladu je uvedeno varování, že pro stránku Starter-Blog-Author nejsou dostupné žádné položky mapy rozvržení obsahu. Nechceme však stránky podrobností pro stránku Starter-Blog-Author. Stránka podrobností je pouze pro položky obsahu stránky Starter-Blog-Post. Tyto chyby můžeme odstranit tak, že vyloučíme položky obsahu z kompilace stránky podrobností, pokud nemají v nastavení stanovenu explicitní odkazovanou stránku podrobností. K tomu použijeme následující volbu:

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

Takže opětovné spuštění kompilace, při němž je vyloučeno vytváření stránek podrobností v případě, že má být použita výchozí stránka podrobností, vyprodukuje následující výstup:

> 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

Kompilace konkrétních stránek

Není nutné kompilovat všechny stránky obsažené v šabloně, můžete si vybrat, které stránky chcete kompilovat. To je užitečné, pokud pracujete na konkrétních stránkách, které chcete ladit nebo aktualizovat, a přitom nechcete neustále opakovaně kompilovat celý web.

Chcete-li kompilovat konkrétní stránky, použijte volbu --pages (-p), za kterou bude následovat seznam stránek, které si přejete kompilovat.

Poznámka:

Poznámka: Pokud se položky obsahu nacházejí na stránkách v seznamu, který se odkazuje na stránky podrobností, budou kompilovány také stránky podrobností, i když nejsou výslovně zahrnuty.

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