統合チーム・プロバイダーのビルド

リポジトリーのサポートとプラットフォームとの統合は、しっかりした設計から始まります。  目標は、リポジトリー・ユーザーが認識しているワークフローと、ワークベンチに定義されている概念との統合です。  ワークベンチの UI と機能の拡張には多くの方法があるため、統合を達成する方法を自由に選択できます。  それでは、どこから始めればよいのでしょうか?

チーム・プロバイダーのビルドは、チーム API の学習の問題にとどまりません。  (この後のセクションでは、チーム・プラグインによって導入された特定のサポートについて特に説明します。)   これは、ワークベンチの統合についての理解の問題です。  まずは全体像を見てみましょう。  チーム・プロバイダーとプラットフォームの統合の事例研究として CVS クライアントを使用します。 CVS プロバイダーが提供する機能のいくつかと、同様のレベルの統合を達成するために使用できるワークベンチおよびチーム機能について見てみましょう。

CVS メニュー項目、ビュー、タスク、およびデコレーターが表示されたワークベンチ

CVS クライアントは、既存のワークベンチ・リソース・パースペクティブとシームレスに統合されます。  これにより、ユーザーによる CVS 用プロジェクトの構成、リソースのメニューへの機能の追加、チームに固有の情報でのリソースの装飾、 チームに固有の情報を示すカスタマイズ済みビューの指定、タスク・リストへのチーム指向タスクの追加などが可能になります。  可能になることのリストはどこまでも続きます。  プロバイダーはどのように同様の統合を達成できるのでしょうか?  ここでは、最初に実行するべき基本ステップと、これらのトピックに関する情報 (チームに固有の情報とワークベンチ指向情報の両方) へのリンクを示します。

入門

インプリメンテーションを表す RepositoryProvider を定義します。
構成ウィザードを提供して、ユーザーがプロバイダーとプロジェクトを関連付けることを可能にします。
アクションを「チーム」メニューに追加します。

リソース・ビューの拡張

プロバイダーに固有のプロパティーをリソースのプロパティー・ページに追加します。
  • propertyPages 拡張機能を使用して、リソース用のチームに固有のプロパティーを示します。
特殊デコレーターをインプリメントして、チーム関連属性を示します。
チーム・サポートのインプリメントで使用するリソースをフィルター操作で除外することによってクラッターを削減します。 
  • チーム専用リソースを使用して、インプリメンテーション・ファイルおよびフォルダーを隠します。

ユーザーによるリソースの編集および変更を処理

リソースの保管に介入して、ユーザーがファイルを変更する前に許可を検査することを可能にします。
ユーザーがファイルを編集する前に介入して、それが許可されているかを確かめます。
ワークスペースでのリソースの変更をトラックして、リポジトリー内の関連する変更の許可を可能にします。
  • 移動/削除フックを使用して、リソースの移動と削除を妨害または拡張します。
  • 何が可能かについて詳しくは、 IMoveDeleteHook を参照してください。
リンクされたリソースの使用を可能にします。

リポジトリー関連タスクの効率化

プロジェクトの記述をエクスポートする簡単な方法を提供します。
  • プロジェクト・セットを使用して、 コンテンツをエクスポートせずにプロジェクトをエクスポートして、ユーザーがリポジトリーからプロジェクトを再ビルドすることを可能にします。
再生成できるファイルを無視することによって、リポジトリーの乱雑さを削減します。
  • ファイルの処理で ignore 拡張機能を使用し、 プラグインの派生ファイルに ignore を使用します。

プラットフォームの統合を拡張

プロバイダーに固有の設定を設定ページに追加します。
カスタム・ビューをインプリメントして、リポジトリーまたはそのリソースに関する詳細情報を示します。
  • views 拡張機能を使用して、ビューを提供します。
  • 例として、CVS プロバイダーの「リポジトリー」ビューを参照してください。
該当する場合、ビューまたはアクションを既存のワークベンチ・パースペクティブに追加します。
  • perspectiveExtension 拡張機能を使用して、 プラグインのショートカットまたはビューを既存パースペクティブに追加します。
リポジトリーに固有のパースペクティブをインプリメントして、リポジトリーの管理またはブラウズを効率化します。
  • perspectives 拡張機能を使用して、 独自のパースペクティブ、ビュー、ショートカット、およびページ・レイアウトを定義します。

 

 

Copyright IBM Corporation and others 2000, 2003.