Sitesは、パフォーマンスの優れた大規模なコンテンツ管理および配信システムです。Sitesを使用して、大規模で複雑なWebサイトや業務を実行するサイト、およびその他のタイプのサイトを作成および管理します。これらのサイトはすべて、オンライン・サイトまたはWebサイトと総称されます。Sitesの概要について説明します。(11.1.1.8.0)では、サイト・デスクトップ、サイトDocLink、静的パブリッシュの機能が非推奨になりました。Sitesの開発者の仕事はコンテンツ・エントリ・フォームを作成することであり、そのフォームは、Webサイトのコンテンツを作成するために、後でコントリビュータが使用します。JSPの開発も行います。これは、コンテンツ・エントリ・フォームをWebモードでレンダリングし、Webサイトにパブリッシュされたコンテンツをレンダリングするものです。コンテンツを世間に配信する準備ができたら、動的と静的のいずれかのパブリッシングを使用してWebサイトにパブリッシュできます。Sitesでは、静的と動的両方のページがサポートされています。動的ページの生成はその主な機能であり、このガイドのこの項のテーマです。Sitesの動的ページと典型的なHTMLページの違いは、次の表に示すとおりです。Sitesページ)単一のディスク・ファイルで、Webサーバーを介してサイトが提供されます。要求時に構成および作成されます。HTMLページと、訪問者のWebブラウザに表示されるページの間での、1対1の関連付。Sites内から作成されるページレットという複数のコンポーネントで構成できます。プレゼンテーションとコンテンツは分離されません。そのため、プレゼンテーションとコンテンツをお互いと無関係に変更することは困難です。プレゼンテーションとコンテンツは分離されます。そのため、プレゼンテーションとコンテンツをお互いと無関係に変更して保持することができます。Sitesによって提供されるデータ・モデルを使用して、(図1-1に示す)コンテンツ・エントリ・フォームを作成し、そのフォームは、Webサイトのコンテンツを作成するためにコントリビュータが使用します。コンテンツ・エントリ・フォームの各フィールドは、1つのデータベース表(または複数の表)で対応する列にマップされます。Sitesでサポートされているデータ・モデルは次のとおりです。Sitesベーシック・アセット・モデル。水平なデータ構造をサポートします。これは、ベーシック・アセットはお互いのプロパティ(このガイドでは属性と呼称)を継承できないという意味です。Sitesデータベースに格納されます。アセットの各タイプは、データベース内の1つのプライマリ記憶域表に格納されるので、あるタイプのベーシック・アセットを別のタイプのベーシック・アセットに関連付けることができます。Sitesフレックス・アセット・モデル。総合的なデータ・モデルで、それぞれのアセット・タイプは複数の記憶域表を使用できるので、階層的なデータ構造が作成でき、子アセットは親アセットから属性値を継承します。フレックス・アセット・モデルでは、その独自フレームワーク内で水平データ構造もサポートされます。(フレックス・アセット・モデルはベーシック・アセット・モデルと無関係に機能し、2つのモデル内で作成された表は交差しません。)フレックス・アセット・モデルとベーシック・アセット・モデルのどちらを選択するかは、訪問者へのサービス提供を計画しているデータの複雑さによって決まります。フレックス・アセット・モデルはこれまで、製品の大規模なオンライン・カタログの作成に使用されてきました。複雑でない状況で使用することもできます。使用することが好ましいのは、水平データ構造を階層構造に最終的に変換することを意図している場合です。この変換プロセスでは、データの再作成は不要です。プレゼンテーション・ロジック開発者は、Webサイト上のコンテンツのレンダリングに使用されるコード・テンプレートおよびエレメントに、APIとJSPタグを使用します。この項では、コーディングのプロセスで使用するプログラミング・コンポーネントの概要について説明します。この項の内容は、次のとおりです。Sitesの主な機能は、フォーマットをコンテンツから分離することです。Sitesでは、この2つを分離すれば、コンテンツを構成する数多くの部品に対して、書式設定コードの同じ部分を再利用できます。記事のフォーマットを変更する場合に、システム内のすべての記事のコードをリライトする必要はなく、1箇所のコードをリライトします。書式設定コードは、エレメントという名前のファイルに格納されます。このコードによって、データベースからコンテンツが抽出され、コンテンツが書式設定されます。コンテンツが書式設定されるのはページが要求された場合のみであるため、実行時に構成されるページを、要求する訪問者のIDに従って設定することもできます。SitesデータベースのElementCatalog表に格納されます。ページの名前はSiteCatalog表に格納されます。SiteCatalog表には、Webサイトのすべての適切なページ名に対するエントリが格納されます。SiteCatalog表の各行は、ページ・エントリです。それぞれのページ・エントリは、ElementCatalog表内のエレメントを指しています。ページ・エントリによって指されているエレメントは、ページ・エントリのルート・エレメントと呼ばれます。Sitesでは、SiteCatalogページ・エントリを実行することによって、コンテンツをオンライン・ページにレンダリングします。その具体的な動作を次に示します。訪問者が、WebサイトのURLをブラウザで入力します。SitesのURLにマップされます。SitesのURLは次のようになります。SitesのURLの最後にあるテキストはページ名と呼ばれます。この例では、ページ名はBurlingtonFinancial/Homeです。SitesはSiteCatalog表でページ名を調べ、そのルート・エレメントを判別し、そのエレメントをElementCatalog表の中で検索して、そのエレメントを起動します。エレメントが実行されます。ルート・エレメント内から他のエレメントへのコールがある場合は、次にそれらのエレメントが実行されます。イメージや記事など、HTMLタグを含めた結果がHTMLコードにレンダリングされ、訪問者のブラウザに返されます。その結果は、要求時に動的にレンダリングされるページです。Sitesには、エレメントのコーディングに使用するタグ・ファミリがいくつか含まれています。このタグ・ファミリを使用すると、アセットを特定し、抽出してWebサイトに表示できます。Sitesのモジュール/製品のカスタマイズに使用できます。注意:ベーシック・データ・モデルを使用するアセットを表示するページのコーディングについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。Sitesタグ・リファレンスを参照してください。Sitesオペレーティング・システムは、アプリケーション・サーバーのさらに上で稼働する複数のサーブレットで構成されています。それぞれのサーブレットは、必要に応じて、不連続なタスクを実行するために起動されます。APIとJavaメソッドおよびJSPタグがあり、それらは、使用する必要のある機能を起動するために使用します。Sitesの主なサーブレットを次の図に示します。Sitesの主なサーブレットは次のとおりです。ページの生成とその提供を動的に行います。このサーブレットでは、ディスク・キャッシング、セッション管理、イベント管理、検索、パーソナライズの各種サービスが提供されます。Sitesデータベースに対するデータベース管理のほとんどを提供します。Sitesデータベースにある他の表の階層情報を格納したツリー表を管理します。バイナリ・ラージ・オブジェクト(BLOB)の検索とその提供を行います。BLOBは一切処理されず、格納されている状態そのままで提供されます。XMLコードのデバッグに役立つツールを提供します。SitesのページにCookieを提供します。Serverアプリケーションであっても関係ありません。Sitesソフトウェアのバージョン情報を表示します。一般的には、どのサーブレットがどのサービスまたはタスクを実行しているかを認識する必要はありません。Sitesのコア・アプリケーションに判断させるのみです。Sitesのページでの別ページへのリンクを含めるときです。HREF>タグには、適切なサーブレットのURLを含める必要があります。Sitesを使用したプログラミング」および第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。Sitesでは、初めてWebサイトを訪問したときに、その訪問者のセッションが自動的に作成されます。Sitesコアでタグおよびメソッドを使用することによって、セッション変数に格納できます。後続のエレメントは、その後それらの変数にアクセスし、条件付きで応答できます。セッション変数は変化しやすいものです。これらは、セッションが持続している間、つまり次のイベントのいずれかが発生するまで持続するにすぎません。訪問者が自分のブラウザを閉じます。非アクティブになっている期間が経過してセッションがタイムアウトします。futuretense.iniファイル内のcs.timeoutプロパティを通じて、セッション・タイムアウトを制御します。アプリケーション・サーバーが再起動されます(クラスタ内にある場合は除く)。セッションが他のなんらかのやり方で無効になります。情報をより永続的に格納するには、Cookieを使用します。訪問者の情報をその人のブラウザに格納するCookieを記述するようにエレメントをコーディングできます。次に、格納された情報を使用し、ページをカスタマイズして、該当する訪問者がWebサイトに戻ってきたときに適切なバージョンのページを表示するようにできます。セッションとCookieの詳細は、第9章「セッションおよびCookie」を参照してください。Sitesにはユーティリティが用意されています。Sitesのデータベースおよび各種コードを管理するための、開発者向けツールです。ユーティリティはGUIベースであり、(特に指示のないかぎり)手動でインストールする必要があります。その内訳は次のとおりです。SitesとEclipse統合開発環境(IDE)を統合します。Toolsキットを使用すると、Eclipseやバージョン・コントロール・システム(VCS)統合などのツールを使用して分散環境で作業ができます。Sitesデータベースで表の表示および編集を行います。データベース表のエクスポートおよびインポートを行います。Sitesデータベースにデータを増分インポートします。Sitesデータベースに大量のデータを高速インポートします。プロパティ・ファイル(システム構成ファイル)の表示と整理を行います。SitesのAdminインタフェースの「サイト・プラン」タブで表されます。コンテンツ管理サイトと「サイト・プラン」タブについては、第2章「コンテンツ管理サイトについて」を参照してください。Sites管理者ガイド』を参照してください。Sitesを操作するときには、チームの人間が協力して、最大で次に示す4種類のシステムを操作します。開発者と設計者が、Webサイトの計画立案と作成を行います。Sites製品のすべてが、このシステムにインストールされています。ライター、編集者、グラフィック・アーティスト、マーケッターなどのコンテンツ・プロバイダには、Webサイトの訪問者に配信されるコンテンツを開発するために、コンテンツ管理サイトが割り当てられます。リビジョン追跡機能とワークフロー機能では、アセット(コンテンツ)に対する変更が追跡され、配信システムへのパブリッシュが承認されるまでアセット(コンテンツ)が監視されます。コンテンツ管理サイトは、実際のWebサイトを表しています。Webサイトの別々のセクションに対して、別々のコンテンツ管理サイトを作成できます。各セクションにコンテンツを提供するチームは、お互いにまったく別々であり、そのセクション(コンテンツ管理サイト)にアクセスできるのはそのチームのメンバーのみとなるからです。avisportsのサンプル・サイトと同様の、Webサイト全体を表すコンテンツ管理サイトを作成することもできます。Sites管理者ガイド』を参照してください。使用可能にしているコンテンツまたは販売している製品が、訪問者または顧客に提供されます。Sites製品のすべてが、このシステムにインストールされています。Sites製品のいずれもインストールする必要はありません。開発者またはQAエンジニアが、管理システムと配信システムの両方のパフォーマンスをテストします。専用のテスト・システムが使用できない場合は、テストは開発システムで実行できます。開発者は、時間の大部分を開発システムでの作業に費やします。開発するアセット・タイプおよび設計したサイトの準備ができたら、できあがったものを開発システムから管理システムに移行(パブリッシュ)します。管理システムでコンテンツ・プロバイダによってアセットが作成、変更および承認されると、管理システムから配信システムにパブリッシュされます。承認およびパブリッシュ前の項で説明したように、Webサイトの開発が終了したら、できあがったもの(テンプレート、エレメント、アセット・タイプ、サイト・プランなど)を開発システムから管理システムにパブリッシュします。できあがったものをパブリッシュすると、管理システムで使用できるようになります。コントリビュータはこれを受けて、アセット・タイプとサイト・デザインを使用して、Webサイトのコンテンツを作成できます。コントリビュータがサイトのコンテンツの作成を終了したら、(サポートしているアセット・タイプ、テンプレート、エレメント、サイト・プランなどとともに)そのコンテンツを承認し、Webサイトにパブリッシュできます。アセットをパブリッシュする準備ができたら、誰かが最初に、そのアセットを承認済とマークします。次に、パブリッシュ・プロセスの開始準備ができたら、承認システムが起動します。これは、承認されたアセットすべてのリストをまとめ、それらのアセットに依存するものをすべて検査するシステムです。あるアセットが承認されたが、そのリンク先のアセットが未承認の場合は、承認されたアセットがパブリッシュされるのは、リンク先のアセットが承認されてからです。Sitesのパブリッシュ・システムと承認システムでは、配信システムでのコンテンツの整合性を維持するために、アセット依存関係をすべて追跡および検証します。パブリッシュ・システムと承認システムでは、パブリッシュの準備ができたと判断したアセットのみが、パブリッシュされるアセットとなります。Sitesでは、そのコンテンツとエレメントが、あるシステム(たとえば管理システム)から別のシステム(たとえば配信システム)にコピーされます。SitesのパブリッシュAPIから構築された2つのパブリッシュ方法が配信されます。Sitesの承認システムと対話します。これは、どのアセットが承認されているかを判別する基礎となるシステムです。Sitesのパブリッシュ方法は次のとおりです。リアルタイムは動的なパブリッシュ方法です。Sitesデータベースに、承認されたアセットがコピーされます。ディスクへのエクスポートは静的なパブリッシュ方法です。承認されたアセットを静的なHTMLファイルにレンダリングします。このとき、このアセットに割り当てられているテンプレート・エレメントを使用して書式設定します。次に管理者または自動化されたプロセスによって、FTPなどのファイル転送方法を使用して、これらのファイルが配信システムにコピーされます。Sites管理者ガイド』を参照してください。Sitesがどのように計算するかについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。Sites管理者ガイド』を参照してください。Sitesでサポートされている多様なキャッシング・フレームワークを実装して、自社のWebサイトのパフォーマンスを最適化します。Serverキャッシングの使用もサポートされています。Sitesシステムの第2レベルのキャッシングが実現し、Webページのリモート・キャッシュとして使用することもできます。Serverは、ページのキャッシング・フレームワークとしてinCacheを使用します。この項の内容は、次のとおりです。Sitesシステムでページをキャッシュするために使用されます。ページのキャッシングは、システム・パフォーマンスにおいて重大な役割を果たしています。Sitesにエレメントを処理させる必要などありません。生成されたページがキャッシュされる場合、最初に生成を必要とする場合に比べて、ずっと迅速に提供できます。Sitesのみで、SiteCatalog表のページ・エントリによって特定される各ページまたは各ページレットを別々にキャッシュできます。その表におけるそのページ・エントリの値を指定することによって、キャッシュ内の任意のページレットの有効期限をマークすることができます。Serverを追加することで特に有効になります。Sitesページ・キャッシュが拡張されます。ページのキャッシングについては、第5章「ページのデザインとキャッシング」を参照してください。Sites管理者ガイド』を参照してください。Server」を参照してください。結果セットのキャッシング結果セットのキャッシングは、システム・パフォーマンスを大幅に拡張できる別の機能です。Sitesアプリケーションは、返す結果セットをキャッシュできます。Sitesアプリケーションは、データベース内のすべての表を追跡します。表が変更されると常に、その表のためにキャッシュされた結果セットがすべてフラッシュされます。結果セットのキャッシングの詳細は、第14章「結果セットのキャッシングと問合せ」を参照してください。Sitesのパフォーマンスを最適化します。Sitesでは、アセットのプログラム的な使用は、その属性のローディングとレンダリングで構成されます。Sitesノードでのみ使用されます。アセットのキャッシングにはAssetCacheコンテナ・コンポーネントが含まれており、そのコンポーネントは、アセットをキャッシュして既存のinCacheコンポーネントと対話することによって機能します。Sites管理者ガイド』を参照してください。Serverはキャッシング・アプリケーションです。Sitesのキャッシング機能を補足するものです。Serverのキャッシュを併用すると、自動的に二重にバッファされたキャッシングとなります。Sitesがインストールされているのと同じコンピュータにインストールされます。Serverをリモートにインストールし、ページおよびページレットを、想定された利用者により近い場所にキャッシュできるようにすることによって、システムのパフォーマンスをさらに向上させることができます。Sitesのページの高速で安価なキャッシュです。Sitesシステムのスケールを変更する簡略で安価な手段が提供されます。Sitesに転送します。イベントのベーシックなチェーンは次のとおりです。Serverがそのキャッシュをチェックします。Serverキャッシュにページが格納されているかどうかによって異なります。Serverが、訪問者のブラウザにページを提供します。Sitesデータベースにかかる負荷は軽減します。Sitesにリクエストを転送します。Serverに返されます。Serverに送信されます。Serverが、ページをキャッシュして訪問者のブラウザに提供します。Sitesデータベースにかかる負荷は軽減します。Serverアプリケーションと無関係です。Serverアプリケーションには、次のような特徴があります。独自のキャッシュを保持します。Serverアプリケーションからは、ページもページレットも要求できません。Sitesコアからのみです。Serverはいくつかのサーブレットで構成されています。次に示すように、ページのキャッシュと提供を行うサーブレットが1つ、キャッシュを管理するサーブレットが2つです。ページレット・レベルでページをキャッシュします。Serverの各種設定を制御します。Serverキャッシュを調べ、必要に応じて、キャッシュから個々のページまたはページレットを手動でフラッシュするために必要な情報を入手できるようにします。すべてのタイプのキャッシュ・フラッシュを処理します。FlushServerでは、キャッシュ全体をフラッシュすることも、キャッシュ内の個々のアイテムをフラッシュすることもできます。Serverのタグおよびページのキャッシングを使用したページのコーディング全般については、第5章「ページのデザインとキャッシング」を参照してください。Sitesのインタフェースの概要について説明します。SitesのAdminインタフェースで作業します。Adminインタフェースは、開発者および管理者向けに設計されています。Sitesの管理と構成ができます。左側のツリー・パネルには、開発者と管理者が操作する必要のあるコンテンツ管理エレメントがすべて含まれています。右側の作業領域は、すべてのタスクと操作が実行される場所です。Adminインタフェースではコードをベースにした操作がサポートされており、ベーシック・アセット・タイプの作成をグラフィカルに完了できます。ベーシック・アセット・タイプを作成する手順は次のとおりです。XMLファイルを記述して、ベーシック・アセット・タイプを定義します。Sitesにアップロードします。Sitesのこのインタフェースを使用して、AssetMakerユーティリティを起動します。このインタフェース(AssetMaker)の機能の1つは、アセット記述子ファイルを読み取り、そこからこのアセット・タイプの記憶域表を作成します。このインタフェースで他の機能を使用すると、アセット・タイプを構成できます(たとえば、その認可されたユーザーの名前を付ける)。Sitesの機能(サイト・デスクトップなど)の構成ができます。Contributorインタフェースは特に、コンテンツ・プロバイダおよびビジネス・ユーザー向けに設計されています。Sitesのコンテンツ管理機能のほとんどが使いやすくなり、迅速にアクセスできます。図l_con_interface_small.pngの説明Contributorインタフェースでアセットを操作するときには、次のWYSIWYGエディタに対応したフィールドが表示される場合があります。CKEditorは、CKSource社製のオープン・ソースWYSIWYGテキスト・エディタで、クライアント側にインストールしておく必要はありません。開発者はCKEditorを使用して、テキスト入力フィールドでフィールドの入力メカニズムとしてCKEditorを使用するベーシック・アセットを作成できます。開発者はまた、入力手段としてCKEditorを使用するフレックス属性に対する属性エディタを作成することもできます。Baltic社製の広く普及したサード・パーティ・イメージ・エディタです。SitesのContributorインタフェースのフォーム・モードでイメージを直接編集することができるようにします。これによって、外部のイメージ・エディタが不要になります。WEMのAdminインタフェースは特に、ロールを介してアプリケーションおよびユーザーのサイトへの割当てを管理者が管理できるように設計されています。Sites管理者ガイド』および第V部「Webエクスペリエンス管理(WEM)フレームワークを使用したアプリケーションの開発」を参照してください。Desktopと同様の機能を提供するアプリケーションもサポートされています。そのクライアントは次のとおりです。Wordインタフェースをコンテンツ作成者に提供します。作成者は、そのコンテンツをWordドキュメントで直接作成できます。サイト・デスクトップでは、Wordドキュメントのコンテンツは構造化される必要があります。コンテンツがデータベース表に解析されるからです。Sitesが提供する同等なコンテンツ・エントリ・フォームで定義されるものと同じフィールド名でタグ付けすることによりコンテンツを構造化します。Sites管理者によって決定されます。Wordドキュメントが保存されると、そのフィールド内のコンテンツは適切なデータベース表内のフィールドに解析されます。Wordドキュメントは、引き続き編集可能です。注意:サイト・デスクトップは、クライアント・コンピュータに手動でインストールする必要があります。サイトDocLinkは、フレックス・アセット・ファミリの構造化されていないコンテンツをサポートします。サイトDocLinkは、フレックス・アセットとして管理される、構造化されていないタイプのコンテンツ(ドキュメント、グラフィックまたはその他の単一バイナリ・ファイル)をアップロードおよびダウンロードするドラッグ・アンド・ドロップ・インタフェースを提供します。Explorerアプリケーションのフォルダおよびファイルとして表します。注意:サイトDocLinkは、クライアント・コンピュータに手動でインストールする必要があります。Sites管理者ガイド』を参照してください。Sitesには、この項で説明するサイトが用意されています。avisportsおよびFirstSiteIIコードを再利用し、組織のビジネス・ニーズに適合するように変更できます。開発者ガイドのこの項では、これらのサンプル・サイトの両方を使用して、コーディングのベスト・プラクティスを図示します。この項の内容は、次のとおりです。avisportsサンプル・サイトavisportsはスポーツを中心としサンプル・サイトで、イメージを添えたスポーツ記事が掲載されています。SitesのContributorインタフェースでの機能を示すために使用します。avisportsでは、アセットの「作成」ビューや「編集」ビューをWebモードでレンダリングするようにコーディングされたサンプル・テンプレートが、開発者に提供されます。FirstSiteIIサンプル・サイトFirstSiteIIは電子機器の小売サイトで、記事、イメージ、いくつかのエントリが記載された製品カタログ、ドキュメントおよびサンプル・ユーザー・アカウントが含まれます。Sitesのサイト開発でベスト・プラクティスを利用したもので、開発者にとっては優れた開始点となります。JSKでのみ使用可能です。Financialという、機能をフル装備したサンプル・サイトが用意されています。Sitesの機能、およびコーディング作業を示す例のソースとしてこのサイトが使用されます。それらの例は、この本でも、実際のサイトのコンテキストにおけるオンラインでも調べることができます。Financialサイトには、サンプルのアセット・タイプ、エレメント、SiteCatalogのエントリ、ワークフロー・プロセスなどが含まれています。Financialサンプル・サイト」を参照してください。Financialサンプル・サイトに加え、HelloAssetWorldというサンプル・サイトが用意されています。SitesのWebサイトを作成するための簡略な手引きが記載されています。HelloAssetWorldを構成するテンプレートは、第32章「HelloAssetWorldサンプル・サイト」に記述されています。Sites管理者ガイド』に記載されています。reserved.法律上の注意点ライブラリ。