ラベル、フィールド、選択肢は、そのライフサイクル全体で特定の状態を経ます。また、ラベルのリビジョンが異なる場合もあります。次の図は、リビジョン処理を含むラベルのライフサイクルを示しています。
- ラベルを作成する(
create()
) - ラベルが作成され、revision_id=1
としてデータベースに保存されます。ラベルの状態はUNPUBLISHED_DRAFT
です。この状態の場合:- ユーザーがラベルを表示できない
- ユーザーはドライブのアイテムにラベルを適用できません。
- (省略可)ラベル、項目、選択肢を更新する(
delta()
) - 公開前でも、すべての更新がデータベースに保存され、ラベルのリビジョンが増分されます。 - ラベルを公開する(
publish()
) - ラベルの状態はPUBLISHED
で、ユーザーはラベルを適用できます。ラベルを公開すると、リビジョンが増加します。 - (省略可)ラベル、フィールド、選択肢を更新する(
delta()
) - ラベル、フィールド、選択肢が更新され、ドラフトラベルとしてデータベースに保存されます。ラベルの状態はPUBLISHED
で、hasUnpublishedChanges=true
は未公開の変更があることを意味します。ユーザーは未公開の変更を使用できません。更新ごとにラベルのリビジョンが増加します。 - (省略可)ラベルを公開する(
publish()
) - 利用可能な場合は、最新の下書きが公開されます。ラベルの状態はPUBLISHED
で、ユーザーはラベルを適用できます。ラベルを公開すると、バージョンが増分されます。 - ラベルを無効にする(
disable()
) - ラベルの状態はDISABLED
ですが、ユーザーは API を使用してラベルを適用できます。ただし、無効なラベルは、表示するように構成されていない限り、UI に表示されません。ラベルの非推奨化により、リビジョンが増加します。 - ラベルを有効にする(
enable()
) - ラベルはPUBLISHED
状態に戻り、ユーザーはラベルを適用できます。ラベルを公開すると、リビジョンが増加します。 - ラベルを削除する(
delete()
) - ラベルの状態がDELETED
で、適用できません。削除されたラベルは最終的にパージされます。
ラベルを更新するたびに、ラベルのリビジョンが増加します。ラベルがすでに公開されている場合、n 回更新した後に再度公開すると、公開されるリビジョン番号はリビジョン + n + 1 回連続した更新数になります。