1. 基本的な情報

基本となる前提

  • 特別に定めのない限り、全ての maven のビルドコマンドは (Jetspeed をビルドするときは) Jetspeed ディレクトリで実行されるか、作成しようとしているカスタムのポータル作成用ディレクトリで実行されます。
  • *nix 環境であっても、Windows 環境であっても、例えば c:/windows や /home のように、ディレクトリのセパレータとしては "/" を使用しなければいけません。

Maven

この文書では、Maven の仕様については述べません。もし今まで Maven を使ったことがないのでしたら、以下の "What is Maven" という文書を読む必要があるでしょう。そうすれば、Maven がソフトウェア開発のプロジェクトにおいて果たす役割の概略が分かるでしょう。 もし、プロジェクトに一人以上関与しているなら、Maven でより詳細を確認すると良いでしょう。Maven は、一般に直面するプロジェクト管理の多くの問題を簡素化および標準化します。

ここで、あなたが知っておくべき重要な maven の基本的な専門用語を、以下に少しだけ挙げておきます。

あなたは文書内で、maven リポジトリ について触れるのを目にすることがあるでしょう。maven をインストールすると、.maven/ ディレクトリが ${USER_HOME} ディレクトリに作成されます。

.maven/ 以下に repository というディレクトリがあるはずです。ここにはビルドを実行するときに maven がダウンロードした jar ファイルが保存されます。ここはあなたのビルドでできた jar ファイルや war ファイルも置かれることがあります。jar ファイルは ${groupId}/${projectId}/jars/${projectId}-{$version}.jar の形式で置かれます。ポータル war ファイルは ${groupId}/${projectId}/wars/${projectId}.war の形式となります。${groupId}、${projectId}、${version} の各変数についてはこの文書の後の方で触れます。jar ファイルと war ファイルは、あなたのプロジェクトの /target ディレクトリにも作成されます。

変数

変数は、${ some_variable } として表されます。変数名は、大文字小文字の区別があります。変数は、maven プロジェクトのいくつかの場所で定義されます。 Maven Setup のオンラインユーザガイドによると、Maven プロジェクト内のプロパティファイルの以下のような順番で認識されます。

  • ${project.home}/project.properties - プロジェクト内の共通のプロパティ
  • ${project.home}/build.properties - カレントリリースについての記述を行うプロパティファイル
  • ${user.home}/build.properties - ユーザ特有の設定を行うプロパティファイル

これらのファイルの使い方は、ソースからの開発プロジェクトでの使用法とは全く違います。ここでのプロジェクトは、あなた自身のポータルというよりは Jetspeed プロジェクトであるからです。このような場合、ユーザ特有の build.properties ファイルは、特に Jetspeed のパラメータを上書きしたい場合に使われます。

Maven は、これらのプロパティファイルを順に処理します。前に定義されたプロパティは、後に定義された新しい定義によって上書きされます。そして最後に定義されたプロパティが採用されます。この順でいくと、${user.home}/build.properties が、このプロパティファイルのリストで最後に処理されます。

Maven が処理するこのプロパティファイルのリストを、"standard properties files set" と呼びます。

加えて、システムプロパティは、この "standard properties files set" の後に処理されます。なので、-Dproperty=value を使ってコマンドラインで指定されたプロパティは、それ以前に定義されたどのプロパティをも上書きします。

例えば、${org.apache.jetspeed.server.home} は以下のどれかを参照します。

  • standard properties set で指定されたプロパティ。
  • maven のコマンドラインで指定されたプロパティ。
  • ビルドプロセス内のどこかで定義された変数。
  • Jetspeed のどこか他のビルドファイル内で定義された変数。

インストール時に依存する場所

この文書では、以下のような場所を使用します。

  • ${USER_HOME} : ユーザのホームディレクトリです。Windows では、一般的に c:\Documents and Settings\${userName}\ になります。ここで ${userName} は、Windows にログインするときのログイン名です。
  • ${CATALINA_HOME} : この変数は Tomcat がインストールされた場所を示します。例えばc:/tomcatのようになります。

これらの変数は、Jetspeed の設定には使いません。しかし、文書をより簡潔にかつ明解にするために、これらの表記を使います。

Subversion (SVN)

Subversion (SVN) は、Jetspeed のソースファイルを管理するために使われます。SVN は CVS にとても似ています。Windows システムでコマンドラインを使用しないユーザは、 TortoiseSVN を使ってみると良いでしょう。このツールは、Windows Explorer にプラグインされます。Eclipse IDE を使っているユーザは、 Subclipse プラグインが SVN アクセスに使用できます。

2. Jetspeed のビルドプロセスの概略

