Cycle de vie des étiquettes

Les étiquettes, les champs et les choix passent par des états spécifiques tout au long de leur vie. De plus, les étiquettes peuvent avoir des révisions différentes. Le schéma suivant illustre le cycle de vie des étiquettes, révision comprise:

Schéma du cycle de vie des étiquettes.
Figure 3. Cycle de vie d'une étiquette
  1. Créer un libellé (create()) : le libellé est créé et stocké dans une base de données sous le nom revision_id=1. L'état du libellé est UNPUBLISHED_DRAFT. Dans cet état :
    • Les utilisateurs ne peuvent pas voir le libellé
    • Les utilisateurs ne peuvent pas appliquer le libellé aux éléments Drive.
  2. (Facultatif) Mettre à jour un libellé, un champ ou un choix (delta()) : chaque mise à jour, même avant sa publication, est stockée dans une base de données. La révision du libellé est incrémentée.
  3. Publier un libellé (publish()) : le libellé est à l'état PUBLISHED, et les utilisateurs peuvent l'appliquer. La publication du libellé entraîne l'incrémentation de sa révision.
  4. (Facultatif) Mettre à jour un libellé, un champ ou un choix (delta()) : le libellé, le champ ou le choix sont mis à jour et stockés dans une base de données en tant que libellé de brouillon. Le libellé présente l'état PUBLISHED avec hasUnpublishedChanges=true, ce qui signifie que des modifications ont été apportées au brouillon, mais qu'elles ne sont pas disponibles pour les utilisateurs. Chaque mise à jour incrémente la révision de l'étiquette.
  5. (Facultatif) Publier un libellé (publish()) : le brouillon le plus récent est publié s'il est disponible. Le libellé est à l'état PUBLISHED et les utilisateurs peuvent l'appliquer. La publication du libellé permet d'augmenter sa version.
  6. Désactiver un libellé (disable()) : le libellé est à l'état DISABLED, bien que les utilisateurs puissent l'appliquer via l'API. Toutefois, un libellé désactivé ne s'affiche dans une UI que s'il est configuré pour être affiché. L'obsolescence de l'étiquette entraîne l'incrémentation de sa révision.
  7. Activer un libellé (enable()) : le libellé revient à l'état PUBLISHED, et les utilisateurs peuvent l'appliquer. La publication du libellé entraîne l'incrémentation de sa révision.
  8. Supprimer un libellé (delete()) : le libellé est à l'état DELETED et ne peut pas être appliqué. Les libellés supprimés sont définitivement supprimés.

Il est important de souligner que chaque mise à jour d'une étiquette incrémente la révision de celle-ci. Si le libellé a déjà été publié, le fait de le publier à nouveau après n mises à jour signifie que son numéro de révision publié est égal à révision + n + 1 nombre de mises à jour successives.