ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド
11g リリース1 (11.1.1.7.0)
B72084-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 チームでの効率的な作業

この章では、開発者がOracle JDeveloperでファイルを共有する場合のチーム開発環境について説明します。たとえば、ソース(またはバージョン)・コントロール・システム、Subversionに関する情報などがあります。


ヒント:

一般に、開発チームのメンバーは新しいポータル・アプリケーションを作成して、それをソース・コード・リポジトリにチェックインします。必要な接続を作成して、それらも同様にチェックインできます。


この章には次の項が含まれます:

4.1 Frameworkアプリケーションのソース・コントロールの有効化

Frameworkアプリケーションのソース・コントロールは、その他の開発環境のソース・コントロールと同様の方法で使用できます。

JDeveloperには、ソース・コントロールのSubversionが含まれます。Oracleは、CVS (Concurrent Versions System)、DimensionsおよびClearCaseなどの他のソース・サポート・システムへの無料の拡張機能も提供します。これらの拡張機能は、JDeveloper内の「ヘルプ」→「更新の確認」メニュー・オプションから直接インストールできます。これが、拡張機能をインストールする推奨方法です。JDeveloperインスタンスからインターネットに接続できない場合は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/index.html)から拡張機能をダウンロードします。更新の確認ウィザードで、ダウンロードするローカル・ファイルを指し示します。


注意:

拡張機能にアクセスするにはプロキシ・サーバーを構成する必要がある場合があります。プロキシ・サーバーを設定するには:

  1. Oracle JDeveloperで、「ツール」メニュー・オプションを選択して、「プリファレンス」を選択します。

  2. 「プリファレンス」ダイアログで、リストを下方向にスクロールし、「Webブラウザとプロキシ」を選択します。

  3. 右ペインの「Webブラウザとプロキシ」で、「HTTPプロキシ・サーバーを使用」を選択し、プロキシ・サーバーのホスト名とポート番号を入力し、例外を入力します。「OK」をクリックします。


Subversion、またはインストール済のその他のソース・コントロール・システムは、JDeveloperで、「バージョニング」メニューをクリックするか、バージョニング・ナビゲータ(「表示」→「チーム」→「バージョニング・ナビゲータ」をクリック)を使用するかの2通りの方法で使用できます。「バージョニング・ナビゲータ」を図4-1に示します

図4-1 「バージョニング・ナビゲータ」

図4-1の説明が続きます
「図4-1 「バージョニング・ナビゲータ」」の説明

Subversionの詳細は、Oracle JDeveloperのオンライン・ヘルプ・システムおよび『Oracle Application Development Framework開発者ガイド』のソース・コントロール・システムの使用に関する項を参照してください。

4.1.1 Subversionリポジトリの作成

Subversionリポジトリを作成するには:

  1. 「バージョニング」メニューから、「Subversion」、「ローカル・リポジトリの作成」の順に選択します。「Subversionリポジトリの作成」ダイアログが表示されます(図4-2を参照)。

    図4-2 「Subversionリポジトリの作成」

    図4-2の説明が続きます
    「図4-2 「Subversionリポジトリの作成」」の説明

  2. 「Subversion接続の作成」ダイアログで、接続の詳細を入力して「OK」をクリックします。(図4-3)


    注意:

    接続を作成する別の方法として、バージョニング・ナビゲータで「Subversion」を右クリックして、「新規リポジトリ接続」を選択します。


    図4-3 「Subversion接続の作成」

    図4-3の説明が続きます
    「図4-3 「Subversion接続の作成」」の説明

  3. これらのページは、「Subversion接続の編集」ページ(図4-4)で後から編集できます。

    図4-4 「Subversion接続の編集」

    図4-4の説明が続きます
    「図4-4 「Subversion接続の編集」」の説明

4.1.2 Oracleチーム・プロダクティビティ・センターの理解

Oracleチーム・プロダクティビティ・センターはアプリケーション・ライフサイクル管理ツールで、このツールを使用すると、ソフトウェア開発チームは、JDeveloperを使用したアプリケーションの開発時に共同作業と効率的な作業が可能になります。これもJDeveloperの無料の拡張機能です。

