Szeroka integracja funkcji zespołowych

Integracja obsługi repozytorium z platformą musi zaczynać się do dobrego i przemyślanego projektu.  Celem jest integracja przypływu pracy znanego użytkownikom repozytorium z koncepcjami definiowanymi w środowisku roboczym.  Ponieważ interfejs użytkownika i funkcjonalność środowiska roboczego można rozszerzać na wiele sposobów, sposób dochodzenia do integracji zapewnia wiele elastyczności.  Od czego zatem zacząć?

Zbudowanie dostawcy zespołowego nie jest tylko kwestią nauczenia się interfejsu API dla zespołów.  W kolejnych sekcjach skoncentrowano się przede wszystkim na konkretnej obsłudze wprowadzonej przez moduł dodatkowy zespołu.  To kwestia rozumienia pojęcia integracji środowiska roboczego.  Dlatego warto zacząć od nakreślenia szerszego obrazu.  Jako badany przypadek integracji dostawcy zespołowego z platformą użyty zostanie klient CVS. Na początek warto przyjrzeć się niektórym funkcjom oferowanym przez dostawcę CVS oraz narzędziom środowiska roboczego i zespołowym, których można użyć do osiągnięcia podobnego stopnia integracji.

Środowisko robocze z uwzględnieniem elementów menu, widoków, czynności i dekoracji systemu CVS

Klient CVS integruje się ściśle z istniejącą perspektywą zasobów środowiska roboczego.  Umożliwia on użytkownikom konfigurowanie projektu na potrzeby systemu CVS, dodaje funkcje do menu zasobu, dekoruje zasoby informacjami właściwymi dla zespołów, udostępnia dostosowane widoki, w których wyświetlane są informacje właściwe dla zespołów, dodaje zorientowane na zespoły listy czynności itp.  Można tak wymieniać bez końca.  W jaki sposób można osiągnąć podobny stopień integracji w tworzonym dostawcy? Oto kilka podstawowych kroków, od których należy zacząć, oraz odsyłacze do informacji (zarówno dotyczących zespołów, jak i środowiska roboczego) na te tematy.

Pierwsze kroki

Zdefiniuj klasę RepositoryProvider, która będzie reprezentować implementację.
Udostępnij kreatora konfiguracji, aby użytkownicy mogli powiązać dostawcę ze swoimi projektami.
Dodaj swoje akcje do menu Zespół.

Udoskonalanie widoków zasobów

Dodaj właściwości charakterystyczne dla dostawcy do strony właściwości dla zasobu.
  • Zaimplementuj i dodaj strony właściwości, aby wyświetlać właściwości zespołowe dla danego zasobu.
Zaimplementuj specjalizowane dekoratory, aby prezentować atrybuty dotyczące zespołów
Ogranicz szum informacyjny, odfiltrowując wszelkie zasoby używane do implementacji wsparcia dla zespołów. 

Obsługa możliwości edycji i wprowadzania zmian w zasobach przez użytkowników

Zmodyfikuj operację zapisywania zasobów, aby można było sprawdzić uprawnienia, zanim użytkownik zmieni plik.
Zanim użytkownik przystąpi do edycji pliku, sprawdź, czy jest to dozwolone.
Śledź zmiany zasobów w obszarze roboczym, aby zezwolić na powiązane zmiany w repozytorium.
  • Użyj haków move/delete, aby uniemożliwić albo ulepszyć operacje przenoszenia i usuwania zasobów.
  • Więcej informacji na temat tego, co można zrobić, zawiera opis interfejsu IMoveDeleteHook .
Sprawdź, czy dla operacji na zasobach są uzyskiwane odpowiednie blokady zasobów, które wywołują hak move/delete lub metodę fileModificatonValidator.
Aktywuj możliwość korzystania z zasobów dowiązanych

Usprawnianie zadań dotyczących repozytorium

Udostępnij łatwy sposób eksportowania opisu swoich projektów.
  • Użyj zbiorów projektów, aby wyeksportować projekty bez eksportowania treści, co pozwoli użytkownikom odbudować projekty na podstawie repozytorium.
Ogranicz szum informacyjny w repozytorium, ignorując pliki, które można odtworzyć.
  • Uwzględnij rozszerzenie ignore podczas obsługi plików i użyj tego rozszerzenia dla plików pochodzących ze swojego modułu dodatkowego.

Udoskonalanie integracji z platformą

Dodaj preferencje charakterystyczne dla dostawcy na stronie preferencji.
Zaimplementuj widoki niestandardowe, w których będą wyświetlane szczegółowe informacje o repozytoriach i ich zasobach.
  • Użyj rozszerzenia views, aby dodać widok.
  • Przykład można obejrzeć w widoku repozytorium dostawcy CVS.
W razie potrzeby dodaj swoje widoki i akcje do istniejących perspektyw środowiska roboczego.
  • Użyj rozszerzenia perspectiveExtensions, aby dodać skróty lub widoki do swojego modułu dodatkowego.
Zaimplementuj perspektywę charakterystyczną dla repozytorium, aby usprawnić administrowanie repozytorium lub przeglądanie go.
  • Użyj rozszerzenia perspectives, aby zdefiniować swoje własne perspektywy, widoki, skróty i układ stron.