ラベルのライフサイクル

ラベル、フィールド、選択肢は、その存続期間を通じて特定の状態が遷移します。また、ラベルのリビジョンが異なる場合があります。次の図は、変更を含むラベルのライフサイクルを示しています。

ラベルのライフサイクル図。
図 3. ラベルのライフサイクル
  1. ラベルの作成(create() - ラベルが作成され、revision_id=1 としてデータベースに保存されます。ラベルの状態は UNPUBLISHED_DRAFT です。この状態では、次のようになります。
    • ユーザーにラベルを表示できません
    • ユーザーはドライブのアイテムにラベルを適用できません。
  2. (省略可)ラベル、フィールド、選択肢を更新する(delta() - すべての更新は、公開前であってもデータベースに保存され、ラベルのリビジョンが増分されます。
  3. ラベルを公開する(publish() - ラベルの状態は PUBLISHED で、ユーザーはラベルを適用できます。ラベルを公開すると、リビジョンが増分されます。
  4. (省略可)ラベル、フィールド、選択肢を更新する(delta() - ラベル、フィールド、選択肢が更新され、下書きラベルとしてデータベースに保存されます。ラベルの状態は PUBLISHED で、hasUnpublishedChanges=true は下書きの変更があるが、ユーザーは変更できないことを意味します。更新のたびに、ラベルのリビジョンが増分されます。
  5. (省略可)ラベルを公開する(publish() - 利用可能な場合は、最新のドラフトが公開されます。ラベルの状態は PUBLISHED で、ユーザーはラベルを適用できます。ラベルを公開すると、バージョンが増分します。
  6. ラベルを無効にする(disable() - ラベルの状態は DISABLED ですが、ユーザーは API を使用してラベルを適用できます。ただし、無効になっているラベルは、表示するように構成されていない限り、UI に表示されません。ラベルを非推奨にすると、リビジョンが増加します。
  7. ラベルを有効にする(enable() - ラベルは PUBLISHED 状態に戻り、ユーザーがラベルを適用できます。ラベルを公開すると、リビジョンが増分されます。
  8. ラベルを削除する(delete() - ラベルの状態は DELETED であり、適用できません。削除されたラベルは最終的に完全に削除されます。

ラベルを更新するたびに、ラベルのリビジョンが増えることを強調することが重要です。ラベルがすでに公開されている場合、n 回の更新後に再度公開すると、公開済みのリビジョン番号はリビジョン + n + 1 個の連続した更新になります。