サイトのコンパイルの概要

サイトの「ページ」を構成するメタデータ・ファイルはコンパイル時に結合され、通常、実行時に必要なサーバーのリクエストを回避します。ページごとのビューのレンダリングが1回のみのコンパイル時間になり、効率が向上します。

実行時のリクエスト数を減らすと、パフォーマンスの改善が実現されます。これにより、すべてのコンテンツ問合せの結果を直接ページにコンパイルできるため、これらのコンテンツ問合せを回避できます。

ページが即座にレンダリングされるため、動作の改善が実現されます。したがって、「スタイルが設定されていないコンテンツのフラッシュ」の問題、コンポーネントが予測できない順序でページに表示される問題、またはページのレンダリング時にフッターがすぐに表示されてから他のアイテムとしてページの下部に移動する問題を回避できます。

Oracle Content Managementサイト内のページをコンパイルするには、テンプレートとしてサイトをエクスポートし、OCEツールキットを使用してテンプレートをコンパイルし、元のサイトに対して作成された静的ページをアップロードする必要があります。次のステップで、テンプレートのコンパイル・プロセス、およびこのモデルを使用してサイトをコンパイルする方法を説明します。

プリレンダーとのインタラクション

プリレンダーは検索エンジンに適した結果を返す機能に重点を置いています。プリレンダーによって作成されたページは、元のページと同じようには実行されず、JavaScriptは実行されません。ブラウザでプリレンダーされたHTMLを返し、SEOテキスト検索をサポートします。

サイト・コンパイルで作成された静的ページはブラウザで実行されるように想定され、元の動的サイト・ページと同様に動作します。これには、コンパイル前のコンポーネントの動的な実行、およびユーザーが結果に完全な最新データを必要とするランタイム問合せの実行が含まれていて、コンパイル時のデータの修正は含まれていません。

プリレンダーのソリューションはテナント管理者によって有効化されると、静的ページをプリレンダー・サーバーで配信することもできます。これにより、インデクサおよびクローラが静的ページの一部を処理できるようになり、このページをコンテンツ・リストのように動的にレンダリングできます。

コンテンツ問合せはコンテンツ・アイテムを返し、これにはリッチ・テキスト・フィールドの値が含まれているため、コンテンツ・レイアウトがコンテンツ・リストに使用される場合に値を別々にフェッチする必要がなくなります。

コントローラ・サイト・ページのレンダリング

cec compile-templateコマンドを使用すると、Oracle Content Managementサイト・ページ・コントローラを使用しないで、サイト・ページをブラウザで直接レンダリングできます。

コンパイラを使用して静的HTMLページを作成せずに、Oracle Content Managementサイトはコントローラ・モデルを使用してページをレンダリングします。これによって、ブラウザで実際に表示される前に、サイト、サイト内のページ、およびページをレンダリングする際に使用されるテンプレートに関する情報を取得するために多数のリクエストが発生します。

注:

controller.jsファイルの取得など、さらに多くのリクエストがあります。

コンパイル済サイト・ページのレンダリング

cec compile-templateコマンドを使用すると、静的HTMLファイルにあるすべてのこれらのステップをコンパイルでき、これらのサーバー・リクエストを削減または除去することにより、ランタイム・サイトのパフォーマンスが改善されます。さらに、実行時に変更する必要のないリソースのリクエストを削減し、これらを静的ページにコンパイルできます。

デフォルト・コンパイル・プロセスは、既存のランタイム・コントローラの作業を実行し、サイト内のpage.jsonファイルごとに物理的なHTMLページを作成します。これらのページはサイトにデプロイでき、サイトとともに公開され、対応するページURLがヒットするときに使用されます。