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