Collaborators Visualization & Conflict Prevention
Połączenie Altium Designer z połączonym Workspace zapewnia wysoce efektywną platformę udostępniania danych, która wspiera współpracę projektową między członkami zespołu, w oparciu o projekty przechowywane w tym Workspace i objęte kontrolą wersji (VCS).
Kluczową częścią procesu współpracy projektowej jest zarządzanie tym współdzielonym dostępem oraz obsługa potencjalnych konfliktów danych, które zwykle mogą wystąpić, gdy więcej niż jeden użytkownik edytuje ten sam dokument projektowy (swoją „kopię” pliku opartego na Workspace). Takie konflikty danych są ostatecznie rozwiązywane przez VCS w Workspace w momencie zapisu dokumentu do Workspace, jednak do tego czasu nie masz realnego wglądu w bieżący, współdzielony status dokumentu.
Aby zaspokoić potrzebę informacji i kontroli udostępniania dokumentów w czasie rzeczywistym w środowisku edycji projektu, Altium Designer współpracuje z połączonym Workspace i udostępnia zintegrowany system do wizualizacji oraz reagowania na aktualny status dokumentów współdzielonych. System jest możliwy dzięki swobodnemu przepływowi danych o współdzieleniu dokumentów między klientami projektowymi (za pośrednictwem Workspace) i jest realizowany poprzez serię nowych ikon statusu, pasek Collaborators oraz dodatkową logikę blokowania plików.
Wymagania wstępne
Informacje i kontrola współpracy w czasie rzeczywistym dla dokumentów współdzielonych są dostępne przy spełnieniu następujących warunków:
- Projekt do udostępnienia jest hostowany w połączonym Workspace jako projekt Workspace objęty kontrolą wersji (VCS).
- Współpracownicy są członkami Workspace i są z nim połączeni.
- Projekt Workspace został udostępniony wszystkim współpracownikom — z uprawnieniami do edycji dla tych użytkowników, którzy wymagają pełnego dostępu.
-
Współpracownicy mają włączoną opcję
System.Softlocksw oknie dialogowym Advanced Settings dialog.
Pasek powiadomień Collaborators
Pasek powiadomień Collaborators pojawi się w prawym górnym rogu edytora dokumentów Altium Designer, gdy aktualnie aktywny dokument został otwarty przez innego użytkownika. Najedź kursorem na ikony użytkowników na pasku, aby zobaczyć status udostępniania na żywo. Zwróć uwagę, że status „viewing” oznacza, iż użytkownik otworzył dokument w Altium Designer, ale nie wprowadził żadnych zmian. Status otwarcia dokumentu lokalnego jest wskazywany ikoną
w panelu Projects panel.
Status edycji
Oprócz informowania, kto viewing dokument, system dostarcza również informacji o tym, kto editing dokument współdzielony. Dokument jest uznawany za będący w statusie „editing”, gdy został zmieniony przez innego użytkownika. Wskazuje to pasek Collaborators, który dynamicznie rozdziela ikony użytkowników na tych, którzy przeglądają, oraz tych, którzy edytują — ta druga grupa jest powiązana z ikoną
.
Powyżej: najedź myszą, aby uruchomić animację.
Dokument edytowany przez innego użytkownika będzie miał ikonę
powiązaną z jego wpisem w panelu Projects lub ikonę
, jeśli dokument jest aktualnie otwarty w edytorze. Zwróć uwagę, że tekst podpowiedzi po najechaniu wskaże również nazwy wielu użytkowników, którzy edytują (lub edytowali) dokument współdzielony.
Zapobieganie konfliktom
Aby zarządzać dostępem do edycji plików i uniknąć możliwości konfliktów danych, system skutecznie blokuje dokument dla pierwszego użytkownika, który go edytuje lub spowodował jego modyfikację. Ta „miękka blokada” użytkownika pozostaje powiązana z plikiem do momentu zakończenia edycji — zatwierdzenia (commit) lub wycofania (revert) zmian — albo do czasu jej unieważnienia przez innego użytkownika lub administratora.
Na poniższym przykładzie, gdzie dwóch użytkowników otworzyło ten sam schemat projektu, projektant korzystający z dolnego ekranu edytował dokument, powodując jego (miękkie) zablokowanie dla tego użytkownika. Ten status edycji jest sygnalizowany drugiemu użytkownikowi (górny ekran) poprzez pasek Collaborators oraz ikonę dokumentu w panelu Projects.
Jeśli inny użytkownik spróbuje wprowadzić zmianę w dokumencie objętym miękką blokadą, jego zablokowany (edycyjny) status wywoła wyskakujące okna dialogowe u obu użytkowników. Efektywny właściciel dokumentu (dolny ekran na poniższym obrazie) zostanie powiadomiony, że inny użytkownik zmodyfikował dokument i istnieje związane z tym ryzyko konfliktu rewizji.
Z kolei użytkownik, który edytował zablokowany dokument (górny ekran), otrzyma opcję anulowania swoich zmian (Revert My Edits) lub unieważnienia warunku poprzez zachowanie swoich edycji (Ignore Lock). W normalnym przebiegu zdarzeń użytkownik porzuciłby zmianę (Revert) i poczekał, aż drugi użytkownik zakończy bieżącą sesję edycji.
Jeśli jednak zostanie wybrana opcja Ignore Lock, oznacza to, że będzie istniało więcej niż jedno edytowane wydanie dokumentu, które może zostać zatwierdzone do Workspace — edycje użytkowników są potencjalnie w konflikcie, co wskazuje ikona
dokumentu w panelu Projects u obu użytkowników.
W tej sytuacji, gdy więcej niż jeden użytkownik edytuje dokument, jego ikona zmieni się na
, jeśli dokument zostanie zapisany lokalnie. Oznacza to, że lokalne edycje zostały zakończone, ale stan dokumentu pozostaje w konflikcie z kopią edytowaną przez innego użytkownika. Ikona dokumentu zmieni się na
, jeśli dokument zostanie zamknięty.
Aby rozwiązać konflikt na tym etapie, możesz wycofać swoje lokalne edycje, klikając ikonę i wybierając polecenie Revert My Edits to Resolve Conflict z wyskakującego okna.
Jeśli wszyscy użytkownicy będą nadal zatwierdzać (commit) swoje edycje do Workspace — unieważniając blokady plików i ostrzeżenia kontroli wersji — różne wersje pliku wywołają Conflict Prevention VCS, co będzie wskazane ikoną
pliku w panelach Projects oraz Storage Manager. Można to rozwiązać, przyjmując wersję „head” pliku (poprzez „pull” lub aktualizację z Workspace) albo utrzymując plik w konflikcie jako wersję wyłącznie lokalną. Kliknij ikonę, aby wybrać wymagane działanie.
Podczas próby zapisania do Workspace projektu, który zawiera dokumenty w stanie Conflict Prevention , zostanie wyświetlone okno informacyjne Action Required , zawierające listę dokumentu(ów) w konflikcie wymagających rozwiązania. Takie dokumenty będą miały stan Conflict Detected z ikoną VCS
. Użyj menu kontekstowego VCS dokumentu w stanie Conflict Detected , aby rozwiązać konflikt poprzez zaktualizowanie dokumentu do jego najnowszej rewizji z Workspace lub poprzez użycie dokumentu lokalnego (albo — w przypadku dokumentu PCB — poprzez porównanie i scalenie zmian przy użyciu funkcjonalności PCB CoDesign).