バイナリディストリビューションを利用した、カスタムポータルの開発プロジェクトをセットアップするのは、極めて簡単なプロセスで済みます。最後に、簡単にビルドできて、簡単にカスタムポータルに配備できる、ファイル群とディレクトリ構造が得られるでしょう。

もし、IDE として Eclipse を使って、Jetspeed のポータルアプリケーションをセットアップしたいのなら、その背景を理解するために、このページを引き続き読んでください。一方、Eclipse を使った Jetspeed 2 のポータル開発の実際の手順については、以下の文章を参照してください。 Building a Jetspeed Enterprise Portal with Eclipse

カスタムポータルの作成は、Jetspeed 2 が提供する maven プラグインを使って、非常に簡単に行えます。その手順は以下のようになります。

  • Jetspeed プラグインをダウンロードし、インストールします
  • Jetspeed のバイナリディストリビューションをダウンロードし、生成するためにプラグインを使用します
  • データベースとローカルの環境に合うように、プロパティファイルをカスタマイズします
  • アプリケーションサーバを準備します
  • ポータルをビルドします
  • (もし必要なら) データベースサーバを起動します
  • データベースを初期化します
  • データベースを使って、デフォルトのポータルを配備します
  • デフォルトのポータルをテストします
  • デフォルトのポータルをカスタマイズし、カスタムポータルで使いたいロゴやポータル名を含めます
  • カスタムポータルを生成し、配備し、テストします

Jetspeed 2 の Maven プラグインは、設定可能な殆んどの値にデフォルト値が定義されています。しかし、全ての値に定義されているわけではありません。ポータルをカスタマイズするときは、異なる値でこれらを上書きします。

3. インストールの手順

3.1 Jetspeed プラグインのダウンロード

3.1.1 リモートの Maven リポジトリを見付けるための設定

まずは、Jetspeed 2 の Maven プラグインをダウンロードするのに必要な情報を、Maven に与えるために、${user.home}build.properties ファイルを設定します。あなたのポータルをビルドするベースとなるディレクトリを、Maven が特定できるように、また同様に Maven のリモートリポジトリの場所を Maven が特定できるように、 ${USER_HOME}/build.properties に値を適切に設定する必要があります。

basedir = c:/myportal
maven.repo.remote = http://www.bluesunrise.com/maven/, http://www.ibiblio.org/maven/, \
http://dist.codehaus.org/, http://cvs.apache.org/repository
					
注意: リポジトリの順番はここにあるのと同じように記述すること!

3.1.2 Jetspeed 2 Maven プラグインのインストール

はじめてインストールするときと、一度インストールした後に最新のバージョンの Jetspeed 2 にアップグレードしたくなった場合は、以下のように Maven プラグインをインストールする必要があります。

							
maven -DartifactId=maven-jetspeed2-plugin -DgroupId=org.apache.portals.jetspeed-2 -Dversion=2.0 plugin:download
						
注意: インストールしたいバージョンを version に設定しなければいけません。例えば "2.0-M3" のようにです。

3.2 デフォルトの Jetspeed ポータルプロジェクトのダウンロード

Maven プラグインをインストールし、必要なプロパティを設定したら、以下のようにプラグインを使ってデフォルトのポータルの設定を生成してください。

						
maven j2:portal.genapp
					
この Maven ゴールは、実際はいくつかのサブゴールを実行します。これについてのより詳細な記述は Maven プラグインの資料 にあります。

3.3 プロパティファイルのカスタマイズ

あなたの望む可能な限りのプロジェクトの情報を、project.xml ファイル内に含めることができます。これは、あなたがどのように Maven を、プロジェクト管理のツールとして利用したいかによります。これはこの文書の範囲外です。Jetspeed で配布される project.xml ファイルの情報は、Jetspeed 開発プロジェクトを反映しています。

プロパティファイルをカスタマイズして、ローカルの環境やデータベース環境を反映させることが可能です。

Jetspeed 開発者によって提供される ${basedir}project.properties ファイルは、Jetspeed 上の全てのポータルに共通する全ての変数を含みます。あなたは、これらを変更する必要はありません。

プロジェクトのプロパティについては、 Maven Properties Reference で説明されています。前のステップで、既に basedir と maven.repo.remote の値が設定されているものとします。あなたの望む可能な限りのプロジェクトの情報を、${basedir}project.xml ファイルに含めることができます。これは、あなたがどのように Maven をプロジェクト管理のツールとして利用したいかによります。これはこの文書の範囲外です。 Maven site に Maven をうまく使うために必要な情報が全てあります。

変更したいプロパティの設定は、ポータルをビルドする前に終わらせておく必要があります。プロパティ設定については、 基本的な設定パラメータ で述べます。

