Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.6.0) B72084-01 |
|
![]() 前 |
![]() 次 |
この章では、チーム開発環境について説明します。この環境では、開発者がOracle JDeveloperでファイルを共有します。また、Subversionというソース(バージョン)コントロール・システムについても説明します。
ヒント: 一般に、開発チームのメンバーは新しいポータル・アプリケーションを作成して、それをソース・コード・リポジトリにチェックインします。必要な接続を作成して、それらも同様にチェックインできます。 |
この章の内容は、次のとおりです。
Frameworkアプリケーションのソース・コントロールは、その他の開発環境のソース・コントロールと同様の方法で使用できます。
JDeveloperには、ソース・コントロールのためのSubversionが含まれています。Oracleでは、その他のソース・サポート・システム(Concurrent Versions System (CVS)、Dimensions、ClearCaseなど)に対して拡張機能を無料で提供しています。これらの拡張機能は、JDeveloperの「ヘルプ」→「更新のチェック」メニュー・オプションから直接インストールできます。拡張機能のインストールには、この方法をお薦めします。JDeveloperインスタンスからインターネットに接続できない場合は、http://www.oracle.com/technetwork/index.html
のOracle Technology Network (OTN)から拡張機能をダウンロードしてください。ダウンロードしたローカル・ファイルを指すように、更新のチェック・ウィザードを設定してください。
注意: 拡張機能にアクセスするにはプロキシ・サーバーを構成する必要がある場合があります。プロキシ・サーバーを設定する手順は次のとおりです。
|
Subversion、またはインストール済のその他のソース・コントロール・システムは、JDeveloperで、「バージョニング」メニューをクリックするか、バージョニング・ナビゲータ(「表示」→「チーム」→「バージョニング・ナビゲータ」をクリック)を使用するかの2通りの方法で使用できます。「バージョニング・ナビゲータ」を図4-1に示します
Subversionの詳細は、Oracle JDeveloperのオンライン・ヘルプ・システムおよび『Oracle Application Development Framework開発者ガイド』のソース・コントロール・システムの使用に関する項を参照してください。
Oracleチーム・プロダクティビティ・センターは、アプリケーション・ライフサイクル管理ツールです。このツールを使用すると、ソフトウェア開発チームは、JDeveloperを使用したアプリケーションの開発時に、効率的にコラボレートおよび作業を行うことができます。これも、JDeveloperに対する無料の拡張機能です。
Oracleチーム・プロダクティビティ・センターは、タスク、バグ、および不具合のリポジトリ(JIRAやBugzillaなど)と、独自の組込みタスク・リポジトリをIDEに統合します。また、JDeveloper内のチャット・インタフェースや、その他のチーム作業に役立つ機能(タスクに対してソース・コントロール・システムにチェックインされたファイルの詳細を記録する機能や、IDEのコンテキストを保存するなどの開発者の生産性支援機能など)を提供します。
Oracleチーム・プロダクティビティ・センターの詳細やダウンロードは、http://www.oracle.com/technetwork/index.html
のOracle Technology Network (OTN)を参照してください。
ソース・コントロール・システムを使用する際には、特定のアクションがどのファイルに作用するかを理解していることが重要になります。これを理解していないと、プロジェクトに対して実行するアクションでチェックインまたはチェックアウトするファイルの数を間違えて、ソースを誤って壊す可能性があります。この項は、WebCenter Portal: Frameworkアプリケーションの作成中に実行する主なアクションに必要なファイルの理解に役立ちます。
この項の内容は、次のとおりです。
Frameworkアプリケーションで使用する主要なオブジェクトは、次のとおりです。
ページ
ポートレット
タスク・フロー
データ・コントロール
これらの各オブジェクトは、異なる複数のメタデータ・ファイルで構成された非常に複雑なオブジェクトです。
ページ・メタデータ・ファイルの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFメタデータ・ファイルの概要に関する項を参照してください。ポートレットおよびプロデューサのメタデータ・ファイルの詳細は、付録A「 WebCenter Portal: Frameworkアプリケーションのファイル」を参照してください。
表4-1に、開発者アクションと、これらのアクションの影響を受けるファイルを示します。ファイルを管理するときには、この情報を考慮に入れてください。
表4-1 メタデータ・ファイルに影響を与える開発者アクション
アクション | 影響を受けるファイル |
---|---|
|
追加または更新:
外部アプリケーション接続、および外部アプリケーション接続を必要とするすべての接続(メール、コンテンツ・リポジトリ、インスタント・メッセージおよびプレゼンスを含む)は、次のファイルも追加または更新します。
注意: 接続に指定するすべてのセキュアなデータは、 |
WebCenter Portalのデータ・コントロールの作成 |
|
ページ階層内のページの追加または更新 |
|
サイト・リソース内のリソースの追加、更新または削除 |
|
追加:
更新:
プロデューサがWSRPでWS-Securityをサポートしている場合は、キーストア・ファイルの |
|
Oracle PDK-JavaまたはWSRPポートレット・プロデューサの登録解除 |
プロデューサおよびURL接続を削除するための
注意: プロデューサはアプリケーションから削除されますが、メタデータ・ファイル、ポートレット表示タグおよびポートレット・バインディングはアプリケーションから手動で削除することが必要になる場合があります。それ以外のすべては、別のプロデューサが |
リソース・パレット内のポートレット・プロデューサ接続からのページに対するポートレットの追加または削除 |
リソース・パレット内のポートレット・プロデューサからポートレットを追加すると、WebCenter Portalは、最初にプロデューサをアプリケーションに登録します(プロデューサが登録されていない場合)。影響を受けるファイルについては、「Oracle PDK-JavaまたはWSRPポートレット・プロデューサの登録解除」の行を参照してください。その後で、ページに対してポートレットを追加または削除します。影響を受けるファイルは、この行に示します。 追加または更新:
追加:
更新:
|
コンテンツ・リポジトリ接続からページへのファイルまたはフォルダのドラッグ ページ上のコンテンツ・リポジトリ・データ・コントロールのドラッグ |
更新:
接続を必要とするサービスに対する、すべての接続関連ファイルの追加または更新 アプリケーションに存在していなかった必要な接続のコピー。これによる、 注意: 最近のアクティビティ・サービス、検索サービス、およびタグ・サービスにより、検索拡張機能が |
JSR 286ポートレット・アプリケーションの作成、またはJSPファイルを使用する既存のアプリケーションへのポートレットの追加 |
追加または更新:
ポートレットのJavaソース・ファイルおよびJSPソース・ファイルの追加 |
JSR 286ポートレット・アプリケーションの作成、またはADF/JSPXオプションを使用する既存のアプリケーションへのポートレットの追加 |
このオプションを指定して生成されたポートレット・アプリケーションは、Oracle Portlet Bridgeを使用してFacesアプリケーションにアクセスします。 追加または更新:
追加:
|
PDKポートレット・プロデューサ・アプリケーションの作成 |
追加または更新:
ポートレットのJavaファイルおよびJSPファイルの追加 |
セキュアなWSRPプロデューサ(WS-Security)の登録 |
注意: セキュアなプロデューサの
|
プロジェクトのADFセキュリティの構成 |
追加または更新:
|
更新:
注意: 一部のサービスには別のファイルに影響を与えるものや、設計時に他のサービスに依存するものもあります。これに該当するサービスを、次の各行に示します。 |
|
アクティビティ・ストリーミング |
依存サービス: 外部アプリケーション、IMP |
お知らせ |
更新:
依存サービス: 外部アプリケーション、IMP、リンク、検索 |
コンポーザ |
更新:
|
ディスカッション |
更新:
依存サービス: 外部アプリケーション、IMP、リンク、検索 |
ドキュメント、Wikiおよびブログ |
更新:
依存サービス: 外部アプリケーション、IMP、リンク、検索、タグ |
外部アプリケーション |
|
イベント |
依存サービス: 外部アプリケーション、リンク、検索 |
インスタント・メッセージおよびプレゼンス(IMP) |
更新:
依存サービス: 外部アプリケーション |
リンク |
|
リスト |
依存サービス: 外部アプリケーション、IMP、リンク、検索 |
メール |
依存サービス: 外部アプリケーション、IMP |
ページ |
更新:
依存サービス: リンク、検索、コンポーザ |
ピープル・コネクション |
依存サービス: 外部アプリケーション、IMP、コンポーザ、アクティビティ・ストリーミング |
投票 |
依存サービス: 外部アプリケーション、IMP |
最近のアクティビティ |
依存サービス: 検索 |
RSS |
更新
依存サービス: 外部アプリケーション |
検索 |
|
タグ |
依存サービス: 外部アプリケーション、IMP、検索、リンク |
ワークリスト |
依存サービス: 検索、リンク |
プロジェクト管理者は、開発者に共通する要件を一度に実装して、そのバージョンを全員が使用できるようにチェックインすることをお薦めします。前もって計画し、管理者がこれらの共通要件を考慮しておくことで、冗長的な作業やエラーを削減できます。
たとえば、2人の開発者が、アプリケーションの別々のページにOmniPortletを追加する必要があるとします。この場合、プロジェクト管理者がOmniPortletプロデューサを登録していれば、両方の開発者がこのプロデューサを使用できます。このようにしていないと、各開発者が別々にOmniPortletプロデューサを登録するようになり、不要な重複と混乱の原因になります。
別の例として、多数の開発者が、同じコンテンツ・リポジトリのコンテンツを必要としているとします。この場合は、最初に1人が必要な接続を設定してチェックインする必要があります。その後、その他の開発者は同じデータ・コントロールを再利用するだけです。
チーム環境で作業する場合は、ポートレット・プロデューサに関する次の考慮事項に留意してください。
プロジェクトに対してEARファイルを構築する場合、個々のプロジェクトではなくアプリケーション全体に対して接続がロードされます。たとえば、P1およびP2という2つのプロジェクトを持つアプリケーションがあるとします。P1には100個のプロデューサが登録されており、P2にはプロデューサは登録されていません。この場合、どちらかのプロジェクトに対してEARファイルを構築すると、P1のプロデューサ接続の100個全部がconnections.xml
にロードされます。ただし、手動でconnections.xml
を編集することもできますので覚えておいてください。
デプロイ前ツールを実行してターゲットのEARファイルを作成する場合、connections.xml
内のすべての接続にアクセスできる必要があります。このため、この例では、P1の100個のポートレット・プロデューサ接続のいずれかがなんらかの理由で使用不可能になると、どちらのプロジェクトのターゲットのEARファイルも生成に失敗します。全体の開発作業をアプリケーションおよびプロジェクト別に分担するときは、この動作を考慮して、慎重に計画する必要があります。
Oracle WebCenter Frameworkでは、同じ名前で2つのポートレット・プロデューサを登録できますが、一般にこのような状況は避けた方が賢明です。たとえば、2人の開発者が同じアプリケーションに対して作業しているときに、誤ってポートレット・プロデューサを同じ名前で登録した場合、通常は、そのプロデューサ名のどちらかを一意の名前に変更することがベストです。2つのポートレット・プロデューサが同じ名前で登録されている場合、ポートレット・プロデューサに対してエラーのデバッグや管理タスクを実行する際に、両者を区別することが非常に難しくなります。
場合によっては、複数の開発者でポートレットを構築し、最終的にこれらのポートレットを1つのポートレット・プロデューサの下に結合することが必要になります。この各開発者は、いくつかの潜在的な問題を意識している必要があります。
ポートレット名とJSPパスは、クラッシュする可能性があります。あるアプリケーションで1つのポートレット・プロデューサ内にポートレットを結合する場合、ポートレット開発者は、ネーミングのクラッシュを回避するために、事前に準備したクラス・パッケージ名およびJSPパスを使用する必要があります。
ポートレット・ウィザードでJPSポートレットを作成すると、ポートレット・モードのディレクトリはデフォルトでportlet
n
\html\
mode_name
に設定されます。このn
は、ポートレットを作成するたびに1ずつ増える数です。ディレクトリおよびファイル名のクラッシュを回避するために、ポートレット開発者は、ポートレット・ウィザードの「コンテンツ・タイプとポートレット・モード」ページでディレクトリ名を変更する必要があります。ポートレット・モードを選択してから、対応するフィールド内のディレクトリ名を一意の名前に変更します。
ポートレットを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
ファイルを参照していることを確認してください。