Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

전역 브랜치에서 온톨로지 변경

Global Branching은 온톨로지 리소스(Ontology resource)를 별도 브랜치에서 개발하고 main에 병합하는 절차를 제공합니다. 온톨로지 변경이 포함된 전역 변경 제안(Proposal)을 만들면 온톨로지 변경 제안도 자동으로 생성됩니다. 온톨로지 제안에는 이름, 설명과 검토 기록이 모입니다.

브랜치 생성과 변경 저장

Ontology Manager의 브랜치 선택 메뉴에서 Create new branch를 선택하고 제목과 설명을 입력합니다. 이미 존재하는 브랜치는 같은 메뉴에서 선택합니다.

main에서 아직 저장하지 않은 변경을 별도 브랜치로 보내려면 저장 대화상자의 Save to new branch를 선택합니다.

새 브랜치는 main에서만 만들 수 있습니다. 브랜치에서 작업 중이면 화면 아래의 브랜치 작업 표시줄에 현재 이름과 메타데이터가 나타납니다.

리소스 보호

브랜치 보호는 객체 유형(Object type), 액션 유형(Action type), 링크 유형(Link type), 인터페이스(Interface)와 공유 속성(Shared property)을 지원합니다. 객체 유형 그룹은 지원하지 않습니다. 규칙 집합을 개별 보호하지는 않지만 규칙 집합을 수정할 때에는 이를 포함한 객체 유형의 보호 상태가 적용됩니다.

보호하려는 온톨로지 리소스는 먼저 프로젝트(Project) 권한 방식으로 이전해야 합니다. 이후 상위 프로젝트의 Files 탭에서 보호 상태를 관리합니다.

보호를 켠 리소스는 별도 브랜치에서 바꾸고 변경 제안을 통해 main에 병합합니다. Ontology Manager의 Overview에서 보호 상태를, Security에서 적용 정책을 확인합니다.

main에서 보호된 리소스를 변경하면 일반 Save 대신 Create and save to branch로 새 브랜치에 저장해야 합니다.

리베이스 시점

다른 사용자가 main을 바꾸면 리베이스(Rebase)로 새 변경을 현재 브랜치에 반영합니다. 온톨로지 변경이 없는 전역 브랜치는 자동 리베이스됩니다. 객체 유형 인덱싱을 포함해 온톨로지 변경이 생긴 뒤에는 수동 리베이스가 필요합니다.

이 동작은 시나리오의 10분 자동 리베이스와 별개입니다.

들어온 변경 확인

새 main 변경이 있으면 사이드바의 Main branch updates에 파란 표시가 나타납니다.

이 페이지에서는 마지막 리베이스 이후의 변경을 봅니다. 첫 수동 리베이스라면 브랜치를 만든 뒤의 변경을 봅니다. Rebase branch를 선택합니다.

충돌이나 오류가 없으면 리베이스가 완료됩니다. 충돌이 있으면 Conflicts 탭으로, 충돌 없이 오류만 있으면 Errors 탭으로 이동합니다.

충돌 해결

리베이스 중에는 main의 변경을 브랜치에 로드하고 이전에 저장한 브랜치 변경은 작업 상태로 다시 올립니다. All changes에서 두 쪽의 변경을 확인할 수 있습니다. 같은 리소스를 양쪽에서 바꿨다면 기본 표시는 현재 브랜치 버전입니다.

리소스마다 Use Main branch changes 또는 Keep current branch changes를 선택합니다. 해당 리소스로 직접 이동하여 원하는 새 값으로 수정하는 방식도 가능합니다.

예를 들어 Palantir employee 유형의 표시 이름을 양쪽에서 바꿨다면 어느 이름을 유지할지 선택합니다.

직접 Current employee라는 표시 이름으로 수정하여 충돌을 해결할 수도 있습니다.

리베이스 완료

모든 충돌과 오류를 해결한 뒤 Finish rebase and save를 선택합니다.

검토 제안과 병합 검사

변경을 준비한 뒤 작업 표시줄의 Create proposal을 선택하고 제안 이름과 설명을 입력합니다.

제안을 만들면 병합 검사가 실행됩니다. main과의 충돌로 검사에 실패했다면 브랜치를 리베이스해야 합니다.

검토자와 승인 정책

작업 표시줄, Global Branching 제안 페이지 또는 온톨로지 제안 페이지에서 검토자를 추가할 수 있습니다. 온톨로지의 Review changes에서 Invite reviewers를 선택합니다. 프로젝트 권한으로 이전한 리소스는 View policies에서 필요한 승인자를 확인합니다.

각 온톨로지 리소스가 검토 작업(Task) 하나에 대응합니다. 이름 옆 상태는 전체 승인 상태이고 오른쪽 Your review에서 자신의 검토를 제출합니다.

Global Branching에서는 온톨로지 리소스를 각각 다루지만 로컬 온톨로지 제안은 하나로 묶입니다. 한 리소스에 검토자를 추가하면 제안의 모든 온톨로지 리소스에 그 검토자가 추가됩니다. 필수 승인자는 각 리소스의 프로젝트 정책을 따릅니다.

작업별 Comments에서 설명과 의견을 남길 수 있습니다. 승인 권한이 없는 사용자의 의견은 작업의 승인 상태를 바꾸지 않습니다. 반대로 승인 권한이 있는 사용자는 검토자 목록에 없어도 승인할 수 있으므로 목록 자체를 권한 제한으로 사용하지 않습니다.

정책 요건을 충족하면 리소스 상태가 In Progress에서 Approved로 바뀝니다. 나머지 병합 검사도 모두 통과해야 병합할 수 있습니다. 상세한 상태와 권한은 제안 검토에서 확인합니다.

main으로 병합

작업 표시줄의 병합 아이콘이나 Global Branching 제안 페이지의 Merge proposal을 사용합니다. 전역 제안을 병합하면 온톨로지 병합도 자동으로 시작됩니다.

제한과 실패 처리

상황처리
main에서 객체 유형의 기반 데이터소스(Backing datasource)를 교체하거나 제거한 충돌현재 브랜치를 유지하면 병합에 실패합니다. main 변경을 선택합니다.
main에서 속성의 조건부 서식 규칙 집합을 교체하거나 제거한 충돌현재 브랜치를 유지하면 병합에 실패합니다. main 변경을 선택합니다.
Pipeline Builder에서 만든 객체 유형브랜치의 Ontology Manager에서는 수정할 수 없습니다.
객체 유형 인덱싱수정으로 취급합니다. 보호 정책이 있으면 병합 승인이 필요합니다. 인덱싱 변경을 병합 대상에서 제거하면 그 변경에 대한 승인 요구도 제거됩니다.
한 리소스에 검토자 추가온톨로지 제안 전체의 검토자 목록에 적용됩니다. 각 리소스의 필수 승인 정책은 별도로 충족합니다.

기존 온톨로지 전용 브랜치를 관리한다면 구형 브랜치 절차의 생성 가능 범위와 종료 조건을 따릅니다.