Compilation de votre modèle

Lorsque vous compilez votre modèle, une page HTML statique est créée pour chacune des pages du fichier structure.json du site dans le modèle.

L'étape de compilation combine les métadonnées de page (par exemple, 100.json) avec la mise en page (par exemple, about.html) de sorte que la page HTML est affichée immédiatement sans avoir besoin d'un contrôleur lors de l'exécution. Les compilateurs personnalisés vous permettent de réduire davantage l'exécution JavaScript grâce à la compilation antérieure des éléments dynamiques, comme la navigation et les composants, dans la page.

La commande cec compile-template exécute les actions suivantes pour chaque page du site :

  • Lecture dans les métadonnées de site et de page
  • Lecture dans la mise en page et application des compilateurs de mise en page
  • Pour chaque emplacement sur la page :
    • Extension de l'emplacement selon la grille définie dans le fichier page.json
    • Pour chaque composant dans l'emplacement :
      • Application des compilateurs de composant
      • Insertion du balisage de composant généré à la position correspondante dans l'emplacement
  • Extension des macros dans le balisage compilé et insertion de l'objet SCS JavaScript utilisé par le programme d'affichage Oracle Content Management lors de l'exécution
  • Enregistrement du balisage de page compilé sous le dossier src/templates/<template>/static

Pour compiler votre site, exécutez :

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

Erreurs de compilation

Durant la compilation, vous pouvez obtenir trois types de message : information, avertissement et erreur.

  1. Les messages d'information portent sur des problèmes dont vous devez avoir conscience mais qui ne sont pas inhabituels dans le cadre d'une compilation :
    • Eléments de contenu d'espace réservé qui seront affichés lors de l'exécution.
    • Compilateurs de mise en page manquants. Certaines mises en page ne contiennent pas d'élément dynamique, l'absence de compilateur n'est alors pas considérée comme un problème.
    • Eléments marqués comme "affichage lors de l'accès", à savoir un composant configuré pour être affiché de façon dynamique au moment de l'exécution même lorsque la page est compilée.
  2. Les messages d'avertissement portent sur des problèmes qui peuvent nuire aux performances d'exécution du site et doivent être résolus si possible. Cette catégorie comprend les éléments suivants :
    • Compilateurs de présentation de contenu ou de composant personnalisé manquants. Sans ces éléments, les composants sont affichés de façon dynamique sur la page, comme précédemment.
    • Cartes de présentation de contenu manquantes. Il est peu probable que vous utilisiez la présentation de contenu par défaut du système pour afficher des éléments de contenu.
  3. Les messages d'erreur portent sur des problèmes qui indiquent un échec de la compilation. Les pages continueront d'être compilées lorsque cela est possible, mais le processus global de compilation prendra fin avec une erreur.
    • Ces messages sont le plus souvent causés par des erreurs JavaScript dans les compilateurs personnalisés. Toutes les erreurs doivent être résolues.

Remarque :

Pour éviter la répétition des messages, un même message n'apparaîtra qu'une seule fois par compilation indépendamment du nombre de pages concernées.

L'exemple précédent génère le statut de sortie de compilation suivant :

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

Si vous exécutez à nouveau l'étape de compilation avec l'option "-v", vous obtiendrez la sortie suivante :

> 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

Compilation de la page de détails

La compilation de la page de détails collationne tous les éléments de contenu détectés pendant la compilation. Elle recompile ensuite la page de détails de chaque élément de contenu trouvé en se servant de la valeur slug pour définir l'URL vers la nouvelle page de détails.

La sortie de la compilation précédente se produit dans deux sections :

  1. Compilation de page
  2. Compilation de la page de détails

Dans l'exemple précédent, vous obtenez des messages d'avertissement concernant l'absence d'entrée de carte de présentation de contenu pour la page Starter-Blog-Author. Toutefois, vous n'avez pas besoin des pages de détails pour Starter-Blog-Author. La page de détails est uniquement destinée aux éléments de contenu de Starter-Blog-Post. Pour enlever ces erreurs, vous pouvez exclure les éléments de contenu de la compilation de la page de détails si aucune page de détails n'est explicitement référencée dans leurs paramètres avec l'option suivante :

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

Ainsi, si vous réexécutez la compilation en excluant la création de la page de détails qui utilise la page de détails par défaut, vous obtenez la sortie suivante :

> 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

Compilation de pages spécifiques

Vous n'êtes pas obligé de compiler toutes les pages dans le modèle. Vous pouvez en effet sélectionner celles à compiler. Cette option est utile lorsque vous souhaitez déboguer ou mettre à jour des pages spécifiques plutôt que de recompiler sans cesse l'intégralité du site.

Pour compiler des pages spécifiques, utilisez l'option --pages (-p) suivie de la liste des pages à compiler.

Remarque :

Remarque : si des éléments de contenu se trouvent sur les pages de détails de référence de liste, les pages de détails seront également compilées même si elles ne sont pas explicitement incluses.

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