협업자 시각화 및 충돌 방지
Altium Designer 와 연결된 Workspace의 조합은 해당 Workspace에 저장된 버전 관리(VCS) 프로젝트를 기반으로 팀 구성원 간 설계 협업을 지원하는 매우 효과적인 데이터 공유 플랫폼을 제공합니다.
설계 협업 프로세스의 핵심 부분은 이러한 공유 접근을 관리하고, 둘 이상의 사용자가 동일한 설계 문서(Workspace 기반 파일의 각 사용자 ‘사본’)를 편집할 때 일반적으로 발생할 수 있는 데이터 충돌 가능성을 처리하는 것입니다. 이러한 데이터 충돌은 궁극적으로 문서가 Workspace에 저장될 때 Workspace의 VCS에 의해 처리되지만, 그 시점까지는 문서의 활성 공유 상태에 대한 실질적인 가시성이 없습니다.
설계 편집 환경에서 실시간 문서 공유 정보와 제어에 대한 요구를 충족하기 위해, Altium Designer는 연결된 Workspace 와 함께 공유 문서의 현재 상태를 시각화하고 이에 대응할 수 있는 통합 시스템을 제공합니다. 이 시스템은(Workspace를 통해) 설계 클라이언트 간 문서 공유 데이터가 자유롭게 흐르도록 함으로써 활성화되며, 새로운 상태 아이콘, Collaborators Bar, 그리고 추가적인 파일 잠금 로직의 조합으로 구현됩니다.
사전 요구 사항
공유 문서에 대한 실시간 협업 정보 및 제어는 다음 조건에서 사용할 수 있습니다:
- 공유할 프로젝트는 버전 관리(VCS) 하의 Workspace 프로젝트로서 연결된 Workspace에 호스팅되어 있어야 합니다.
- 협업자는 Workspace의 멤버이며 Workspace에 연결되어 있어야 합니다.
- Workspace 프로젝트가 모든 협업자에게 공유되어 있어야 하며, 전체 접근이 필요한 사용자에게는 편집 권한이 부여되어야 합니다.
-
협업자는
System.Softlocks옵션이 Advanced Settings dialog에서 활성화되어 있어야 합니다.
Collaborators Notification Bar
Collaborators 알림 바는 현재 활성 문서가 다른 사용자에 의해 열려 있을 때 Altium Designer 문서 편집기의 오른쪽 상단에 표시됩니다. 바 안의 사용자 아이콘 위에 커서를 올리면 실시간 공유 상태를 확인할 수 있습니다. ‘viewing’ 상태는 사용자가 Altium Designer에서 문서를 열었지만 변경 사항은 아직 만들지 않았음을 의미합니다. 로컬 문서의 열림 상태는 Projects panel에서
아이콘으로 표시됩니다.
편집 상태
시스템은 누가 문서를 viewing 있는지 보고하는 것과 함께, 누가 공유 문서를 editing 있는지에 대한 정보도 제공합니다. 문서는 다른 사용자가 변경했을 때 ‘editing’ 상태로 간주됩니다. 이는 Collaborators bar에서 표시되며, 협업자 사용자 아이콘이 ‘viewing’ 그룹과 ‘editing’ 그룹으로 동적으로 분리되고, 후자 그룹은
아이콘과 연관됩니다.
위: 마우스를 올리면 애니메이션이 실행됩니다.
다른 사용자가 편집 중인 문서는 Projects panel
또는 해당 문서가 현재 편집기에서 열려 있는 경우
아이콘으로 표시됩니다. 또한 hover 텍스트에는 공유 문서를 편집 중인(또는 편집했던) 여러 사용자의 이름도 보고됩니다.
충돌 방지
파일 편집 접근을 관리하고 데이터 충돌 가능성을 피하기 위해, 시스템은 문서를 처음 편집했거나 문서가 수정되도록 만든 첫 번째 사용자에게 사실상 잠금을 적용합니다. 이 사용자 ‘소프트 잠금(soft-lock)’은 사용자가 편집을 마칠 때까지(변경 사항을 커밋하거나 되돌리거나, 다른 사용자 또는 관리자가 이를 무효화할 때까지) 파일에 연결된 상태로 유지됩니다.
아래 예시 이미지에서 두 사용자가 동일한 프로젝트 회로도를 열었을 때, 아래 화면의 설계자가 문서를 편집하여 해당 사용자에게 (소프트) 잠금이 걸린 상태가 됩니다. 이 편집 상태는 다른 사용자(위 화면)에게 Collaborators bar와 Projects panel의 문서 아이콘을 통해 표시됩니다.
다른 사용자가 소프트 잠금된 문서에 변경을 시도하면, 잠금(편집) 상태로 인해 두 사용자 모두에게 팝업 대화상자가 표시됩니다. 문서의 실질적 소유자(아래 이미지의 아래 화면)는 다른 사용자가 문서를 수정했으며 충돌된 리비전 위험이 있음을 알림받게 됩니다.
반대로, 잠긴 문서를 편집한 사용자(위 화면)에게는 변경을 취소(Revert My Edits)하거나, 편집 내용을 유지(Ignore Lock)하여 해당 조건을 무시(override)할 수 있는 옵션이 제시됩니다. 일반적인 경우 사용자는 변경을 포기(Revert)하고 다른 사용자가 현재 편집 세션을 완료할 때까지 기다리게 됩니다.
하지만 Ignore Lock 옵션을 선택하면, Workspace에 커밋될 수 있는 편집된 문서 버전이 둘 이상 존재하게 됩니다. 사용자 편집 내용은 잠재적으로 충돌 상태이며, 이는 두 사용자 모두의 Projects panel에서 문서의
아이콘으로 표시됩니다.
이와 같이 둘 이상의 사용자가 문서를 편집하는 상황에서 문서가 로컬로 저장되면 아이콘이
로 변경됩니다. 이는 로컬 편집이 완료되었지만, 문서 상태가 다른 사용자가 편집 중인 사본과 여전히 충돌 상태임을 나타냅니다. 문서를 닫으면 문서 아이콘은
로 변경됩니다.
이 단계에서 충돌을 해결하려면, 아이콘을 클릭하고 팝업에서 Revert My Edits to Resolve Conflict 명령을 선택하여 로컬 편집을 되돌릴 수 있습니다.
모든 사용자가 파일 잠금 및 버전 관리 경고를 무시한 채 편집 내용을 Workspace에 계속 커밋하려고 하면, 서로 다른 파일 버전으로 인해 VCS Conflict Prevention가 발생하며, 이는 Projects 및 Storage Manager 패널에서 파일의
아이콘으로 표시됩니다. 이는(Workspace에서 ‘pull’ 또는 업데이트를 통해) 파일의 ‘head’ 버전을 채택하여 해결할 수 있으며, 또는 충돌된 파일을 로컬 전용 버전으로 유지할 수도 있습니다. 아이콘을 클릭하여 필요한 작업을 선택하세요.
Conflict Prevention 상태의 문서를 포함한 프로젝트를 Workspace에 저장하려고 하면, Action Required 정보 대화상자가 표시되며 해결이 필요한 충돌 문서가 목록으로 제시됩니다. 이러한 문서는
VCS 아이콘과 함께 Conflict Detected 상태로 표시됩니다. Conflict Detected 상태의 문서에 대해 VCS 컨텍스트 메뉴를 사용하여 Workspace에서 최신 리비전으로 문서를 업데이트하거나 로컬 문서를 사용하여(또는 PCB 문서의 경우 PCB CoDesign 기능을 사용해 변경 사항을 비교 및 병합하여) 충돌을 해결하세요.

