Uitgebreide teamintegratie

Een goed ontwerp vormt een goede basis voor het integreren van de repository-ondersteuning in het platform. U moet proberen de repository-workflow waarmee gebruikers bekend zijn en de concepten van de workbench te integreren. De gebruikersinterface en de functionaliteit van de workbench kunnen op tal van manieren worden uitgebreid, en daarom beschikt u over legio mogelijkheden om de integratie te verwezenlijken. Waar moet u beginnen?

Het bouwen van een teamprovider omvat meer dan het begrijpen van team-API. (In verdere secties wordt de specifieke ondersteuning van de teamplugin uitgelegd.) U zult moeten begrijpen wat integratie met de workbench inhoudt. Om te beginnen, gebruiken we de CVS-client als praktijkdvoorbeeld voor het integreren van een teamprovider in het platform. Nu wordt uitleg gegeven over enkele functies van de CVS-provider en de teamfaciliteiten die u ter beschikking staan bij het opzetten van een vergelijkbaar integratieniveau.

Workbench met CVS-menuopties, views, taken en decorators

De CVS-client is nauw geïntegreerd met het bestaande workbenchresourceperspectief. Zo kunnen onder meer projecten worden geconfigureerd voor CVS, functies worden toegevoegd aan het menu van een resource, resources worden gedecoreerd met teamspecifieke gegevens, aangepaste views met teamspecifieke gegevens worden gemaakt en teamtaken worden toegevoegd aan de takenlijst. Hieronder vindt u voor het opzetten van een vergelijkbare providerintegratie enkele eenvoudige beginstappen en links naar onderwerpen (zowel team- als workbenchspecifiek).

Aan de slag

Definieer een RepositoryProvider die de implementatie aanduidt.
Geef een configuratiewizard op voor het koppelen van de provider aan projecten.
Voeg de acties aan het teammenu toe.

Resourceviews uitbreiden

Voeg providerspecifieke eigenschappen toe aan de eigenschappenpagina van een resource.
  • Implementeer en contribueer eigenschappenpagina's waarmee teamspecifieke eigenschappen voor de resource kunnen worden afgebeeld.
Implementeer gespecialiseerde decorators voor het afbeelden van teamkenmerken.
Houd de workbench overzichtelijk door resources uit te filteren die bij de implementatie van teamondersteuning worden gebruikt.

Bewerken en wijzigingen van resources door de gebruiker afhandelen

Controleer of personen over de juiste machtigingen beschikken voor het wijzigen van bestanden.
Controleer voordat bestanden worden bewerkt of iemand over de juiste machtigingen beschikt om de bestanden te kunnen opslaan.
Houd wijzigingen aan resources van het werkgebied bij om gekoppelde wijzigingen in de repository toe te kunnen staan.
Zorg ervoor dat de juiste resourcevergrendelingen worden opgehaald voor bewerkingen waarbij de ingangen voor verplaatsen of wissen of fileModificatonValidator worden opgeroepen.
Voeg ondersteuning voor gekoppelde resources toe.

Repository-taken stroomlijnen

Zorg ervoor dat een beschrijving van uw projecten eenvoudig kan worden geëxporteerd.
  • Gebruik projectensets om alleen de structuur van projecten (dus niet de content) te exporteren, zodat projecten opnieuw kunnen worden gebouwd van de repository.
Houd de repository overzichtelijk door bestanden te negeren die opnieuw kunnen worden genegeerd.
  • Gebruik de extensie ignore voor afgeleide bestanden van de plugins.

Platformintegratie verbeteren

Voeg providerspecifieke voorkeuren toe aan de pagina met voorkeursinstellingen.
Implementeer aangepaste views voor het afbeelden van gedetailleerde gegevens over repository's of de resources uit de repository's.
  • Gebruik de extensie views om een view aan te leveren.
  • Raadpleeg de repositoryview van de CVS-provider voor een voorbeeld.
Voeg de views of acties zo nodig aan bestaande workbenchperspectieven toe.
  • Gebruik de extensie perspectiveExtensions om de snelkoppelingen of views van de plugin aan bestaande perspectieven toe te voegen.
Implementeer een repositoryspecifiek perspectief voor het stroomlijnen van repository-beheer of -navigatie.
  • Gebruik de extensie perspectives om zelf een perspectief, view, snelkoppeling of paginalayout te definiëren.