バイナリビルドの場合、基本となるプロパティ設定は、${basedir}build.properties に置くことができます。デフォルトの HSQLDB を使う場合の、最低限必要なカスタムポータルの設定は、以下のようなものです。

						
# 必要とされるポータルの設定プロパティ
org.apache.jetspeed.portal.home           = /home/myportal/
org.apache.jetspeed.portal.groupId        = myprojects
org.apache.jetspeed.portal.artifactId     = myportal
org.apache.jetspeed.portal.name           = My Test Portal
org.apache.jetspeed.portal.currentVersion = 1.0


					

もし、あらかじめ ${basedir}project.properties に設定してある HSQLDB を使わないのであれば、データベースのパラメータを、${basedir}project.properties に定義する必要があります。どのような変数が必要なのかについての解説は、 データベース設定 を参照してください。

3.4 アプリケーションサーバの準備

ポータルを実行する前に、Jetspeed ポータルを実行するための、アプリケーションサーバの準備をする必要があります。これには以下のような準備があります。まず、アプリケーションサーバが、どこにファイルが置かれることを期待しているかを、Jetspeed に教える必要があります。そして、どのような認証のための値を、アプリケーションサーバの管理ツールから要求する必要があるのかを、Jetspeed に教える必要があります。サーバ設定の変更については アプリケーションサーバ設定の資料 を読んでください。

アプリケーションサーバに対して行う変更の概略については、 導入 を確認してください。

Tomcat 5.5 アプリケーションサーバを使った場合の、最低限のカスタムポータルのための設定は、以下のようなものになります。

						
# 必要なポータル設定プロパティ
org.apache.jetspeed.portal.home           = /home/myportal/
org.apache.jetspeed.portal.groupId        = myprojects
org.apache.jetspeed.portal.artifactId     = myportal
org.apache.jetspeed.portal.name           = My Test Portal
org.apache.jetspeed.portal.currentVersion = 1.0

# 必要なアプリケーションサーバのプロパティ
org.apache.jetspeed.server.home                      = ${CATALINA_HOME}/
org.apache.jetspeed.server.shared                    = ${org.apache.jetspeed.server.home}/shared/lib/
org.apache.jetspeed.deploy.war.dir                   = ${org.apache.jetspeed.server.home}/webapps/
org.apache.jetspeed.services.autodeployment.user     = j2deployer
org.apache.jetspeed.services.autodeployment.password = xxxxx
org.apache.jetspeed.catalina.version.major           = 5.5

					

3.5 ポータルのビルド

あなたのポータルの設定の準備が済んだら、ビルドを行い、ローカルの Maven リポジトリに、(配備のために必要な) ポータルアプリケーションをインストールすることが可能になります。これは、カスタムポータルのディレクトリ (${org.apache.jetspeed.portal.home}) 内で、以下のように標準の Maven のゴールを実行することでできます。

						
maven war:install
					

さあ、これで新しいポータルアプリケーションの配備の準備ができました。新しいポータルアプリケーションの配備をするには、続く Jetspeed 2 のソースからのビルドのセクションを飛ばし、 配備 を続いて読んでください。

3.6 データベースサーバの開始

あなたは、データベースサーバが実行中であることを、確認する必要があります。もしデフォルトの HSQLDB データベースを使わないのなら、Jetspeed で使うユーザと Jetspeed のテーブルがきちんと設定され、使用できる準備ができており、データベースサーバが実行中であることを確認する必要があります。もっと詳しい情報は、 データベースの設定 を参照してください。もしデフォルトの HSQLDB データベースを使うのなら、ポータルを配備する前に開始しておく必要があります。

HSQLDB 本稼働用データベースを開始するには、以下のコマンドを 別の コンソール上で実行します。

						
cd ${org.apache.jetspeed.portal.home}
maven j2:start.production.server
					

配備を行っている間と、アプリケーションサーバを実行している間は、このデータベースを実行したままにしておく必要があります。データベースを停止し、コンソールを閉じるためには、 Ctrl-C を入力します。

注意: これは、後で述べる j2:quickStart を使うときに必要になります。Jetspeed 2 Maven プラグインには、本稼働用データベースを (再) 作成したり、デフォルトのポータル設定データを挿入したりする必要のないときに使える、他の (サブ) ゴールがあります。使用可能なゴールに関するより詳しい情報は、 プラグインの資料 を参照してください。

3.7 データベースの初期化