Oracleチーム・プロダクティビティ・センターは、タスク、バグ、および不具合のリポジトリ(JIRAやBugzillaなど)と、独自の組込みタスク・リポジトリをIDEに統合します。また、JDeveloper内のチャット・インタフェースや、その他のチーム作業に役立つ機能(タスクに対してソース・コントロール・システムにチェックインされたファイルの詳細を記録する機能や、IDEのコンテキストを保存するなどの開発者の生産性支援機能など)を提供します。

Oracleチーム・プロダクティビティ・センターの詳細やダウンロードは、http://www.oracle.com/technetwork/index.htmlのOracle Technology Network (OTN)を参照してください。

4.2 開発者が関与するFrameworkアプリケーションのファイルの理解

ソース・コントロール・システムを使用する際には、特定のアクションがどのファイルに作用するかを理解していることが重要になります。これを理解していないと、プロジェクトに対して実行するアクションでチェックインまたはチェックアウトするファイルの数を間違えて、ソースを誤って壊す可能性があります。この項は、WebCenter Portal: Frameworkアプリケーションの作成中に実行する主なアクションに必要なファイルの理解に役立ちます。

この項には次のサブセクションが含まれます:

4.2.1 共通のオブジェクトに関連付けられたファイル

Frameworkアプリケーションで使用する主要なオブジェクトは、次のとおりです。

  • ページ

  • ポートレット

  • タスク・フロー

  • データ・コントロール

これらの各オブジェクトは、異なる複数のメタデータ・ファイルで構成された非常に複雑なオブジェクトです。

ページ・メタデータ・ファイルの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFメタデータ・ファイルの概要に関する項を参照してください。ポートレットおよびプロデューサのメタデータ・ファイルの詳細は、付録A「 WebCenter Portal: Frameworkアプリケーションのファイル」を参照してください。

4.2.2 メタデータ・ファイルに影響を与える開発者アクション

表4-1に、開発者アクションと、これらのアクションの影響を受けるファイルを示します。ファイルを管理するときには、この情報を考慮に入れてください。

表4-1 メタデータ・ファイルに影響を与える開発者アクション

アクション 影響を受けるファイル

次の接続の作成または編集:

  • BPEL

  • コンテンツ・リポジトリ(Oracle Content Server、Oracle Portal、ファイル・システムなど)

  • データベース

  • ディスカッション

  • 外部アプリケーション

  • インスタント・メッセージおよびプレゼンス

  • メール

  • Oracle Secure Enterprise Search

  • Oracle PDK-Javaプロデューサ

  • WSRPプロデューサ

追加または更新:

  • app-root/.adf/META-INF/connections.xml内の接続

  • app-root/projectname/projectname.jpr内の接続ライブラリ

  • app-root/.adf/META-INF/adf-config.xml内のサービスレベル構成(デフォルト接続を含む)

外部アプリケーション接続、および外部アプリケーション接続を必要とするすべての接続(メール、コンテンツ・リポジトリ、インスタント・メッセージおよびプレゼンスを含む)は、次のファイルも追加または更新します。

  • app-root/src/META-INF/jps-config.xml内の資格証明ストア・プロバイダ

  • app-root/src/META-INF/cwallet.sso内のユーザー名とパスワード

注意: 接続に指定するすべてのセキュアなデータは、jps-config.xml内で参照されるcwallet.ssoに格納されます。たとえば、データベース接続のパスワードはcwallet.ssoに格納されます。

WebCenter Portalのデータ・コントロールの作成

