Door de Eclipse-teamondersteuning worden API's gedefinieerd waarmee plugins een respository voor versie- en configuratiebeheer kunnen integreren. Een repository is van invloed op de workflow, omdat er aanvullende stappen nodig zijn voor het ophalen en het vergelijken van bestanden, het toepassen van versiebeheer en het vastleggen van bijgewerkte bestanden in de repository. De teamplugin-API moet passief genoeg zijn om repositorypluginproviders een eigen workflow te laten definiëren, zodat een ervaren gebruiker het platform op eenzelfde manier kan gebruiken en ondersteuning kan bieden voor workflows die geschikt zijn voor teamplugins.
Voor de integratie hebt u enkele bouwstenen nodig:
Een repositoryprovider maakt het mogelijk resources uit het werkgebied met resources op een locatie op afstand te synchroniseren. De minimale functionaliteit omvat het overhalen van resources uit het werkgebied naar een locatie op afstand en het ophalen van resources op een locatie op afstand naar het werkgebied. Een repositoryprovider moet aan een project worden gekoppeld en bestuurt de resources van het project door de optionele ingangen IFileModificationValidator en IMoveDeleteHook. U kunt slechts één repositoryprovider toewijzen aan een project. Hiervoor hebt u de interface IConfigurationWizard nodig. Repositoryproviders kunnen ook bijdragen aan het exporteren en importeren van projecten met behulp van projectensets. U moet dan ProjectSetCapability implementeren.
Door andere plugins kunnen speciale afhandelingskenmerken worden ingesteld voor teambewerkingen. De repositoryprovider kan resources als besloten markeren, zodat de resources voor andere plugins verborgen worden. U kunt hiervoor de methode IResource#setTeamPrivateMember gebruiken. De methode komt van pas wanneer u specifieke metabestanden van de repositoryprovider wilt verbergen. Bovendien wordt bouwuitvoer vaak als afgeleid gemarkeerd, zodat dergelijke resources door de repositoryprovider als tijdelijk worden beschouwd en vervolgens worden genegeerd. Dit resourcekenmerk kan door de provider worden opgehaald met de methode IResource#isDerived.
Bovendien kunnen andere plugins met behulp van de extensie org.eclipse.team.core.fileTypes doorgeven wat het type van bestanden is en welke bestanden moeten worden genegeerd met behulp van de extensie org.eclipse.team.core.ignore.
Ondersteuning voor synchronisatie omvat klassen en interfaces voor het beheren van dynamische collecties met synchronisatiegegevens (SyncInfo, SyncInfoSet). Zo kunt u gegevens over varianten van de resources in het werkgebied beheren. Met FTP kunt u bijvoorbeeld de datum/tijd van het laatste bestand op afstand en de basis van de huidige geladen resource opslaan. Synchronisatieondersteuning bevat API's voor het beheren en vasthouden van resourcevarianten en het afbeelden van de synchronisatiestatus.
De ondersteuning voor logische modelintegratie definieert een API waarmee logische modellen kunnen deelnemen aan teambewerkingen. In op modellen gebaseerde views kunnen modelproviders deze ondersteuning gebruiken om teamdecoraties en -bewerkingen in hun modelelementen te laten verschijnen. In op resources gebaseerde views (bijvoorbeeld de Navigator), kunnen modelproviders deze ondersteuning gebruiken om te valideren dat bewerkingen uitgevoerd op resources het model niet zullen beschadigen en om ervoor te zorgen dat alle resources die een modelelement vormen in teambewerkingen zijn opgenomen. Voor samenvoegbewerkingen van teams biedt de API modelproviders de mogelijkheid modelsemantiek te gebruiken tijdens samenvoegbewerkingen en om deel te nemen aan de preview van de samenvoegbewerking. De omschrijving van de ondersteuning voor logische modelintegratie is opgedeeld in een Repositorywegwijzer voor logische modelintegratie en eenModelwegwijzer voor logische modelintegratie.
Ook de ondersteuning voor de gebruikersinterface is passief gestructureerd. Plaatshouders voor acties, voorkeuren en eigenschappen van teamproviders worden door de teamgebruikersinterfaceplugin gedefinieerd. Toch worden de gebruikersinterface-elementen door de teampluginprovider gedefinieerd. Bij de teamgebruikersinterfaceplugin wordt een eenvoudige, uitbreidbare configuratiewizard geleverd waarmee projecten aan repository's kunnen worden gekoppeld. Plugins kunnen content leveren aan deze wizard waarmee de gebruiker repository-specifieke gegevens kan opgeven.
U kunt meerdere repositoryproviders tegelijk integreren in het platform. U kunt zelfs verschillende client-implementaties per repository installeren. Zo kunt u bijvoorbeeld twee CVS-clients installeren: één voor vergevorderde en één voor beginnende gebruikers.