Compile su plantilla

Cuando se compila una plantilla, se crea una página HTML estática para cada una de las páginas del archivo structure.json para el sitio en la plantilla.

El paso de compilación combina los metadatos de la página (por ejemplo, 100.json) con el diseño de página (por ejemplo, about.html) para obtener una página HTML que se mostrará inmediatamente sin la necesidad de un controlador en tiempo de ejecución. Los compiladores personalizados le permiten reducir la ejecución de JavaScript en tiempo de ejecución si poseía previamente elementos dinámicos, como de navegación y componentes, compilados en la página.

El comando cec compile-template realizará las siguientes acciones para cada página del sitio:

  • Leer los metadatos del sitio y la página.
  • Leer el diseño de página y aplicar cualquier compilador de diseño de página.
  • Para cada espacio de la página:
    • Ampliar el espacio con la cuadrícula definida en el archivo page.json.
    • Para cada componente del espacio:
      • Aplicar un compilador de componente.
      • Insertar el marcador de componente generado en la ubicación correspondiente en el espacio.
  • Expandir cualquier macro del marcador compilado e insertar el objeto de JavaScript SCS que usa el intérprete de Oracle Content Management en tiempo de ejecución.
  • Guarde el marcador de página compilado en la carpeta src/templates/<template>/static

Para compilar el sitio, ejecute:

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

Errores de compilación

Durante la compilación, obtendrá tres tipos de mensajes: de información, de advertencia y de error.

  1. Los mensajes de información tratan de incidencias que deberá tener en cuenta, pero es probable que sean parte de la compilación:
    • Elementos de contenido del marcador de posición que se representará en tiempo de ejecución.
    • Compiladores de diseño de página que faltan. Puede que los diseños de página no tengan ningún elemento dinámico, por lo que no se considerará un problema si faltan.
    • Elementos marcados como "representar al acceder"; es decir, el desarrollador del sitio desea que este componente se represente dinámicamente en tiempo de ejecución aunque la página esté compilada.
  2. Los mensajes de advertencia tratan de incidencias que posiblemente afecten al rendimiento del sitio que se está ejecutando y que se deben corregir cuando sea posible. Los elementos de esta categoría son:
    • Compiladores de componentes personalizados o de diseño de contenido que faltan. Sin ellos, los componentes se representarán dinámicamente en la página como ocurrió anteriormente.
    • Asignaciones de diseño de contenido que faltan. Posiblemente no desee usar el diseño de contenido por defecto del sistema para representar elementos de contenido.
  3. Los mensajes de error tratan de incidencias que indican un fallo de compilación. Las páginas se seguirán compilando cuando sea posible, pero la compilación general saldrá con error.
    • Esto suele ocurrir debido a errores de JavaScript en compiladores personalizados y se tiene que resolver cualquier error.

Nota:

Para reducir los mensajes repetitivos, aparecerá el mismo mensaje una única vez por cada compilación aunque ocurra en varias páginas.

El ejemplo anterior tiene el siguiente estado de salida de compilación:

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

Si vuelve a ejecutar el paso de la compilación con la opción "-v", verá la siguiente salida:

> 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

Compilación de página de detalles

La compilación de la página de detalles reúne todos los elementos de contenido que encuentra durante la compilación. A continuación, vuelve a compilar la página de detalles para cada elemento de contenido que encuentra, utilizando el valor de nombre para URL para definir la URL de la nueva página de detalles.

El resultado de la compilación anterior se produce en dos secciones:

  1. Compilación de la página
  2. Compilación de página de detalles

En el ejemplo anterior, verá advertencias sobre la falta de entradas de asignación de diseño de contenido para la página Starter-Blog-Author. Sin embargo, no queremos páginas de detalles para Starter-Blog-Author. La página de detalle es solo para los elementos de contenido de Starter-Blog-Post. Para eliminar estos errores, podemos excluir de la compilación de la página de detalles, mediante la siguiente opción, los elementos de contenido que no tengan una página de detalles a la que se haga referencia de forma explícita en sus ajustes:

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

Por lo tanto, al volver a ejecutar la compilación, excluyendo la creación de la página de detalles que utiliza la página de detalles por defecto, se produce el siguiente 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

Compilación de páginas específicas

No es necesario compilar todas las páginas de la plantilla; puede seleccionar las páginas que desee compilar. Esta opción resulta útil cuando está trabajando en páginas específicas que desea depurar o actualizar, en lugar de tener que recompilar todo el sitio continuamente.

Para compilar páginas específicas, utilice la opción --pages (-p) seguida de la lista de páginas que desee compilar.

Nota:

Nota: Si los elementos de contenido están en las páginas de la lista de páginas de detalle de referencia, las páginas de detalle también se compilarán aunque no se incluyan de forma explícita.

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