ラベル、フィールド、選択肢は、その存続期間を通じて特定の状態になります。また、ラベルのリビジョンが異なる場合があります。次の図は、リビジョンを含むラベルのライフサイクルを示しています。
- ラベルを作成する(
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 回連続の更新回数となります。