app-root/projectname/adfmsrc内の次のデータ・コントロール・ファイルが追加または更新されます。

  • projectpackage/DataControls.dcx内のデータ・コントロール定義

  • projectpackage/dcname.xml内のデータ・コントロール構造

  • projectpackage/dcname/*.xml内のデータ・コントロールで使用するデータ構造の定義

  • app-root/projectname/adfmsrc/META-INF/adfm.xml内のDCXファイルへのポインタ

  • app-root/projectname/adfmsrc/return.xml内のコレクションに使用するデフォルト操作の定義

app-root/projectname/projectname.jpr内のコンテンツ・リポジトリのライブラリの更新

ページ階層内のページの追加または更新

  • 親ページのページ階層ファイル(/oracle/webenter/portalapp/pagehierarchy/*Pages.xml)の追加または更新、および親が階層のルート・ページの場合はpages.xmlの更新

  • 親ページからページが連結解除(たとえば、ページ階層からの削除や親の変更など)されたときには、元の親ページのページ階層ファイルの更新

  • 関連するページのページ定義ファイル(*PageDef.xml)の追加または更新(新しいpagedefファイルが追加された場合は、pagedefとJPSXへのマッピングを追加するためのapp-root/projectname/adfmsrc/projectpackagename/DataBindings.cpxの更新)

サイト・リソース内のリソースの追加、更新または削除

mds/oracle/webcenter/siteresources/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/generic-site-resources.xmlの更新

Oracle PDK-JavaまたはWSRPポートレット・プロデューサの登録

app-root/src/META-INF/jps-config.xml内の資格証明ストア・プロバイダの追加または更新

追加:

  • タグ・ライブラリ

  • app-root/mds/producer.pxml (登録済プロデューサに関連)

  • app-root/mds/directory: producerに対して、登録済プロデューサに関連する複数のファイル

app-root/projectname/adfmsrc/projectpackagename/DataBindings.cpx内のデータ・バインディングに対するファクトリ・クラスの追加または更新

更新:

  • app-root/.adf/META-INF/connections.xml内のプロデューサへの接続と、それに関連付けられたURL接続

  • app-root/.adf/META-INF/adf-config.xml内のメタデータ・リポジトリと資格証明ストアの構成

  • app-root/projectname/src/META-INF/orion-application.xml内のWebCenter Portalの共有ライブラリ

  • app-root/projectname/projectname.jpr内の外部アプリケーションのライブラリを含むFrameworkアプリケーションに必要なライブラリ

  • app-root/projectname/public_html/WEB-INF/web.xml内のポートレットのサーブレットとフィルタ、および外部アプリケーションの自動ログイン・エントリ

プロデューサがWSRPでWS-Securityをサポートしている場合は、キーストア・ファイルのapp-root/.adf/META-INFへのコピー

Oracle PDK-JavaまたはWSRPポートレット・プロデューサの登録解除

プロデューサおよびURL接続を削除するためのapp-root/.adf/META-INF/connections.xmlの更新

app-root/mds/からのプロデューサ関連ファイルの削除

注意: プロデューサはアプリケーションから削除されますが、メタデータ・ファイル、ポートレット・ビュー・タグおよびポートレット・バインディングをアプリケーションから手動で削除する必要があります。他のプロデューサがapp-root/projectname/public_html/WEB-INF/web.xmlまたはapp-root/.adf/META-INF/adf-config.xmlに依存する場合、他はすべてそのままにしておく必要があります。メタデータ・ファイルは登録解除操作によって削除されますが、プロデューサが登録解除時に使用できなかった場合、プロデューサ側のカスタマイズを手動で削除する必要があります。

ページに対するポートレットの追加または削除

リソース・パレット内のポートレット・プロデューサ接続からのページに対するポートレットの追加または削除

リソース・パレットでポートレット・プロデューサのポートレットを追加する場合、WebCenter Portalは最初にプロデューサをアプリケーションに登録します(登録していない場合)。影響を受けるファイルについては、「Oracle PDK-JavaまたはWSRPポートレット・プロデューサの登録解除」の行を参照してください。これは、ページに対するポートレットの追加または削除を行い、この行で説明されているファイルに影響を与えます。

追加または更新:

  • app-root/projectname/adfmsrc/projectpackagename/DataBindings.cpx内の新しいPageDefマッピング(存在しない場合)

  • app-root/projectname/public_html/WEB-INF/faces-config.xml (これは、ポートレットなどのOracle ADFコンポーネントをページに追加するたびに発生します。)

  • adf-faces-config.xml (これは、Oracle ADFコンポーネントをページに追加するたびに発生します。)

  • ポートレットがWSRPの場合、app-root/projectname/public_html/WEB-INF/oracle-webservices.xml

追加:

  • app-root/mds/に対して、新しくクローニングされたポートレット・インスタンスに関連する複数のファイル

  • ポートレットがWSRPの場合は、app-root/projectname/public_html/WEB-INF/wsdlに対して、複数のWSDLおよびXMLファイル

更新:

  • app-root/projectname/public_html/pagename.jspx内の<adfp:portlet>タグ(JSF Facesタグは、Oracle ADF Facesタグで置換されます。)

  • app-root/projectname/adfmsrc/projectpackagename/pageDefs/pagenamePageDef.xml内のリージョン・バインディングとページ変数の定義

  • ポートレットがWSRPの場合、app-root/projectname/public_html/WEB-INF/web.xml内のsecure-refエントリ

コンテンツ・リポジトリ接続からページへのファイルまたはフォルダのドラッグ

ページ上のコンテンツ・リポジトリ・データ・コントロールのドラッグ

更新:

  • app-root/projectname/public_html/pagename.jspx内の該当するADF Facesタグ

  • app-root/projectname/adfmsrc/projectpackagename/pageDefs/pagenamePageDef.xml内のリージョン・バインディング

  • app-root/projectname/adfmsrc/projectpackagename/DataBindings.cpx内のページ定義のリスト

  • app-root/projectname/adfmsrc/META-INF/adfm.xml内のデータ・バインディング・ファイルへのポインタ

  • app-root/.adf/META-INF/adf-config.xml内のMDS構成エントリ

  • app-root/projectname/projectname.jpr内のサービス・ライブラリ、依存ライブラリおよびJSPタグ・ライブラリ

  • app-root/projectname/public_html/WEB-INF/web.xml内のADFライブラリ、外部アプリケーションおよびMDS構成エントリ

接続を必要とするサービスに対する、すべての接続関連ファイルの追加または更新

アプリケーションに存在していなかった必要な接続のコピー。これによる、app-root/.adf/META-INF/connections.xmlおよびapp-root/projectname/projectname.jprの更新

注意: 最近のアクティビティ・サービス、検索サービス、およびタグ・サービスにより、検索拡張機能がadf-config.xmlに追加され、サンプルのservice-definition.xmlファイルが作成されます(このファイルが存在しない場合)。service-definition.xmlファイルを使用すると、開発者はサービスのQueryManagerの実装を定義できます。

JSR 286ポートレット・アプリケーションの作成、またはJSPファイルを使用する既存のアプリケーションへのポートレットの追加

追加または更新:

  • app-root/projectname/public_html/WEB-INF/portlet.xml

  • app-root/projectname/public_html/WEB-INF/oracle-portlet.xml

  • app-root/projectname/public_html/WEB-INF/web.xml

ポートレットのJavaソース・ファイルおよびJSPソース・ファイルの追加

JSR 286ポートレット・アプリケーションの作成、またはADF/JSPXオプションを使用する既存のアプリケーションへのポートレットの追加

このオプションを指定して生成されたポートレット・アプリケーションは、Oracle Portlet Bridgeを使用してFacesアプリケーションにアクセスします。

追加または更新:

  • app-root/projectname/public_html/WEB-INF/portlet.xml内のポートレット・ブリッジの構成情報

  • app-root/projectname/public_html/WEB-INF/oracle-portlet.xml内のポートレット・ブリッジの構成情報

  • app-root/projectname/public_html/WEB-INF/web.xml内のFacesサーブレットの構成情報

  • app-root/src/META-INF/orion-application.xml内のadf.oracle.domainおよびoracle.webcenter.skinの共有ライブラリのインポート文

追加:

  • ポートレットのJavaソース・ファイルおよびJSPXソース・ファイル

  • app-root/projectname/public_html/WEB-INF/faces-config.xml

PDKポートレット・プロデューサ・アプリケーションの作成

追加または更新:

  • app-root/projectname/public_html/WEB-INF/web.xml内のプロデューサ・サーブレットの定義およびプロデューサ・デプロイメントの詳細

  • service_id.properties内のプロデューサ構成の属性

  • app-root/src/META-INF/orion-application.xml内のoracle.portalの共有ライブラリのインポート文

ポートレットのJavaファイルおよびJSPファイルの追加

セキュアなWSRPプロデューサ(WS-Security)の登録

app-root/.adf/META-INF/connections.xml 内のセキュアなプロデューサ接続定義の更新

注意: セキュアなプロデューサのconnections.xmlエントリは、セキュリティ・ポリシーの格納方法が異なるように見えます。セキュリティ・ポリシーのすべての記述ではなく、セキュリティ・ポリシーはURIのみの記述になります(これは、ポリシー・リポジトリ内のポリシーへのポインタです)。

connections.xml内のセキュアな参照属性は、資格証明ストア(app-root/src/META-INF/jps-config.xmlで定義されています)に格納されます。資格証明ストアの構成情報(jps-config.xmlで定義されています)は、app-root/.adf/META-INF/adf-config.xmlに格納されます。設計時には、資格証明ストアはデフォルトでOracle Wallet (META-INF/cwallet.sso)に格納されます。

プロジェクトのADFセキュリティの構成

追加または更新:

  • app-root/projectname/public_html/WEB-INF/web.xml内のログイン構成、ADF認証サーブレット、セキュリティ制約、論理ロールおよびマッピング

  • app-root/src/META-INF/jps-config.xml内のアイデンティティ・ストア、資格証明ストア、ポリシー・ストア、匿名プロバイダおよびログイン・モジュール

  • app-root/.adf/META-INF/adf-config.xml内のADFアイデンティティ・ストアおよび資格証明ストア構成

  • app-root/src/META-INF/jazn-data.xml内のXMLアイデンティティ・ストア

  • app-root/src/META-INF/jazn-data.xml内のアプリケーション権限

ページのコンポーネントまたはサービスの追加

更新:

  • app-root/projectname/public_html/WEB-INF/weblogic.xml内のデータ・ソース(WebCenterDS、ActivitiesDS)構成およびWebCenter Portal共有ライブラリ

  • app-root/src/META-INF/weblogic-application.xml内のWebCenter Portal共有ライブラリおよびXMLパーサー構成

  • app-root/projectname/public_html/WEB-INF/web.xml内のデータ・ソース構成、コンテキスト・パラメータおよびリスナー、JSPサーブレット、リソース・サーブレット、adfBindingsフィルタおよび写真サーブレットのエントリ

  • app-root/.adf/META-INF/adf-config.xml内のMDS構成マッピング

  • app-root/projectname/projectname.jpr内のサービス固有のライブラリ

  • app-root/projectname/src/META-INF/jazn-data.xml内のタスク・フローのセキュリティ権限付与(アプリケーションがADFセキュリティで構成されている場合)

  • app-root/projectname/adfmsrc/projectpackagename/pageDefs/pagenamePageDef.xml内のリージョン・バインディング

  • app-root/projectname/adfmsrc/META-INF/adfm.xml内のデータ・バインディング・ファイルへのポインタ

  • app-root/projectname/adfmsrc/projectpackagename/DataBindings.cpx内のタスク・フロー・バインディング定義ファクトリおよびpageDefのエントリ

  • app-root/projectname/public_html/pagename.jspx内の該当するADF Facesタグ

注意: 一部のサービスには別のファイルに影響を与えるものや、設計時に他のサービスに依存するものもあります。これに該当するサービスを、次の各行に示します。projectname.jprファイルおよびweb.xmlファイルのサービス・ライブラリと依存ライブラリが更新されます。

アクティビティ・ストリーミング

依存サービス: 外部アプリケーション、IMP

お知らせ

更新:

  • weblogic-application.xml内のディスカッション共有ライブラリ

  • app-root/.adf/META-INF/adf-config.xml内のMDSマッピングおよびサービス固有の構成エントリ

依存サービス: 外部アプリケーション、IMP、リンク、検索

コンポーザ

更新:

  • app-root/projectname/public_html/WEB-INF/web.xml内のコンテキスト・パラメータ

  • app-root/.adf/META-INF/adf-config.xml内のMDSマッピングとADF Faces、リソース・バンドルおよびカタログ構成エントリ

$PROJECT_DIR/src/<projectpackagename>/default-catalog.xmlの追加

ディスカッション

更新:

  • app-root/src/META-INF/weblogic-application.xml内のディスカッション共有ライブラリ

  • app-root/.adf/META-INF/adf-config.xml内のMDSマッピングおよびサービス固有の構成エントリ

依存サービス: 外部アプリケーション、IMP、リンク、検索

ドキュメント、Wikiおよびブログ

更新:

  • app-root/projectname/public_html/WEB-INF/web.xml内のADFライブラリ・フィルタ/サーブレット、GetHandlerサーブレットおよびフィルタ・マッピング

  • app-root/.adf/META-INF/adf-config.xml内のMDSマッピング

依存サービス: 外部アプリケーション、IMP、リンク、検索、タグ

外部アプリケーション

app-root/projectname/public_html/WEB-INF/web.xml内のExtAppLoginサーブレットおよびフィルタ・マッピングの更新

イベント

app-root/.adf/META-INF/adf-config.xml内のMDSマッピングおよびサービス固有の構成エントリの更新

依存サービス: 外部アプリケーション、リンク、検索

インスタント・メッセージおよびプレゼンス(IMP)

更新:

  • weblogic-application.xml内のSDP共有ライブラリ

  • app-root/.adf/META-INF/adf-config.xml内のサービス固有の構成エントリ

依存サービス: 外部アプリケーション

リンク

app-root/.adf/META-INF/adf-config.xml内のサービス固有の構成エントリの更新

リスト

app-root/.adf/META-INF/adf-config.xml内のMDSマッピングの更新

依存サービス: 外部アプリケーション、IMP、リンク、検索

メール

app-root/.adf/META-INF/adf-config.xml内のMDSマッピングおよびサービス固有の構成エントリの更新

依存サービス: 外部アプリケーション、IMP

ページ

更新:

  • app-root/projectname/adfmsrc/projectpackagename/DataBindings.cpx内の属性

  • app-root/.adf/META-INF/adf-config.xml内のMDSマッピング

依存サービス: リンク、検索、コンポーザ

ピープル・コネクション

依存サービス: 外部アプリケーション、IMP、コンポーザ、アクティビティ・ストリーミング

投票

app-root/.adf/META-INF/adf-config.xml内のMDSマッピングおよびサービス固有の構成エントリの更新

依存サービス: 外部アプリケーション、IMP

最近のアクティビティ

app-root/.adf/META-INF/adf-config.xml内のサービス固有の構成エントリの更新

依存サービス: 検索

RSS

更新

  • app-root/src/META-INF/weblogic-application.xml内のディスカッション共有ライブラリ

  • app-root/.adf/META-INF/adf-config.xml内のMDSマッピング

依存サービス: 外部アプリケーション

検索

app-root/.adf/META-INF/adf-config.xml内のMDSマッピングおよびサービス固有の構成エントリの更新

$WORKSPACE_DIR/.adf/META-INF/service-definition.xmlの追加

タグ

app-root/.adf/META-INF/adf-config.xml内のサービス固有の構成エントリの更新

依存サービス: 外部アプリケーション、IMP、検索、リンク

ワークリスト

app-root/src/META-INF/weblogic-application.xml内のSOA共有ライブラリの更新

依存サービス: 検索、リンク


4.3 1回での共通要件の実装

プロジェクト管理者は、開発者に共通する要件を一度に実装して、そのバージョンを全員が使用できるようにチェックインすることをお薦めします。前もって計画し、管理者がこれらの共通要件を考慮しておくことで、冗長的な作業やエラーを削減できます。

たとえば、2人の開発者が、アプリケーションの別々のページにOmniPortletを追加する必要があるとします。この場合、プロジェクト管理者がOmniPortletプロデューサを登録していれば、両方の開発者がこのプロデューサを使用できます。このようにしていないと、各開発者が別々にOmniPortletプロデューサを登録するようになり、不要な重複と混乱の原因になります。

別の例として、多数の開発者が、同じコンテンツ・リポジトリのコンテンツを必要としているとします。この場合は、最初に1人が必要な接続を設定してチェックインする必要があります。その後、その他の開発者は同じデータ・コントロールを再利用するだけです。

4.4 ポートレット・プロデューサに関する考慮事項

チーム環境で作業する場合は、ポートレット・プロデューサに関する次の考慮事項に留意してください。

4.4.1 ポートレット・プロデューサの接続

プロジェクトに対してEARファイルを構築する場合、個々のプロジェクトではなくアプリケーション全体に対して接続がロードされます。たとえば、P1およびP2という2つのプロジェクトを持つアプリケーションがあるとします。P1には100個のプロデューサが登録されており、P2にはプロデューサは登録されていません。この場合、どちらかのプロジェクトに対してEARファイルを構築すると、P1のプロデューサ接続の100個全部がconnections.xmlにロードされます。ただし、手動でconnections.xmlを編集することもできますので覚えておいてください。

デプロイ前ツールを実行してターゲットのEARファイルを作成する場合、connections.xml内のすべての接続にアクセスできる必要があります。このため、この例では、P1の100個のポートレット・プロデューサ接続のいずれかがなんらかの理由で使用不可能になると、どちらのプロジェクトのターゲットのEARファイルも生成に失敗します。全体の開発作業をアプリケーションおよびプロジェクト別に分担するときは、この動作を考慮して、慎重に計画する必要があります。

4.4.2 ポートレット・プロデューサ名のクラッシュ

Oracle WebCenter Frameworkでは、同じ名前で2つのポートレット・プロデューサを登録できますが、一般にこのような状況は避けた方が賢明です。たとえば、2人の開発者が同じアプリケーションに対して作業しているときに、誤ってポートレット・プロデューサを同じ名前で登録した場合、通常は、そのプロデューサ名のどちらかを一意の名前に変更することがベストです。2つのポートレット・プロデューサが同じ名前で登録されている場合、ポートレット・プロデューサに対してエラーのデバッグや管理タスクを実行する際に、両者を区別することが非常に難しくなります。

4.4.3 異なるポートレット・プロデューサからのポートレットの結合

場合によっては、複数の開発者でポートレットを構築し、最終的にこれらのポートレットを1つのポートレット・プロデューサの下に結合することが必要になります。この各開発者は、いくつかの潜在的な問題を意識している必要があります。

  • ポートレット名とJSPパスは、クラッシュする可能性があります。あるアプリケーションで1つのポートレット・プロデューサ内にポートレットを結合する場合、ポートレット開発者は、ネーミングのクラッシュを回避するために、事前に準備したクラス・パッケージ名およびJSPパスを使用する必要があります。

  • ポートレット・ウィザードでJPSポートレットを作成する場合、ポートレット・モードのディレクトリはデフォルトでportletn\html\mode_nameになります。nは、作成するポートレットごとに増分する数になります。ディレクトリ名やファイル名のクラッシュを避けるために、ポートレット開発者は、ポートレット・ウィザードの「コンテンツ・タイプ」ページと「ポートレット・モード」ページでディレクトリ名を変更する必要があります。ポートレット・モードを選択して、対応するフィールドでディレクトリ名が一意になるように変更します。

  • ポートレットを1つのポートレット・プロデューサ内に結合するときには、ポートレット・ディスクリプタ・ファイルを手動でマージする必要があります。このとき、次のようにして識別子のクラッシュを回避します。

    • portlet.xmlおよびoracle-portlet.xmlファイル内のJPSポートレット識別子は、portlet1から始まって順に自動生成されます。複数のポートレット・ディスクリプタ・ファイルを手動で1つにマージするとき、他のポートレット識別子とクラッシュするポートレット識別子はすべて変更する必要があります。

    • 同様に、provider.xml内のPDK-Javaポートレット識別子は、1から始まって順に自動生成されます。複数のprovider.xmlファイルを手動でマージするとき、他のポートレット識別子とクラッシュするポートレット識別子はすべて変更する必要があります。

  • Webディスクリプタ(web.xml)の変更内容(セキュリティ・ロール情報など)も手動でマージする必要があります。

  • PDK-Javaポートレットの場合は、.propertiesファイルも手動でマージする必要があることがあります。

  • 多様なポートレットを使用している場合には、他者による上書きや、変更されたファイルがJDeveloperで正しく選択されないなどの理由で、ファイルの一部が適切にチェックインされない場合があります。たとえば、様々なタイプのポートレットを含むアプリケーションをデプロイすると、3つの内2つのOmniPortletで次のエラーが表示されます。

    mdsId
    oracle/adf/portlet/OmniPortlet_1172537210873/ap/Portlet100_0b4156e9_0111_1000_
    8001_82235f273a39.pxml not found
     
    mdsId
    oracle/adf/portlet/OmniPortlet_1172537210873/ap/Portlet100_250498fc_0111_1000_
    8002_a9fe7286a54e.pxml not found
    

    このようなエラー・メッセージが表示された場合は、開発環境のすべての*.pxmlファイルがデプロイ環境にコピーされていることを確認してください。

  • ポートレットのカスタマイズが、デプロイ環境で表示されない場合があります。oracle\adf\portlet\<portletInstanceName>.pxmlファイルのコンテンツが適切で、正しい*.pxmlファイルを参照していることを確認してください。