Les libellés, les champs et les choix passent par des états spécifiques tout au long de leur cycle de vie. De plus, les libellés peuvent avoir différentes révisions. Le schéma suivant illustre le cycle de vie d'un libellé, y compris la gestion des révisions :
- Créer un libellé (
create()) : le libellé est créé et stocké dans une base de données sous la formerevision_id=1. L'état du libellé estUNPUBLISHED_DRAFT. Dans cet état :- Les utilisateurs ne peuvent pas voir le libellé.
- Les utilisateurs ne peuvent pas appliquer le libellé aux éléments Drive.
- (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, et la révision du libellé est incrémentée. - Publier un libellé (
publish()) : l'état du libellé estPUBLISHEDet les utilisateurs peuvent l'appliquer. La publication du libellé incrémente sa révision. - (Facultatif) Mettre à jour un libellé, un champ ou un choix (
delta()) : le libellé, le champ ou le choix est mis à jour et stocké dans une base de données en tant que libellé brouillon. L'état du libellé estPUBLISHEDavechasUnpublishedChanges=true, ce qui signifie qu'il existe des modifications brouillons, mais qu'elles ne sont pas disponibles pour les utilisateurs. Chaque mise à jour incrémente la révision du libellé. - (Facultatif) Publier un libellé (
publish()) : si elle est disponible, la version brouillon la plus récente est publiée. L'état du libellé estPUBLISHEDet les utilisateurs peuvent l'appliquer. La publication du libellé incrémente sa version. - Désactiver un libellé (
disable()) : l'état du libellé estDISABLED, mais les utilisateurs peuvent l'appliquer via l'API. Toutefois, un libellé désactivé n'est pas affiché dans une interface utilisateur, sauf s'il est configuré pour l'être. La suppression du libellé incrémente sa révision. - Activer un libellé (
enable()) : le libellé revient à l'étatPUBLISHEDet les utilisateurs peuvent l'appliquer. La publication du libellé incrémente sa révision. - Supprimer un libellé (
delete()) : l'état du libellé estDELETEDet il ne peut pas être appliqué. Les libellés supprimés sont finalement purgés.
Il est important de souligner que chaque mise à jour d'un libellé incrémente sa révision. De plus, si le libellé a déjà été publié, le publier à nouveau après n mises à jour signifie que son numéro de révision publié est égal à la révision + n + 1 nombre de mises à jour successives.