充実したチームの統合

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

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

CVS メニュー項目、ビュー、タスク、およびデコレーターを含むワークベンチ

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

入門

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

リソース・ビューの拡張

プロバイダーに固有のプロパティーをリソースのプロパティー・ページに追加します。
特殊デコレーターを実装して、チーム関連属性を示します。
チーム・サポートの実装で使用するリソースをフィルター操作で除外することによってクラッターを削減します。 

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

リソースの保管に介入して、ユーザーがファイルを変更する前に許可を検査することを可能にします。
ユーザーがファイルを編集する前に介入して、それが許可されているかを確かめます。
ワークスペースでのリソースの変更をトラックして、リポジトリー内の関連する変更の許可を可能にします。
  • 移動/削除フックを使用して、リソースの移動と削除を抑止または拡張します。
  • 何が可能かについて詳しくは、 IMoveDeleteHook を参照してください。
移動/削除フックまたは fileModificatonValidator を呼び出すリソース操作に対して、適切なリソース・ロックが取得されるようにしてください。
リンクされたリソースの使用を可能にします。

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

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

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

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