标签、字段和选项在其生命周期内会经历特定状态。此外,标签可能有不同的修订版本。下图显示了标签生命周期,包括修订:
- 创建标签 (
create()
) - 系统会创建标签并将其存储在数据库中,标签的形式为revision_id=1
。标签的状态为UNPUBLISHED_DRAFT
。在此状态下:- 用户无法查看标签
- 用户无法将此标签应用于云端硬盘内容。
- (可选)更新标签、字段或选项 (
delta()
) - 每次更新(即使在发布之前)都会存储在数据库中,并且标签的修订版本会递增。 - 发布标签 (
publish()
) - 标签的状态为PUBLISHED
,用户可以应用该标签。发布标签会递增其修订版本。 - (可选)更新标签、字段或选项 (
delta()
) - 系统会更新标签、字段或选项,并将其作为草稿标签存储在数据库中。标签的状态为PUBLISHED
,其中hasUnpublishedChanges=true
表示有草稿更改,但用户无法看到。每次更新都会递增标签的修订版本。 - (可选)发布标签 (
publish()
) - 系统会发布最新的草稿(如果有)。标签的状态为PUBLISHED
,用户可以应用该标签。发布标签会递增其版本。 - 停用标签 (
disable()
):标签的状态为DISABLED
,但用户可以通过 API 应用该标签。不过,除非配置为显示,否则界面中不会显示已停用的标签。弃用标签会使其修订版本递增。 - 启用标签 (
enable()
) - 标签会返回到PUBLISHED
状态,用户可以应用该标签。发布标签会递增其修订版本。 - 删除标签 (
delete()
) - 标签的状态为DELETED
,无法应用。已删除的标签最终会被清除。
需要强调的是,对标签进行的每次更新都会递增标签的修订版本。如果标签已发布,则在 n 次更新后再次发布该标签意味着其发布的修订版本号为修订版本号 + n + 1(连续更新次数)。