Team support

The Eclipse platform is based on the concept of letting users create and edit resources in the file system.  The team plug-in defines additional API that allow plug-ins to integrate the function of a versioning and configuration management repository.  The function provided by a repository fundamentally affects the user workflow, since there are additional steps for retrieving files, comparing their content with local content, versioning them, and returning updated files to the repository.  The goal of the team plug-in API is to be passive enough to allow repository plug-in providers to define their own workflow so that users familiar with their product can use the platform in a similar fashion.

This goal is accomplished by supplying basic hooks that allow team plug-ins to intervene in operations that manipulate resources.  For example, when the user saves a file, a repository provider could save it to the repository, ask the user whether it should be checked into the repository, or compare it with the content in the repository. 

The UI support is also structured passively.  Placeholders for team provider actions, preferences, and properties are defined by the team UI plug-in, but it's up to the team plug-in provider to define these UI elements.  The team UI plug-in also includes a simple, extendable configuration wizard that lets users associate projects with repositories.  Plug-ins can supply content for this wizard that let the user specify repository specific information. 

Multiple repository providers can coexist peacefully within the platform.  In fact, it's even possible to have different client implementations for the same repository installed.  For example, one could install a CVS client designed for experts and a different one for novice users.

Copyright IBM Corporation and others 2000, 2003.