Compilar o Seu Modelo

Quando compilar o seu modelo, é criada uma página HTML estática para cada uma das páginas no ficheiro structure.json para o site dentro do modelo.

O passo de compilação combina os metadados das páginas (por exemplo, 100.json) com a disposição da página (por exemplo, about.html) para que tenha uma página HTML que será imediatamente apresentada sem ser necessário um controlador em runtime. Os compiladores customizados permitem-lhe reduzir a execução de JavaScript em runtime tendo itens anteriormente dinâmicos, como a navegação e os componentes, compilados na página.

O comando cec compile-template executará as seguintes ações para cada página no site:

  • Ler nos metadados de site e de página
  • Ler na disposição de página e aplicar qualquer compilador de disposição de página
  • Para cada slot na página:
    • Expandir o slot com a grelha definida no ficheiro page.json
    • Para cada componente no slot:
      • Aplicar qualquer compilador de componente
      • Inserir o markup de componente gerado na localização correspondente no slot
  • Expandir quaisquer macros na markup compilada e inserir o objeto de JavaScript de SCS que é utilizado pelo renderizador do Oracle Content Management em runtime
  • Gravar o markup da página compilada na pasta src/templates/<template>/static

Para compilar o seu site, execute:

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

Erros de Compilação

Durante a compilação, obterá três tipos de mensagens: Informações, Aviso e Erros.

  1. As mensagens de informações são acerca de problemas que deve conhecer, mas estas mensagens são provavelmente previstas como parte da compilação:
    • Os itens de conteúdo do repositório de valores que serão apresentados em runtime.
    • Compiladores de disposição de página em falta. As disposições de página poderão não ter nenhum elemento dinâmico e, por isso, não são consideradas como um problema se não existirem.
    • Os itens marcados com "apresentar no acesso"; isto é, o desenvolvedor do site pretende que este componente seja apresentado de forma dinâmica em runtime meso que a página seja compilada.
  2. As mensagens de aviso são acerca de problemas que possivelmente afetarão o desempenho do site em execução e que deverão ser corrigidos sempre que possível. Seguem-se os itens nesta categoria:
    • Compiladores de disposição de conteúdo ou componente customizado em falta. Sem estes, os componentes serão apresentados de forma dinâmica na página tal como o foram anteriormente.
    • Mapas de disposição de conteúdo em falta. Provavelmente não quererá utilizar a disposição de conteúdo por omissão do sistema para apresentar itens de conteúdo.
  3. As mensagens de erro são acerca de problemas que indicam uma falha na compilação. As páginas continuarão a ser compiladas sempre que for possível, mas a compilação global terminará com um erro.
    • Isto é provavelmente causado por erros de JavaScript em compiladores customizados e quaisquer erros deve ser resolvidos.

Nota:

Para reduzir as mensagens repetitivas, a mesma mensagem aparecerá apenas uma vez por compilação independentemente se ocorrer em múltiplas páginas.

O exemplo precedente tem o seguinte estado de saída da compilação:

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

Se voltar a executar o passo de compilação com a opção "-v", verá o seguinte resultado:

> 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

Compilação da Página de Detalhes

A compilação de página de detalhes agrupa todos os itens de conteúdo que encontra durante a compilação. Em seguida, volte a compilar a página de detalhes para cada item de conteúdo que encontrar, utilizando o valor de slug para definir o URL para a nova página de detalhes.

O resultado da compilação precedente ocorre em duas secções:

  1. Compilação da Página
  2. Compilação da Página de Detalhes

No exemplo precedente, verá avisos sobre entradas de mapa de disposição sem conteúdo para a página Starter-Blog-Author. No entanto, não pretendemos páginas de detalhes para Starter-Blog-Author. A página de detalhes só se destina a itens de conteúdo Starter-Blog-Post. Para retirar estes erros, podemos excluir itens de conteúdo da compilação da página de detalhes se não tiverem uma página de detalhes explícita referenciada nas respetivas definições, com a seguinte opção:

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

Por conseguinte, voltar a executar a compilação, excluindo a criação de página de detalhes que utiliza a página de detalhes por omissão, produz o seguinte resultado:

> 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

Compilar Páginas Específicas

Não precisa de compilar todas as páginas no modelo mas poderá selecionar as páginas que pretende compilar. Isto é útil se estiver a trabalhar em páginas específicas que pretenda depurar ou atualizar em vez de estar continuamente a compilar de novo todo o site.

Para compilar páginas específicas, utilize a opção --pages (-p) seguida da lista de páginas que pretende compilar.

Nota:

Nota: Se os itens de conteúdo estiverem nas páginas de detalhes de referência da lista, as páginas de detalhes também serão compiladas apesar de não serem incluídas explicitamente.

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