라벨, 필드, 선택은 평생 특정 상태를 거칩니다. 또한 라벨의 버전이 다를 수 있습니다. 다음 다이어그램은 라벨 수명 주기 관리,
- 라벨 만들기 (
create()
): 라벨이 만들어져revision_id=1
로 표시합니다. 라벨의 상태는UNPUBLISHED_DRAFT
입니다. 이 상태에서는 다음과 같은 상황이 발생합니다.- 사용자가 라벨을 볼 수 없음
- 사용자는 Drive 항목에 라벨을 적용할 수 없습니다.
- (선택사항) 라벨, 필드 또는 선택 항목 업데이트 (
delta()
): 업데이트할 때마다 데이터베이스에 저장되고 라벨의 버전이 증분됩니다 - 라벨 게시 (
publish()
): 라벨의 상태는PUBLISHED
이며 라벨을 적용할 수 있습니다. 라벨을 게시하면 라벨이 올라갑니다. - (선택사항) 라벨, 필드 또는 선택 항목 업데이트 (
delta()
): 라벨 필드 또는 선택 사항이 업데이트되어 데이터베이스에 초안 라벨로 저장됩니다. 이 라벨의 상태가PUBLISHED
이며 의미는hasUnpublishedChanges=true
입니다. 초안 변경사항이 있지만 사용자에게는 제공되지 않습니다. 각 업데이트 라벨의 버전을 증분합니다. - (선택사항) 라벨 게시 (
publish()
): 가능한 경우 최신 초안이 게시되었습니다 라벨의 상태는PUBLISHED
이며 사용자는 다음을 수행할 수 있습니다. 라벨을 적용합니다. 라벨을 게시하면 버전이 증가합니다. - 라벨 사용 중지 (
disable()
): 라벨의 상태는DISABLED
입니다. 사용자가 API를 통해 라벨을 적용할 수 있습니다. 하지만 사용 중지된 라벨은 표시되도록 구성하지 않는 한 UI에 표시되지 않습니다. 라벨 지원 중단 버전을 증분합니다 - 라벨 사용 설정 (
enable()
): 라벨이PUBLISHED
상태로 돌아갑니다. 사용자가 라벨을 적용할 수 있습니다. 라벨을 게시하면 라벨이 올라갑니다. - 라벨 삭제 (
delete()
): 라벨의 상태는DELETED
이며 적용할 수 없습니다. 삭제된 라벨은 영구적으로 삭제됩니다.
라벨을 업데이트할 때마다 라벨의 값이 있습니다. 라벨을 이미 게시했다면 다시 게시합니다. n 업데이트 이후는 게시된 버전 번호가 버전 + n + 1임을 의미합니다. 지속적으로 업데이트할 수 있습니다.