データベースのテーブルと初期データは、Jetspeed が配備され、ロードされる時点で必要となります。 Maven プラグイン には、データベースの管理に必要なたくさんのゴールが含まれます。テーブルをロードし、アプリケーションを配備するのに最も簡単な方法は、j2:quickstart ゴールを実行することです。

						
cd ${org.apache.jetspeed.portal.home}
maven j2:quickStart
					

アプリケーションの開始の一部として、テーブルを定義したり、データをロードしたりした後で、消去をすることはないので、このコマンドは一度だけ実行可能です。もし、再度このコマンドを実行したくなって、エラーが出たら、手動でデータベース内のテーブルをドロップするか、もしくは j2:db.drop.production ゴールを実行するかしなければいけないことを理解しておいてください。

j2:quickstart は現時点では Tomcat 5 か 5.5 のみの配備をサポートしています。

他のアプリケーションサーバへの配備についての情報は、Jetspeed 2 Wiki にあるでしょう。

デモポートレットアプリケーションを含んだ、デフォルトの Jetspeed 2 ポータルを配備するためには、以下のようなコマンドを 別の コンソールで実行します。

						
cd ${org.apache.jetspeed.portal.home}
maven j2:quickStart
					
注意: Maven プラグインの資料 には、データベースの初期化に使える他のゴールについての記述があります。

3.8 データベースを使ったデフォルトポータルの配備

j2:quickstart が、この (デフォルトポータルの配備の) 作業をします。データベースを初期化するために、もし他の Maven ゴールを使ったのなら、以下のようなコマンドを実行することでポータルの配備ができます。

j2:fullDeploy ゴールは、現時点では Tomcat 5 もしくは 5.5 のみの配備をサポートします。

他のアプリケーションサーバへの配備についての情報は、Jetspeed 2 Wiki にあるでしょう。

3.9 デフォルトポータルのテスト

デフォルトポータルを実行する最後のステップは、Tomcat サーバを開始させることです。ポータルは、どのようなポートレットアプリケーションも自動的にインストールするでしょう。

Tomcat を実行したら、ブラウザでポータルにアクセスできます。

もしくは、この URL の "jetspeed" の部分をあなたの設定したポータルアプリケーションの名前に置き換えてみてください ( ${org.apache.jetspeed.portal.artifactId} )。

もし Jetspeed ポータルが実行されているのが確認できれば、ソフトウェアのインストールと実行が成功したことになります。

デフォルトの Jetspeed 2 のポータルの配備では、いくつかのサンプルユーザのアカウントがポータルデータベースに登録されています。それを使って、ポータルへのログオンが可能です。

ユーザ名パスワードロール
admin admin admin, manager, user
manager manager manager, user
jetspeed jetspeed manager
user user user
tomcat tomcat

3.10 あなたのロゴやポータル名を入れたデフォルトポータルのカスタマイズ

さて、デフォルトポータルは動作しましたので、カスタマイズのプロセスをテストするために小さなカスタマイズを試してみることができます。ここではロゴとポータル名を変えてみます。

3.10.1 カスタマイズ領域の作成

最初のステップは、カスタマイズしたファイルを保存しておくディレクトリを作成することです。この作業によって新しいバージョンの Jetspeed をインストールしたときでも、あなたが行った変更を保存しておくことが可能になります。ポータルホームのトップレベルディレクトリに、ディレクトリを作成してください。

						
cd ${org.apache.jetspeed.portal.home}
mkdir customized
					

既に変更済みの build.properties ファイルのコピーを作成してください。

さらに、ファイルを変更する前に、オリジナルのファイルを保存しておくためのディレクトリの作成をしたいと思うかも知れません。しかし、いつでもディストリビューションをリロードすることができますので、このような作業は全く不要です。しかし、変更前の状態に素早く戻ったり、変更前の状態を参照するためのコピーを保存しておくのには便利かも知れません。

3.10.2 いくつかの簡単なカスタマイズの実行

カスタマイズのテストのために、ロゴとポータル名の変更を行います。自身で用意したロゴを Jetspeed のロゴと置き換えることができます。サイズや背景色を見るには ${basedir}/src/webapp/images/logo.png を見てください。自身のロゴを作成し、testlogo.png ファイルを ${basedir}/customized にコピーしてください。

3.11 カスタムポータルの生成と配備とテスト

					
cd ${org.apache.jetspeed.portal.home}
maven j2:fullDeploy
				

変更を行ったポータルには、ブラウザ経由で以下の場所からアクセス可能です。

						
							http://localhost:8080/jetspeed
						
					
もしくは、この URL の "jetspeed" の部分をあなたのポータル名に置き換えてください ( ${org.apache.jetspeed.portal.artifactId} )。

あなたはフロントページに、あたらしい名前と新しいロゴが表示されるのを見ることでしょう。