Eclipse プラットフォームは、ユーザーによるファイル・システム内のリソースの作成または編集を可能にするという概念に基づいています。 チーム・プラグインは、プラグインがバージョン管理と構成管理リポジトリーの機能を統合することを可能にする追加の API を定義します。 リポジトリーによって提供される機能は、ユーザー・ワークフローに根本的な影響を与えます。 これは、ファイルを検索し、そのファイル・コンテンツとローカル・コンテンツを比較し、バージョン管理を行い、 更新済みファイルをリポジトリーに返すための追加のステップが存在するためです。 チーム・プラグイン API の目標は、リポジトリー・プラグイン・プロバイダーによる独自のワークフローの定義が可能なほど受動的であることです。 これにより、製品に慣れているユーザーが類似の方式でプラットフォームを使用することができます。
この目標は、リソースを取り扱う操作にチーム・プラグインが介入することを可能にする基本フックの提供によって達成されます。 例えば、ユーザーがファイルを保管すると、リポジトリー・プロバイダーはそれをリポジトリーに保管するか、 それをリポジトリーにチェックインするかどうかをユーザーに尋ねるか、それをリポジトリー内のコンテンツと比較することができます。
UI サポートも受動的に構成されます。 チーム・プロバイダー・アクション、設定、およびプロパティーのプレースホルダーはチーム UI プラグインによって定義されますが、 これらの UI エレメントの定義はチーム・プラグイン・プロバイダーの責任です。 チーム UI プラグインには、ユーザーがプロジェクトをリポジトリーに関連付けることを可能にする、単純で拡張可能な構成ウィザードも組み込まれています。 プラグインは、ユーザーがリポジトリーに固有の情報を指定することを可能にするこのウィザードのコンテンツを提供できます。
複数のリポジトリー・プロバイダーが、プラットフォーム内で問題なく共存できます。 実際、同じリポジトリー用のさまざまなクライアント・インプリメンテーションのインストールさえも可能です。 例えば、専門家用に設計された CVS クライアントと、初心者用に設計された別の CVS クライアントをインストールすることができます。