Table des matières

Sujet précédent

4. Commandes

Sujet suivant

6. Publication

Cette page

Autres langues

5. Cycle de vie

5.1. Ajouter un nouveau cycle de vie

Un cycle de vie doit contenir au moins 3 états :

  1. un état draft (brouillon)
  2. des états optionnels
  3. un état officiel
  4. un état deprecated

5.1.1. Utiliser l’interface administrateur

Premièrement, vous devez créer tous les états: ouvrez la page http://server/admin/plmapp/state/add et créez les. Le seul champ requis est le nom de l’état, il correspond à ce qui sera affiché dans la page cycle de vie. Un état peut apparaitre dans plusieurs cycles de vie.

Ensuite vous aurez besoin de créer un cycle de vie : ouvrez la page http://server/admin/plmapp/lifecycle/add/ et créez le. Deux champs sont obligatoire : le nom (il correspond au choix proposé lors de la création d’objet) et l’état officiel.

Vous devez ensuite créer les objets (nommés lifecyclestates) qui lient les états avec le cycle de vie. Ouvrez la page http://server/admin/plmapp/lifecyclestates/add/ et créez un objet par état. Trois champs sont obligatoires :

  1. Le cycle de vie
  2. L’état
  3. Un rang (champ rank): ce champ (un entier) est utilisé pour ordonner les états, le premier état doit avoir le plus petit rang.

5.1.2. Via le shell python

Il est possible de créer un cycle de vie en le programmant.

Ouvrez un shell python (./manage.py shell):

>>> from openPLM.plmapp.models import Lifecycle
>>> from openPLM.plmapp.lifecycle import LifecycleList
>>> # arguments: name of the lifecycle, name of the official state, names off all states (ordered)
>>> lcl = LifecycleList("mylifecycle", "official", "draft", "state2", "state3", "official", "deprecated")
>>> Lifecycle.from_lifecyclelist(lcl) # create the lifecycle
<Lifecycle: Lifecycle<mylifecycle>>

Voir aussi

LifecycleList

5.2. Comment changer le cycle de vie d’un objet

Si vous avez à changer le cycle de vie d’un objet, vous devez :

  1. Éditer sa page PLMObject (via l’interface administrateur): assurez vous que son état apparaisse dans le nouveau cycle de vie
  2. Assurez vous qu’il y a un (ni plus ni moins) signataire assigné à chaque niveau (numéro de l’état moins un niveau): Ajoutez/éditez PLMObjectUserLink requis (http://server/plmapp/plmobjectuserlink/). Tous les roles manquant doivent commencer par sign_.

Note

Si vous devez sélectionner un role de signataire au-delà du 10ème niveau, vous devrez mettre à jour le code de plmapp/models.py, trouvez les lignes suivantes:

ROLES = [ROLE_OWNER, ROLE_NOTIFIED, ROLE_SPONSOR]
for i in range(10): # increase this number
    level = level_to_sign_str(i)
    ROLES.append(level)
ROLE_READER = "reader"

augmentez le nombre 10 et relancer votre serveur.

(Oui, c’est agaçant, mais vous ne devriez pas changer le cycle de vie d’un objet).