この章では、WebCenterアプリケーションにディスカッション・フォーラムを埋め込む方法を説明します。ディスカッション・フォーラムは、ユーザーが情報を共有し、WebCenterアプリケーションに埋め込まれたトピックについて話し合うことができる高機能サービスです。
ディスカッション・フォーラムはWebCenterアプリケーションに統合できるサービスの1つです。ユーザーは、使いやすいポートレットでスレッドをブラウズして、関連するメッセージを探すことができます。また、ディスカッション・フォーラムに移動して、その他のメッセージを読んだり自らの投稿や返信を追加したりすることができます。特に、Oracle WebCenter Discussionsでは、オープン・アーキテクチャと豊富な機能を備えたJ2EEアプリケーションが提供されます。Oracle WebCenter Discussionsは、WebCenterアプリケーションに容易に統合できます。
この項の内容は、次のとおりです。
Oracle WebCenter Discussions J2EEアプリケーションをインストールする手順は、次のとおりです。
Companion CDのjive_forums_silver_5_1_0.zip
を解凍します。次のファイルのインストール手順に従います。
注意: owc_discussions は、jive_forums_silver_5_1_0.zip の解凍先として選択したディレクトリの名前です。 |
owc_discussions\jive_forums_silver_5_1_0\documentation\install-guide.html
Oracle WebCenter Discussionsのインストール手順でjiveforums.war
ファイルをアプリケーション・サーバーにインストールする際には、この後に説明するように、Oracle Enterprise Manager 10gを介してWARファイルをデプロイする必要があります。
Application Server Controlに管理者としてログインします。
Oracle Application Serverインスタンスをクリックして、そのインスタンスのアプリケーション・サーバー・ページに移動します。
Oracle WebCenter Discussionsを含めるために新しいOC4Jインスタンスを作成することをお薦めします。推奨ではありませんが、既存のOC4Jインスタンスを使用することもできます。新しいOC4Jインスタンスを作成するには、「OC4Jインスタンスの作成」をクリックします(図7-1)。
新しいOC4Jインスタンスに関して値を入力します(図7-2)。「作成後にこのOC4Jインスタンスを起動します。」を選択します。
「作成」をクリックします。インスタンスが「システム・コンポーネント」リストに表示されます(図7-3)。
図7-3 Application Server Controlのアプリケーション・サーバー・ページ
18.3項「ポートレット実行のためのアプリケーション・サーバーまたはスタンドアロンOC4Jの構成」の手順に従って、ポートレットを実行するようにOC4Jインスタンスを構成します。
OC4Jインスタンスの名前をクリックします。インスタンスの「ホーム」タブが表示されます(図7-4)。
「アプリケーション」タブをクリックします(図7-5)。
「デプロイ」をクリックします。
WARファイルの場所(ローカルまたはホスト)を選択し、パスを指定します(図7-6)。Companion CDの場合、パスは次のようになります。
owc_discussions\jive_forums_silver_5_1_0\jiveforums.war
「新規デプロイ・プランを自動的に作成します。」を選択します(図7-6)。
「次へ」をクリックします。WARファイルがローカルにある場合、サーバーにアップロードされるまでに数分かかることがあります。
アプリケーション名(たとえばowc_discussions
)を入力します。また、「コンテキスト・ルート」にはわかりやすい文字列(たとえばowc_discussions
)を指定してください。この後は、このコンテキスト・ルートを使用してWikiアプリケーションをコールするためです(図7-7)。
「次へ」をクリックします。
「デプロイ設定」ページが表示されます(図7-8)。「クラスのロードの構成」の「タスクに移動」アイコンをクリックします。
「クラスのロードの構成」ページで「Webモジュールのクラス・ローダーの構成」セクション(図7-9)に移動し、Jive Forums 5 Webモジュールについて「最初にローカル・クラスを検索」を選択します。
「OK」をクリックします。ページの一番上の情報メッセージは、デプロイ・プランが正常に更新されたことを示しています。
「デプロイ」をクリックします。
デプロイが正常に終了すると、確認メッセージが表示されます(図7-10)。デプロイが失敗した場合は、ログを調べてデプロイ設定が正しいことを確認します。
「戻る」をクリックします。OC4Jインスタンスでアプリケーションが実行しているのを確認できます(図7-11)。
注意: ディスカッション・フォーラム・ポートレートを使用する予定がない場合は、ここでOC4Jインスタンスを再起動します。 |
図7-11 デプロイされたOracle WebCenter Discussionsアプリケーションを含む「アプリケーション」タブ
owc_discussions
\jive_forums_silver_5_1_0\documentation\install-guide.html
のOracle WebCenter Discussionsのインストール手順に戻り、残りの手順を実行します。ユーザー、グループおよび認証システムの構成では、LDAP資格証明ストアはサポートされません。オプションとしてはデフォルトのユーザー管理をお薦めします。つまり、設定ツールを使用する際に「Choose a user, group and authentication system」を求められたら、デフォルト・オプションを選択します。7.2.2項「Oracle WebCenter DiscussionsアプリケーションおよびポートレットでのJava SSOの構成方法」の手順を実行すると、このデフォルト設定は上書きされます。
Oracle WebCenter Discussionsを正常に設定したことを確認するには、次の管理コンソールに移動して、インストール・プロセスで作成した管理者としてログインしてみてください。
http://host:port/owc_discussions/admin/
管理コンソールに正常にログインできた場合は、7.2.2項「Oracle WebCenter DiscussionsアプリケーションおよびポートレットでのJava SSOの構成方法」に進んで、Oracle WebCenter Discussionsおよびディスカッション・フォーラム・ポートレットをJava SSOに統合する手順を実行できます。
ディスカッション・フォーラム・ポートレットとOracle WebCenter Discussions WebアプリケーションをWebCenterアプリケーションに統合するには、Oracle WebCenter Discussions Webアプリケーションのデプロイと構成を正常に行ってから、この項の手順を実行する必要があります。
これらの手順では、Oracle WebCenter Discussionsのセキュリティを適切に構成する方法を説明します。Java SSOの統合では、標準のAuthFactory
クラスおよびUserManager
クラスを上書きするカスタム・クラスが必要です。OracleSSOAuthFactory
およびOracleSSOUserManager
では、Oracle ADF APIがユーザー認証とユーザー・マネージャをチェックします。また、ユーザーのログインとログアウトに関するいくつかのアクション・クラス、およびプレゼンスや管理のフィルタ・クラスも上書きする必要があります。さらに、Java SSOログイン用のADF認証サーブレットを統合するために、web.xml
およびorion-application.xml
を変更する必要があります。
ディスカッション・フォーラム・ポートレットとOracle WebCenter Discussionsアプリケーションを統合する手順は、次のとおりです。
Oracle WebCenter Discussionsアプリケーションとディスカッション・フォーラム・ポートレットの間でシングル・サインオンを有効にするには、Java SSOを使用してセントラル・ユーザー・データ・ストアでユーザーを認証します。Oracle WebCenter DiscussionsユーザーとOracle Application Server管理ユーザーを同期化する必要があります。JAZN認証モデルを使用するときは、次のようにoc4jadmin
ユーザーをOracle WebCenter Discussions管理インタフェースで作成し、このユーザーに管理権限を割り当てます。
注意: この時点でのoc4jadmin ユーザーの作成は必須です。作成しないと、後でOracle WebCenter Discussionsアプリケーションにログインできません。 |
次のURLにアクセスしてOracle WebCenter Discussions管理インタフェースを開きます。
http://host:port/owc_discussions/admin/
Oracle WebCenter Discussionsのインストール時に作成した管理者のユーザー名とパスワードを使用してログインします。Oracle WebCenter Discussions管理コンソールが表示されます(図7-12)。
「Users/Groups」タブをクリックします(図7-13)。
左ペインの「Create User」をクリックします。
「Username」にoc4jadmin
を指定し、その他の必須プロパティを入力します(図7-14)。
「Create User」をクリックします。
oc4jadmin
ユーザーが作成されたら、そのユーザーに管理者権限を付与する必要があります。「Settings」タブをクリックします(図7-15)。
「Grant New Permissions」をクリックします。
「Choose the permission(s)」で「System Admin」を選択します(図7-16)。
「Choose a user or group to grant the permission(s) to」では「A Specific User」を選択して、隣のフィールドにoc4jadmin
を入力します(図7-16)。
「Grant New Permission」をクリックします。
「System」タブをクリックします。新しいプロパティを2つ追加してAuthFactory
とUserManager
のデフォルト・クラスを変更する必要があります。
「System Properties」をクリックし(図7-17)、ページの一番下にスクロールして「Add new property」セクションを表示します。
「Property Name」にAuthFactory.className
を入力します。
「Property Value」には次の値を入力します。
oracle.jive.sso.OracleSSOAuthFactory
「Save Property」をクリックします(図7-18)。
「Property Name」にUserManager.className
、「Property Value」に次の値を使用して、前の3つの手順を繰り返します。
oracle.jive.sso.OracleSSOUserManager
このクラスによって、Oracle WebCenter Discussions DbUserManager
が拡張されます。
ポートレットの設定プロセスを完了するには、ここで構成ファイルの一部を変更する必要があります。この変更を行う際に推奨される方法は、Companion CDに含まれるdeploy-jive-portlet.jar
を実行することです。deploy-jive-portlet.jar
は、web.xml
、xwork-community.xml
(jiveforums-5.1.0.jar
内)、orion-application.xml
およびjive_startup.xml
を構成し、oracle-jive-portlet.zip
を解凍します。deploy-jive-portlet.jar
の使用をお薦めするのは、構成ファイルのタイプ・ミスなど手動操作によるエラーのリスクを減らすためです。また、構成ファイルの旧バージョンも自動的にバックアップされ、後からポートレットをアンデプロイして以前の構成に戻る場合に役立ちます。
または、なんらかの理由でこのプロセスを手動で実行する場合は、7.2.2.2項「ポートレット・デプロイの手動構成手順」を参照してください。
deploy-jive-portlet.jar
を実行する手順は、次のとおりです。
Companion CDのdeploy-jive-portlet.jar
およびoracle-jive-portlet.zip
を次の場所にコピーします。
j2ee/OC4J_instance/applications/owc_discussions/jiveforums
PATH変数にJDK 1.5が含まれることを確認してください。含まれない場合は、ORACLE_HOME
/jdk/bin
で検出されるJDK 1.5を指すようにPATHを設定できます。ORACLE_HOME
はOracle WebCenterホームです。
Enterprise Managerで、Oracle WebCenter Discussionsアプリケーションを実行するOC4Jインスタンスを停止します。
次のコマンドラインを実行します。
java -client -Dhttp.proxyHost=www-proxy.us.oracle.com -Dhttp.proxyPort=80 -jar deploy-jive-portlet.jar
注意: プロキシを介して実行している場合は、コマンドラインでもhttp.proxyHost とhttp.proxyPort の値を指定する必要があります。 |
なんらかの理由でアンデプロイする必要がある場合は、次のコマンドラインを実行できます。
java -client -Dhttp.proxyHost=www-proxy.us.oracle.com -Dhttp.proxyPort=80 -jar deploy-jive-portlet.jar undeploy
コマンドラインを実行すると、jiveHome
ディレクトリのフルパスの入力を求められます。次のファイルの指示に従ってjiveHome
ディレクトリを設定したときに使用したパスを入力します。
owc_discussions\jive_forums_silver_5_1_0\documentation\install-guide.html
次のディレクトリを削除します。
j2ee/OC4J_instance/application-deployment/owc_discussions/
Enterprise Managerに戻って、OC4Jインスタンスを起動します。Java SSOがOC4Jインスタンス内のアプリケーションとして表示されるはずです。インスタンスが起動したら、Java SSOが実行していることを確認します。Java SSOが停止している場合は、起動します。
Java SSOを起動するときに、Java SSOが適切に構成されていないという警告メッセージを受け取ることがあります(図7-19)。この警告は、1クラスタで複数のJava SSOアプリケーションを実行していることを示しています。クラスタ化環境でのJava SSOの適切な構成を確認するには、7.2.2.1.1項「Java SSOのクラスタ化構成」を参照してください。
これまでの手順を正常に完了すると、Oracle WebCenter Discussionsソフトウェアおよびサンプル・ポートレットがインストールされ、使用できるようになります。
新しいユーザーを作成してディスカッション・フォーラムの使用を開始するには、基礎となるセキュリティ・モデルでユーザーを作成する必要があります。ここでは、Java SSOモデルを使用しています。Java SSOセキュリティとユーザーの作成方法の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。ファイルベースのセキュリティを使用している場合は、構成のヒントについて7.2.2.1.3項「ファイルベース・セキュリティ」を参照してください。
新しいユーザーとしてJava SSOにログインすると、標準のユーザー権限を持つ同じユーザーがOracle WebCenter Discussionsユーザー管理に作成されます。このユーザーに管理者権限を付与する手順は、次のとおりです。
注意: 次の手順は、前にoc4jadmin ユーザーに対して実行したものと似ています。 |
次のURLにアクセスしてOracle WebCenter Discussions管理インタフェースを開きます。
http://host:port/owc_discussions/admin/
Oracle WebCenter Discussionsのインストール時に作成した管理者のユーザー名とパスワードを使用してログインします。Oracle WebCenter Discussions管理コンソールが表示されます。
管理コンソールで「Settings」タブをクリックします。
「Grant New Permissions」をクリックします。
「Choose the permission(s)」で「System Admin」を選択します。
「Choose a user or group to grant the permission(s) to」では「A Specific User」を選択して、隣のフィールドにユーザーの名前を入力します。
「Grant New Permission」をクリックします。
また、管理コンソールを使用して、カテゴリ、フォーラム、ユーザーおよびグループの作成と管理を行うことができます。詳細は、Companion CDに含まれる『Jive Forums Administrator's Guide』(forums-admin-guide.pdf
)を参照してください。
WebCenterアプリケーションでのディスカッション・フォーラム・ポートレットの使用の詳細は、7.2.3項「WebCenterアプリケーションでのディスカッション・フォーラム・ポートレットの使用方法」を参照してください。
この項では、Oracle WebCenter Discussionsアプリケーションおよびポートレットの構成のヒントについて説明します。
Enterprise Managerでcustom.sso.key.alias
を設定できます。アプリケーション・サーバー・インスタンスの「クラスタ・トポロジ」ページで、一番下の「Java SSO構成」をクリックします。『Oracle Containers for J2EEセキュリティ・ガイド』の「OC4J Javaシングル・サインオン」を参照してください。
Enterprise ManagerでJava SSOを構成した場合、ユーザーがログアウトしようとするときに、Oracle Application Serverホームページにエラーが表示されることがあります。この問題を修正するには、jazn.xml
から次のプロパティを削除します。
property name="custom.sso.cookie.domain" value="" property name="custom.sso.url.param" value=""
Oracle WebCenter Discussionsの基礎となるデータベースを変更することはできません。Oracle WebCenter Discussionsアプリケーションを新しいデータベースに再デプロイしようとすると、正常に機能しなくなります。アプリケーションが、元のOracle WebCenter Discussionsデータベースのカスタマイズ機能に依存しているためです。
通常、データ・ストアに対してはLDAPの使用をお薦めします。ファイルベース・セキュリティを使用する必要がある場合は、次の問題に注意してください。
クラスタ化OC4Jに対してファイルベース・セキュリティ・プロバイダを構成すると、JAZNでは、構成済のsystem-jazn-data.xml
ファイルが取得されません。このため、Enterprise Managerで新しいユーザーを作成すると、j2ee/home/config/system-jazn-data.xml
のみに追加され、他のクラスタ化OC4Jインスタンスでは使用できません。
この問題を解決するには、j2ee/home/config/system-jazn-data.xml
のユーザーとロールを手動でコピーして、クラスタ化OC4J_HOME
/config/system-jazn-data.xml
に貼り付けます。
deploy-jive-portlet.jar
を実行するかわりに、次の手順を手動で実行することができます。
xwork-community.xml
をORACLE_HOME
/j2ee/
OC4J_instance
/applications/owc_discussions/
owcd_root_context
/WEB-INF/lib/jiveforums-5.1.0.jar
から抽出します。ファイルを抽出するには、次のコマンドを実行します。
jar xvf jiveforums-5.1.0.jar xwork-community.xml
注意: この手順のjar コマンドでは、ORACLE_HOME /jdk/bin にあるjar 実行可能ファイルの使用をお薦めします。 |
xwork-community.xml
をテキスト・エディタで開き、<!-- Base actions -->
タグと<!--Default skin -->
タグの間のすべてのlogin/logoutアクションを変更して、次のディレクトリにあるjsso-action-classes.xml
ファイルのクラスを使用するようにします。
ORACLE_HOME/j2ee/OC4J_instance/applications/owc_discussions/owcd_root_context/ WEB-INF
変更を行ったら、このファイルを保存し、次のコマンドを実行してJARファイルにコピーします。
jar uvf jiveforums-5.1.0.jar xwork-community.xml
Application Server Controlに管理者としてログインします。
Oracle Application Serverインスタンスをクリックして、そのインスタンスのアプリケーション・サーバー・ページに移動します。
Oracle WebCenter Discussionsアプリケーションを実行しているOC4Jインスタンスをクリックします。
「停止」をクリックします。
次のディレクトリのweb.xml
ファイルと/WEB-INF/lib/jiveforums-5.1.0.jar
ファイルのバックアップを作成します。
ORACLE_HOME/j2ee/OC4J_instance/applications/owc_discussions/owcd_root_context
Companion CDのoracle-jive-portlet.zip
ファイルに含まれるポートレットを使用できるようになります。ファイルを次の場所に解凍します。
ORACLE_HOME/j2ee/OC4J_instance/applications/owc_discussions/owcd_root_context
ディスカッション・フォーラム・ポートレットをOracle WebCenter Discussionsアプリケーションに対して構成するには、ORACLE_HOME
/j2ee/
OC4J_instance
/applications/owc_discussions/
owcd_root_context
/WEB-INF
のweb.xml
ファイルを次のように変更する必要があります。
XMLヘッダーを次のように変更します。
<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>
ORACLE_HOME
/j2ee/
OC4J_instance
/applications/owc_discussions/
owcd_root_context
/WEB-INF
にあるjive-portlet-for-web.xml
ファイルを開きます。
ファイルの内容すべてを選択して、web.xml
ファイルの<web-app>
タグの直後に貼り付けます。この変更によりセキュリティ・モデルに警告が送られ、一部のロールが変更されます。Enterprise Managerコンソールで追加されたロールやユーザーと同期化するように、セキュリティ・ロールと認証の制約を変更できることに注意してください。
例7-1のようにweb.xml
ファイルのAdminActionFilter
およびPresenceFilter
を変更して、Java SSO統合を上書きします。これらのフィルタが存在していない場合は、作成してください。
ここで、正しいJAZNプロバイダを指すようにorion-application.xml
ファイルを変更する必要があります。ORACLE_HOME
/j2ee/
OC4J_instance
/applications/owc_discussions/
owcd_root_context
/META-INF
にあるorion-application.xml
を前に変更していない場合は、同じディレクトリにあるorion-application.xml.default
ファイルで置き換えることができます。
以前にorion-application.xml
を変更しており、内容を保存しておく必要がある場合は、JAZNプロバイダを追加または置換するようにファイルを編集できます。次に例を示します。
<library path="./adf"></library> <jazn provider="XML" default-realm="jazn.com"> <jazn-web-app auth-method="CUSTOM_AUTH"/> </jazn>
キャッシュされているコピーをクリアするには、次のディレクトリを削除します。
ORACLE_HOME/j2ee/OC4J_instance/applications/owc_discussions/jiveforums/j2ee/ home/applications-deployments/jive_directory
jiveHome/jive_startup.xml
で次の行を</jive>
タグの前に追加して、admin.tryAlternativeLogin
を設定します。
<admin> <tryAlternativeLogin>true</tryAlternativeLogin> </admin>
7.2.2項「Oracle WebCenter DiscussionsアプリケーションおよびポートレットでのJava SSOの構成方法」の手順10に戻り、続きの手順を実行します。
WebCenterアプリケーションでディスカッション・フォーラム・ポートレットを使用する手順は、次のとおりです。
Oracle JDeveloperを起動し、新しいWebCenterアプリケーションを作成するか、既存のWebCenterアプリケーションを開きます。
4.3.1.1項「WSRPポートレット・プロデューサの登録」の手順に従って、プロデューサを登録します。URLエンドポイントの書式は次のとおりです。
http://host:port/owc_discussions/portlets/wsrp2?WSDL
コンポーネント・パレットでプロデューサを使用できるようになります。
JSPを開きます。または、4.2項「Oracle ADFを使用したOracle JDeveloperでのWebCenterアプリケーション対応ページの構築」に従って新しいJSPを作成します。ディスカッション・フォーラム・ポートレットが機能するためには、JSF JSPの作成ウィザードの「コンポーネント・バインディング」ページで、「新規マネージドBeanでのUIコンポーネントの自動公開」を選択する必要があることに注意してください。
ディスカッション・フォーラム・ポートレットを使用するアプリケーションのセキュリティ構成の詳細は、7.2.3.1項「ポートレットおよびOracle WebCenter Discussionsアプリケーションのセキュリティ構成」を参照してください。
JiveSamplePortlet
をページにドラッグ・アンド・ドロップします。このプロデューサの詳細は、4.3.2項「ページへのポートレットの追加」を参照してください。
ポートレットをページにドロップしたら、表7-1と表7-2のデータを使用し、コンテキストに応じてポートレットをページにリンクする必要があります。リンク手順を完了するには、4.5.1項「ページへのポートレットのリンク」を参照してください。
ページを実行して、ポートレットが予定どおりに表示されることを確認します。
オプションとして、Oracle ADFセキュリティを使用してユーザーをJava SSOで認証するように、ディスカッション・フォーラム・ポートレットを使用するアプリケーションを構成できます。このようにセキュリティを構成すると、ポートレット・リンクからOracle WebCenter Discussionsアプリケーションにナビゲートするために同じ認証トークンが使用され、ユーザーのログインは1回だけですみます。
コンシューマ・アプリケーションに対してOracle ADFセキュリティを構成するには、10.2.2項「アプリケーションのセキュリティの構成」の手順を実行します。