このシナリオの詳細は、次の項を参照してください。
次のタスク例には、サイトおよび関連付けられたリソースの開発が含まれます。
午前7時14分: 新しいプロジェクトの割当て
Artie (アーキテクト)が起床し、自分が新しいWebベースのプロジェクトのリーダーに任命されたことを知ります。
午前7時34分: Developer Toolsの設定
Artieはコーヒーを飲み、自分のラップトップにWebCenter Sitesインスタンスをインストールします。その後、Eclipse IDEを起動して、Developer Toolsキットを構成します(図36-1)。
注意:
EclipseとWebCenter Sitesインスタンスを正常に統合するために、Artieは一般管理者のユーザー名とパスワードを入力する必要があります。このユーザーは、RestAdmin
グループのメンバーである必要があります。
午前7時45分: サイト定義の作成
ArtieはEclipseの、組込みのAdminインタフェース・ビューを使用して、サイト定義を作成します(サイトの名前はAcceptance
とします) (図36-2)。
Artieは、Adminインタフェースを実行する別のブラウザ・ウィンドウを使用して、サイト定義を作成することもできました。ただし、Artieは相当なEclipseの愛好家なので、Eclipseから離れることなく完全なWebCenter SitesのCMサイトを作成できるという事実に病み付きになっています。
午前7時46分: サイトのリソースの作成
Artieは、次のリソースを使用してサイトに情報を入力します。
アセット・タイプを有効にします。
権限を割り当てます。
フレックス・ファミリを作成し、有効にして、サイトの情報アセット(このシナリオでは作成者情報アセット)を格納します。
フレックス属性: Author_A
フレックス親定義: Author_PD
フレックス定義: Author_CD
フレックス親: Author_P
フレックス・アセット: Author_C
フレックス・フィルタ: Author_F
フレックス属性(authorName
およびauthorBio
)とフレックス定義(fictionAuthor
)を作成します。次に、属性をフレックス定義に追加します。
図36-3はこの構成を示しています。
午前8時12分: VCSについての話し合い
Artieはオフィスに着き、開発チームの他のメンバー(プログラマのSonoko、プログラマのMatthäus、システム・エンジニアのYogesh)とミーティングを行います。プロジェクトにバージョン・コントロール・システムを使用するかどうかについて、話し合います。
Yogesh: 社内にバージョン・コントロール・システムを設定することは可能です。でも、余分な作業はしたくありません。バージョン・コントロール・システムは本当に必要なのですか。
Artie: うーん。このプロジェクトは、何か月も続く予定なんだ。そこで、ネットワークに共有フォルダを作って、そこに僕らの作業を全部同期させたいと思うんだ。ただ、お互いの作業を上書きしないように気をつけないといけない。2人のメンバーが同じテンプレート・アセットで作業している場合なんかだと、お互いに待たなければいけないことになるんだ。
Sonoko: Artieさん、憶えてるかしら。前回のプロジェクトでは、終盤に相当ハードな状況になったわよね。他の人の作業が終わるのを待っているなんて、気が滅入ってしまうわよ。こんな管理のプレッシャーを全部抱えているときに。私は断然、バージョン・コントロール・システムを使用する方がよいと思うわ。あと、今回はリポジトリをWeb上に置いて、暇なときにStellarbucksから作業できるようにならないかしら。
Matthäus: Sonokoのいうとおりだよ。SVNホスティングなんて、ただ同然で入手できるんだし。不安があるなら、SVNはSSLでも入手できる。
Yogesh: 社内SVNを設定する時間がない場合でも、SVNホスティングのサブスクリプションくらいは入手できます。
Artie: わかったよ。SVNにしよう。他に何かあるかい。
Artieと開発チームのメンバーは、SVNを使用して、彼らのサイトのリソースを追跡することに決定しました。
午前9時42分: ワークスペースとVCSの同期
Artieと彼のチームは、http://subclipse.tigris.org/
からSubclipseプラグインをインストールします。ここで、Artieは、先に作成したサイトとリソースをチェックインする必要があります。
Artieは、Eclipseの「Developer Tools Synchronization」を使用して「Export」タブにアクセスし、「Search」フィールドに@Site
セレクタを入力して、自分のWebCenter Sitesインスタンス上にあるすべてのサイトのリストを取得します(図36-4)。
Artieは、先に作成したサイト(Acceptanceサイト)を選択し、「Export」ボタンをクリックして、自分のWebCenter Sitesインスタンスからワークスペースに、サイト定義をエクスポートします。
次に、Artieはサイトに関連付けられたフレックス・ファミリをワークスペースにエクスポートします(図36-5)。@ASSET_TYPE
セレクタを使用して、自分のWebCenter Sitesインスタンス上にある、すべてのアセットをリストします。結果を絞り込むには、検索文字列Author_
を使用します。次に、リストされているすべてのアイテムを選択し、「Export」をクリックします。
フレックス・ファミリのタイプはワークスペースにシリアライズされます。これには、タイプ固有のElementCatalogエントリも含まれます。
ここで、Artieは自分のワークスペースにフレックス定義をエクスポートします(図36-6)。ArtieはAuthor_CD
セレクタを使用します。このセレクタは、そのタイプの使用可能な定義をすべてリストします。この場合、定義は1つ(fictionAuthor
)のみです。
注意:
Artieは、サイト定義が依存するフレックス属性(Author_A
インスタンス)を選択しませんでした。フレックス属性は、Developer Toolsキットによって自動的に定義と同期されることを知っていたからです。
Artieは、Eclipseの「Project Explorer」ビューで自分のワークスペースにさっと目を通して、自分の作業内容をすべて確認します(図36-7)。上から下まで見て、次の内容がプロジェクトのsrc
フォルダにあることを確認します。
Artieが同期したアセット・タイプごとの_metadata.ASSET_TYPE
エントリ
両方のAuthor_A属性の_metadata.ASSET.Author_A
ファイル
シリアライズした定義の_metadata.ASSET.Author_CD
ファイル
シリアライズした各アセット・タイプに関連するElementCatalogエントリの_metadata.ELEMENTS
エントリ
サイト定義の_metadata.SITE
エントリ
注意:
Artieは、自分のWebCenter Sitesインストール・ディレクトリのexport/envision/cs_workspace
フォルダで同じデータを確認することもできました。
Artieのワークスペース内には、すべてのリソースがあるように見えます。ただし、これはすべてArtieのラップトップ上にあり、チームはアクセスできません。ここで、チェックインが必要になります。
ArtieはSubclipseを使用して開発チームのSVNリポジトリに接続し、自分のメインDeveloper Toolsワークスペースのフォルダ(src
フォルダ)をSVNリポジトリにコミットして、自分のDeveloper Toolsプロジェクトを共有します(図36-8)。
注意:
メインDeveloper Toolsワークスペースは、Eclipseの「Project Explorer」ビューのsrc
フォルダにあります。src
フォルダ内にあるファイルのみをコミットします。その他のファイルはすべて補助ローカル・リソースです。これらはコミットしないでください。
午前10時12分: 他のチーム・メンバーのワークスペースとSVNリポジトリの同期
SonokoとMatthäusは、各自のEclipse統合WebCenter Sitesインスタンスの設定を完了したところです。2人は各自のEclipseプロジェクトをSVNリポジトリに接続します。
先にArtieがサイトとそのリソースをSVNリポジトリにチェックインしているため、Subclipseはターゲットの場所が存在していることを検出します(図36-9)。
SonokoとMatthäusは、自分のメインDeveloper Toolsワークスペースとリソースを同期します。このリソースは、ArtieがSVNリポジトリで使用可能にしたものです。これで、SonokoとMatthäusのメインDeveloper Toolsワークスペースから、それらのリソースにアクセスできるようになります(図36-10)。
ただし、リソースはまだ、SonokoやMatthäusのWebCenter Sitesインスタンスと同期されていません。
午前10時18分: ワークスペースとWebCenter Sitesインスタンスの同期
Sonokoは「Developer Tools Synchronization」を開いて、「Import」タブを選択します。SonokoのメインDeveloper Toolsワークスペースに含まれる、すべてのリソースがリストされます。
必要に応じて、Sonokoは最初にサイト定義をインポートし、次にフレックス・ファミリ、その次にアセットを個別にインポートして、次の説明のように実行します。
注意:
Matthäusは、マーケティングとのミーティング終了後に同じ作業を行います。
サイト定義(このシナリオではAcceptance)をインポートします。
Sonokoは最初にサイト定義をインポートします。検索フィールドでSite.*Accepta
式を使用して、検索を絞り込みます。次に、サイト(Acceptance)を選択し、「Sync to WebCenter Sites」をクリックして、そのサイトと自分のWebCenter Sitesインスタンスを同期します(図36-11)。
Sonokoは「Sites Log」ビューを使用して、サイトが正常にインポートされていることを確認します(図36-12)。
もう一度同期構成を開いて、サイトのフレックス・ファミリをインポートします。インポートはフレックス属性(このシナリオではAuthor_A
)から始めます。
SonokoはAcceptanceサイトのフレックス・ファミリを自分のWebCenter Sitesインスタンスで設定しなかったので、まず自分のWebCenter Sitesインスタンスにフレックス属性(Author_A
)をインポートする必要があります(図36-13)。フレックス属性をインポートすると、サイトのフレックス・ファミリを構成する残りのアセット・タイプを、自分のWebCenter Sitesインスタンスに同期できます。
最後の手順として、Sonokoはフレックス定義を同期します。これにより、必要な属性が自動的にインポートされます。
サイトのすべてのリソースのローカル・アセットIDは、新しいWebCenter Sitesインスタンスにインポートされると、再マップされます。これが「Sites Log」ビューに表示されます(図36-14)。
午前10時21分: サイト権限の割当て
Sonokoはリソースと自分のWebCenter Sitesインスタンスの同期した後、自分にサイト権限を割り当てます(図36-15)。これらの権限により、Adminインタフェースから、サイトやそのリソースにアクセスできるようになります。
注意:
新しいサイトのツリー・アプレットにアクセスするために、Sonokoは少なくとも1つのツリー・タブをサイトに割り当てる必要があります。
午前10時22分: スタート・メニューの問題
Sonokoはサイトにログインして、「New」オプションをクリックします。しかし、利用できるスタート・メニュー・アイテムがないことに気付きます(図36-16)。Artieがサイトのスタート・メニュー・アイテムをSVNリポジトリにチェックインしていなかったので、当然です。
午前10時24分: スタート・メニューの問題の解決
SonokoはArtieに、新しいサイトのスタート・メニュー・アイテムのチェックインを忘れていることを知らせるIMを送ります。
Artieはサイトのスタート・メニュー・アイテムを、自分のメインDeveloper Toolsワークスペースと同期します(図36-17)。
図36-17 Developer Toolsワークスペースへのスタート・メニュー・アイテムの同期
次に、Artieはサイトのスタート・メニュー・アイテムをSVNリポジトリにチェックインします(図36-18)。
Sonokoは、Artieがスタート・メニュー・アイテムをSVNにコミットしたことに気付きます。Sonokoは自分のEclipseプロジェクトを更新します。SVNリポジトリにアクセスして、スタート・メニュー・アイテムを自分のメインDeveloper Toolsワークスペースに同期します。次に、これらのスタート・メニュー・アイテムを、自分のWebCenter Sitesインスタンスにインポートします(図36-19)。
図36-19 次に、WebCenter Sitesインスタンスへのスタート・メニュー・アイテムのインポート
Sonokoは自分のWebCenter Sitesインスタンスを再起動しないで、「Search」をクリックします。
自分のWebCenter Sitesインスタンスにインポートしたスタート・メニュー・アイテムがリストされます(図36-20)。
午前11時17分: マーケティング・リクエストの変更
Subject: Proposed Author Definition Changes
Date: Wed, 16 Feb 2011 11:17:39
From: matthäus.companynone.com
To: Tech-Development
Team,
I just synchronized your changes into my system. As per my meeting with Marketing, we must have date of birth and birthplace attributes in the Author Definition. I noticed these attributes do not exist, so I will add them. Artie, can you review the changes I make when you have the chance?
Regards,
Matthäus
午前11時22分: Author定義への新しい属性の追加
Matthäusは、マーケティングからリクエストされた属性を作成し、それらをフレックス定義(このシナリオではAuthor定義)に追加します。次に、新しい属性とフレックス定義を自分のメインDeveloper Toolsワークスペースにエクスポートして、それらをSVNリポジトリにコミットします(図36-21)。
午前11時25分: サイトへの変更の確認
Artieは、変更されたAuthor定義をSVNから取得して、自分のWebCenter Sitesインスタンスにインポートします(図36-22)。
Subject: RE: Proposed Author Definition Changes
Date: Wed, 16 Feb 2011 11:37:31
From: artie.companynone.com
To: matthäus.companynone.com
Matthäus,
Thank you for taking care of this. Corporate standards require us to capitalize the first letter of each subsequent word. I will delete the birthplace attribute and add birthPlace instead.
Thank you,
Artie
午前11時44分: Author定義の属性の変更
ArtieはbirthPlace
属性を作成して、フレックス定義に追加します。次に、元のbirthplace
属性をサイト定義から削除します。
Artieは、新しい属性とAuthor定義の変更をSVNリポジトリにコミットします。次に、birthplace
属性のステータスがVO
になっていることを確認します。これは属性が無効であることを示します。
SonokoとMatthäusが自分のWebCenter Sitesインスタンスを更新すると、それに応じて、birthplace
属性がSonoko達のワークスペースで無効になります(図36-23)。
午前11時53分: チームのワークスペースとWebCenter Sitesインスタンスの更新
SonokoとMatthäusは、自分のメインDeveloper Toolsワークスペースを、ArtieがSVNリポジトリにチェックインしたリソースで更新します。
次に、「Import」タブを開いて、自分のワークスペースのリソースを、各自のWebCenter Sitesインスタンスにインポートします(図36-24)。使い勝手がよいように、リソースは「Modified
Date
」列でソートしておきます。これで、最新の変更が一番上に表示されます。
無効の属性(Artieが無効にしたbirthplace
属性など)の「Name
」列には、ステータスのヒント(status=VO
)が表示されます。
SonokoとMatthäusは、自分のワークスペースから各自のWebCenter Sitesインスタンスに、これらの変更をインポートします。これで、ワークスペースとWebCenter Sitesインスタンスは最新の状態になります。
午後12時27分: サイトのテンプレート・アセットの作成
(午後12時27分) Matthäusはサイトの「Welcome」ページのテンプレート・アセットを作成します(図36-25)。
(午後12時34分) Matthäusはテンプレート・アセットを編集し、変更を「Sites Preview Browser」ビューでプレビューします。テンプレート・アセットのJSPに加えた変更を保存し、すぐにキーボード・コマンドの[Ctrl] + [R]を使用してプレビュー・ブラウザを更新します(図36-26)。
(午後12時39分) Matthäusはテンプレートの.jsp
ファイルと.main.xml
ファイルをSVNリポジトリにコミットします(図36-27)。
Subclipseはプロジェクトの変更をすべて検出し、それらの変更を開発者に提示します。テンプレート・アセット以外に新しいアセットがないため、Matthäusは、.main.xml
ファイルがテンプレートのメタデータであり、JSPファイルがテンプレートのコードであると推測できます。
(午後12時44分) Sonokoは自分のワークスペースで、テンプレートのJSPファイルを一部修正します(図36-28).。
SonokoはJSPファイルの変更を確認し、その変更をSVNにコミットします(図36-29)。
注意:
万一、Sonokoと同時に別のチーム・メンバーがこのファイルを修正してチェックインすると、SVNからSonokoに対して、別バージョンのファイルがすでにチェックインされていることが通知されます。Sonokoはそれらの変更を自分の変更と統合して、想定外の上書きを回避できます。
Yogeshはコマンドライン・ツールを使用してサイトをデプロイします。この項で使用するコマンドについては、「Developer Toolsのコマンドライン・ツールの使用」を参照してください。
午前9時32分: デプロイメントの準備
Yogeshはテスト環境の設定を開始し、コマンドライン・ツールを使用して、現在のビルドのデプロイを準備しています。彼は本番で使用される環境に適したWebCenter Sitesシステムをハードウェアにインストールしました。
Developer Toolsのインポートを、完全に自動化されたナイトリー・スクリプトに追加する前にテストする手順は次のとおりです。:
Yogeshはコマンドライン・ツールを使用してAcceptanceサイトとそのリソースをSVNからチェックアウトし、ターゲットのWebCenter Sitesインスタンスのワークスペースにチェックインします。
コマンド:
## go to the workspace location under export/envision/ cs_workspace in the ${sites-shared}/config directory ## checkout site from svn ${sites-shared}/config/export/envision/cs_workspace$ svn checkout svn:// yoursvnhost/projects/mysite/src
出力:
A mysite/src A mysite/src/_metadata A mysite/src/_metadata/ASSET A mysite/src/_metadata/ASSET/Author_A A mysite/src/_metadata/ASSET/Author_A/10 A mysite/src/_metadata/ASSET/Author_A/10/14 A mysite/src/_metadata/ASSET/Author_A/10/14/authorName(cbf4d8aa-d23a-4f0d-b55d-a87a0e9bbf33).main.xml A mysite/src/_metadata/ASSET/Author_A/11 A mysite/src/_metadata/ASSET/Author_A/11/79 A mysite/src/_metadata/ASSET/Author_A/11/79/birthPlace(42afd458-e90c-4e18-a4b6-47d322b46414).main.xml A mysite/src/_metadata/ASSET/Author_A/5 A mysite/src/_metadata/ASSET/Author_A/5/64 A mysite/src/_metadata/ASSET/Author_A/5/64/birthplace(49d63312-c74d-4ccd-bb7f-4dc698a9da22).main.xml A mysite/src/_metadata/ASSET/Author_A/15 A mysite/src/_metadata/ASSET/Author_A/15/76 A mysite/src/_metadata/ASSET/Author_A/15/76/DOB(9fe04c6e-36e7-4ee3-8c76-8c02edf74136).main.xml A mysite/src/_metadata/ASSET/Author_A/71 A mysite/src/_metadata/ASSET/Author_A/71/74 A mysite/src/_metadata/ASSET/Author_A/71/74/authorBio(ada2d6be-ef14-4766-b446-911bfa838835).main.xml A mysite/src/_metadata/ASSET/Author_CD A mysite/src/_metadata/ASSET/Author_CD/76 A mysite/src/_metadata/ASSET/Author_CD/76/4 A mysite/src/_metadata/ASSET/Author_CD/76/4/fictionAuthor(71d6067b-35f6-47f4-ae97-3876303abb37).main.xml A mysite/src/_metadata/ASSET_TYPE A mysite/src/_metadata/ASSET_TYPE/Author_F(5f9b4964-e9be-4f25-a413-877e8a5c7469).main.xml A mysite/src/_metadata/ASSET_TYPE/Author_P(1552d907-5f38-400b-9460-36e46d14abc3).main.xml A mysite/src/_metadata/ASSET_TYPE/Author_A(162d0b70-7e69-4266-acca-2f472e3d71bd).main.xml A mysite/src/_metadata/ASSET_TYPE/Author_CD(33faf87e-9e8f-4f49-97cd-424810408938).main.xml A mysite/src/_metadata/ASSET_TYPE/Author_PD(7c748df3-d149-4b71-802a-64b11360e74b).main.xml A mysite/src/_metadata/ASSET_TYPE/Author_C(d1497b50-665c-4b0c-80a7-d25f61566be4).main.xml A mysite/src/_metadata/STARTMENU A mysite/src/_metadata/STARTMENU/Find+Author+Attribute(2f6b2552-efde-493b-995f-ff13287f95e0).main.xml ...
Yogeshはワークスペースのリスト(cmd=listds
)を実行して、サイトとそのリソースがすべてWebCenter Sitesインスタンスにインポートされることを確認します。@ALL_ASSETS
と@ALL_NONASSETS
セレクタを使用して、ワークスペースにあるアセット・リソースと非アセット・リソースすべてのリストを生成します。
@ALL_ASSETS
セレクタを使用するためのコマンド:
${sites-shared}/config/export/envision/cs_workspace$ java - Xbootclasspath/a:lib/servlet-api.jar -jar developer-tools-command-line.jar http://<host>:<port>/ <context>/ContentServer username=fwadmin password=xceladmin resources=@ALL_ASSETS cmd=listds
出力:
Resource Type ||| Resource Id ||| Name ||| Description ||| Modified On ----------------------------------------------------------------- Author_A ||| cbf4d8aa-d23a-4f0d-b55d-a87a0e9bbf33 ||| authorName ( status=ED ) ||| author name ||| 2011-02-17 15:26:34.000 Author_A ||| 42afd458-e90c-4e18-a4b6-47d322b46414 ||| birthPlace ( status=PL ) ||| place of birth ||| 2011-02-17 15:26:34.000 Author_A ||| 9fe04c6e-36e7-4ee3-8c76-8c02edf74136 ||| DOB ( status=PL ) ||| date of birth ||| 2011-02-17 15:26:34.000 Author_CD ||| 71d6067b-35f6-47f4-ae97-3876303abb37 ||| fictionAuthor ( status=ED ) ||| authors who write fiction ||| 2011-02-17 15:26:34.000 Author_A ||| ada2d6be-ef14-4766-b446-911bfa838835 ||| authorBio ( status=ED ) ||| author biography ||| 2011-02-17 15:26:34.000 Author_A ||| 49d63312-c74d-4ccd-bb7f-4dc698a9da22 ||| birthplace ( status=VO ) ||| author birthplace ||| 2011-02-17 15:12:43.000 Template ||| 89b05c0f-227b-4dcb-961e-2ab6e6af2dae ||| welcome (Typeless status=PL) ||| welcome page ||| 2011-02-17 23:18:18.000
@ALL_NONASSETS
セレクタを使用するためのコマンド:
${sites-shared}/config/export/envision/cs_workspace$ java - Xbootclasspath/a:lib/servlet-api.jar -jar developer-tools-command-line.jar http://<host>:<port>/ <context>/ContentServer username=fwadmin password=xceladmin resources=@ALL_NONASSETS cmd=listds
出力:
Resource Type ||| Resource Id ||| Name ||| Description ||| Modified On ----------------------------------------------------------------- @STARTMENU ||| 66edea6d-218e-41b7-b5ac-ec3453bd53b7 ||| New Author ( ) ||| null ||| 2011-02-18 11:02:23.000 @STARTMENU ||| c416c0d6-98a7-4ebf-babb-78d0699698de ||| Find Author Filter ( ) ||| null ||| 2011-02-18 11:02:23.000 @ASSET_TYPE ||| 162d0b70-7e69-4266-acca-2f472e3d71bd ||| Author_A ( ) ||| Author Attribute ||| 2011-02-18 11:02:23.000 @STARTMENU ||| 2821ef28-39a2-4008-9a94-296fc0fd4f29 ||| Find Author Definition ( ) ||| null ||| 2011-02-18 11:02:23.000 @STARTMENU ||| d45be3de-a8e0-4479-a909-f79e9320e84f ||| Find Author ( ) ||| null ||| 2011-02-18 11:02:23.000 @STARTMENU ||| 2f6b2552-efde-493b-995f-ff13287f95e0 ||| Find Author Attribute ( ) ||| null ||| 2011-02-18 11:02:23.000 @ASSET_TYPE ||| 7c748df3-d149-4b71-802a-64b11360e74b ||| Author_ PD ( ) ||| Author Parent Def ||| 2011-02-18 11:02:23.000 @STARTMENU ||| 208aee2a-ad16-433a-9ee8-6658ce8f3abf ||| New Author Attribute ( ) ||| null ||| 2011-02-18 11:02:23.000 @STARTMENU ||| 8428e490-b99c-4bea-b5a1-1c1768fa9d7d ||| Find Author Parent ( ) ||| null ||| 2011-02-18 11:02:23.000 @ASSET_TYPE ||| d1497b50-665c-4b0c-80a7-d25f61566be4 ||| Author_C ( ) ||| Author ||| 2011-02-18 11:02:23.000 …
次にYogeshは、@ASSET_TYPE:*
セレクタを使用して、必要なアセット・タイプがすべてインポートされることを確認します。
コマンド:
${sites-shared}/config/export/envision/cs_workspace$
java - Xbootclasspath/a:lib/servlet-api.jar -jar
developer-tools-command-line.jar http://<host>:<port>/
<context>/ContentServer username=fwadmin password=xceladmin
resources=@ASSET_TYPE:* cmd=listds
出力:
Resource Type ||| Resource Id ||| Name ||| Description ||| Modified On ---------------------------------------------------------------------------------------- Author_A ||| cbf4d8aa-d23a-4f0d-b55d-a87a0e9bbf33 ||| authorName ( status=ED ) ||| author name ||| 2011-02-17 15:26:34.000 Author_A ||| 42afd458-e90c-4e18-a4b6-47d322b46414 ||| birthPlace ( status=PL ) ||| place of birth ||| 2011-02-17 15:26:34.000 Author_A ||| 9fe04c6e-36e7-4ee3-8c76-8c02edf74136 ||| DOB ( status=PL ) ||| date of birth ||| 2011-02-17 15:26:34.000 Author_CD ||| 71d6067b-35f6-47f4-ae97-3876303abb37 ||| fictionAuthor ( status=ED ) ||| authors who write fiction ||| 2011-02-17 15:26:34.000 Author_A ||| ada2d6be-ef14-4766-b446-911bfa838835 ||| authorBio ( status=ED ) ||| author biography ||| 2011-02-17 15:26:34.000 Author_A ||| 49d63312-c74d-4ccd-bb7f-4dc698a9da22 ||| birthplace ( status=VO ) ||| author birthplace ||| 2011-02-17 15:12:43.000 Template ||| 89b05c0f-227b-4dcb-961e-2ab6e6af2dae ||| welcome (Typeless status=PL) ||| welcome page ||| 2011-02-17 23:18:18.000
Yogeshは、サイトに必要なリソースがすべてビルドにインポートされることを確認します。
午前10時04分: サイトとそのリソースのデプロイ
Yogeshはコマンドライン・ツールを使用して、インポート・シーケンスを実行します。
最初にサイトをインポートします。
コマンド:
${sites-shared}/config/export/envision/cs_workspace$ java - Xbootclasspath/a:lib/servlet-api.jar -jar developer-tools-command-line.jar http://<host>:<port>/ <context>/ContentServer username=fwadmin password=xceladmin resources=@SITE:Acceptance cmd=import
出力:
*** Importing batch 1297868431526 Importing DSKEY @SITE-Acceptance (batch 1297868431526) Saved Acceptance (batch 1297868431526) *** Completed importing batch 1297868431526
次にフレックス・ファミリをインポートします。
コマンド:
${sites-shared}/config/export/envision/cs_workspace$ java - Xbootclasspath/a:lib/servlet-api.jar -jar developer-tools-command-line.jar http://<host>:<port>/ <context>/ContentServer username=fwadmin password=xceladmin resources=@ASSET_TYPE:* cmd=import
出力:
*** Importing batch 1298064678765 Importing DSKEY @ASSET_TYPE-162d0b70-7e69-4266-acca-2f472e3d71bd (batch 1298064678765) Importing DSKEY @ELEMENTCATALOG-OpenMarket/Xcelerate/AssetType/Author_A/LoadTree (batch 1298064678765) Saved OpenMarket/Xcelerate/AssetType/Author_A/LoadTree (batch 1298064678765) …
次にアセットをインポートします。
コマンド:
${sites-shared}/config/export/envision/cs_workspace java - Xbootclasspath/a:lib/servlet-api.jar -jar developer-tools-command-line.jar http://<host>:<port>/ <context>/ContentServer username=fwadmin password=xceladmin resources=@ALL_ASSETS cmd=import
出力:
*** Importing batch 1298064679760 Importing DSKEY Author_A-cbf4d8aa-d23a-4f0d-b55d-a87a0e9bbf33 (batch 1298064679760) Dependency @ASSET_TYPE-Author_A already exists, skipping. Saved Author_A:1295889071437 (batch 1298064679760) Importing DSKEY Author_A-42afd458-e90c-4e18-a4b6-47d322b46414 (batch 1298064679760) Dependency @ASSET_TYPE-Author_A already exists, skipping. Saved Author_A:1295889071441 (batch 1298064679760) Importing DSKEY Author_A-9fe04c6e-36e7-4ee3-8c76-8c02edf74136 (batch 1298064679760) Dependency @ASSET_TYPE-Author_A already exists, skipping. Saved Author_A:1295889071445 (batch 1298064679760) Importing DSKEY Author_CD-71d6067b-35f6-47f4-ae97-3876303abb37 (batch 1298064679760) Importing DSKEY Author_A-ada2d6be-ef14-4766-b446-911bfa838835 (batch 1298064679760) Dependency @ASSET_TYPE-Author_A already exists, skipping. Saved Author_A:1295889071449 (batch 1298064679760) Dependency @ASSET_TYPE-Author_C already exists, skipping. Dependency @ASSET_TYPE-Author_P already exists, skipping. Dependency @ASSET_TYPE-Author_CD already exists, skipping. Dependency @ASSET_TYPE-Author_PD already exists, skipping. Dependency @ASSET_TYPE-Author_F already exists, skipping. Dependency @ASSET_TYPE-Author_A already exists, skipping. Saved Author_CD:1295889071453 (batch 1298064679760) Importing DSKEY Author_A-49d63312-c74d-4ccd-bb7f-4dc698a9da22 (batch 1298064679760) Dependency @ASSET_TYPE-Author_A already exists, skipping. Saved Author_A:1295889071460 (batch 1298064679760) Importing DSKEY Template-89b05c0f-227b-4dcb-961e-2ab6e6af2dae (batch 1298064679760) Saved Template:1295889071461 (batch 1298064679760) *** Completed importing batch 1298064679760
これは配布インストールです。そのため、スタート・メニュー・アイテムはオプションになります。ただし、Yogeshはスタート・メニュー・アイテムをインポートします。Adminインタフェースを使用して、すべてのリソースが正常にインポートされることを確認するためです。
コマンド:
${sites-shared}/config/export/envision/cs_workspace$ java - Xbootclasspath/a:lib/servlet-api.jar -jar developer-tools-command-line.jar http://<host>:<port>/ <context>/ContentServer username=fwadmin password=xceladmin resources=@STARTMENU:* cmd=import
出力:
*** Importing batch 1298064681075 Importing DSKEY @STARTMENU-66edea6d-218e-41b7-b5ac-ec3453bd53b7 (batch 1298064681075) Saved 1297720502210 (batch 1298064681075) Importing DSKEY @STARTMENU-c416c0d6-98a7-4ebf-babb-78d0699698de (batch 1298064681075) Saved 1297720502230 (batch 1298064681075) Importing DSKEY @STARTMENU-2821ef28-39a2-4008-9a94-296fc0fd4f29 (batch 1298064681075) Saved 1297720502222 (batch 1298064681075) Importing DSKEY @STARTMENU-d45be3de-a8e0-4479-a909-f79e9320e84f (batch 1298064681075) Saved 1297720502206 (batch 1298064681075) Importing DSKEY @STARTMENU-2f6b2552-efde-493b-995f-ff13287f95e0 (batch 1298064681075) Saved 1297720502214 (batch 1298064681075) Importing DSKEY @STARTMENU-208aee2a-ad16-433a-9ee8-6658ce8f3abf (batch 1298064681075) Saved 1297720502218 (batch 1298064681075) Importing DSKEY @STARTMENU-8428e490-b99c-4bea-b5a1-1c1768fa9d7d (batch 1298064681075) Saved 1297720502238 (batch 1298064681075) Importing DSKEY @STARTMENU-2d31208a-4053-4fc1-a0d4-3789b23bd897 (batch 1298064681075) Saved 1297720502226 (batch 1298064681075) Importing DSKEY @STARTMENU-480cc5d1-3e73-4a92-85ef-48d0e44b81ef (batch 1298064681075) Saved 1297720502242 (batch 1298064681075) Importing DSKEY @STARTMENU-84309e2b-54ed-4e08-9244-84d331a60742 (batch 1298064681075) *** Completed importing batch 1298064681075
午前10時55分: デプロイメントの成功
Yogeshは、インポート・シーケンスが成功したと判断します。彼は次のスクリプトを記述して、このシステムへの毎日のインストールが自動的に実行されるよう計画します。
## Reinstall ContentServer to start with a clean slate. ## Optionally skip this and just do an update Reinstall_CS() ## Bring in the latest source from SVN SVN_Update() ## Prepare for import: compile any Java code such as url assemblers and flex filters, and so on. ## Prepare the database with any custom settings, and so on. preImport() ## Run the CSDT import sequence CSDT_Import() ## Run the test suite – sanity, performance, acceptance tests runTestSuite() ## Report results to the team by email so they know about any failures first thing in the morning runReports()
このスクリプトはcronジョブとして、毎晩0時5分に実行されます。