The TFS workbench solution includes several extension points. These include the main display mode (e.g. Task Board Mode), funcationl plug-in (e.g. version check, change poller and report viewer) and data provider.
The extensions are managed by the Microsoft Extensibility Framework (MEF) and you can add you own extensions by dropping correctly formatted .Net assemblies into the workbench installation folder.
- Display Mode
The standard workbench configuration comes with 4 optional display modes; Task Board, Item List, Hierarchy and Project Setup. You can create your own display modes by exporting the TfsWorkbench.Code.Interfaces.IDisplayMode interface.
- Plug-in
In order to add extra functions to the standard workbench, I included the plug-in options. By default the workbnch comes with Version Check, Change Poller, Report Viewer and Statistics Viewer. Additional plug-ins can be included by exporting the TfsWorkbench.Core.Interfaces.IWorkbenchPlugIn
iteface.
- Data Provider
During the conception of the workbench, I made decission to keep the TFS implementaiton encapsulated in a single assembly. This means that the TFS API objects are not used through out the applicaiton, instead they are wrapped into value providers
and consumed by the workbench item data objects. Another advantage is that it is conceptually possible to consume an alternative data provider.