Configuration des tâches et des gabarits de tâche

Les tâches sont uniquement disponibles pour les modèles métiers d'entreprise Oracle. Les tâches offrent une structure de contrôle de versions et de longues transactions. Les tâches permettent d'avoir plusieurs états pour un objet dans la base de données.

Tâches

Vous pouvez modifier les données uniquement dans une tâche. Les données externes à une tâche sont en lecture seule et correspondent aux données actives au sein d'une tâche.

Ouverte : une fois les modifications des données lancées, la tâche est définie comme étant ouverte. Les modifications des données sont isolées au sein de la tâche et ne sont pas visibles dans les autres tâches ou les tâches externes. Le verrouillage d'objet est soit pessimiste, soit optimiste.

En attente : lorsque les modifications sont prêtes à être révisées et approuvées, la tâche (y compris les données modifiées) est définie sur En attente. Les modifications des données sont visibles dans les toutes tâches ouvertes et en attente. Les modifications apportées peuvent être annulées.

Active : dès lors que l'opération est approuvée et que la tâche est prête pour la production, son état passe à Active. Les modifications des données sont visibles par tous et ne peuvent pas être annulées.

Suppression : pseudo-état. Les tâches supprimées ne sont pas stockées dans la base de données.

Vous pouvez également ajouter vos propres états de tâches. Ils sont stockés dans les tables système TB_JOB_STATE et TB_JOB_STATE_TRANSITION.

Une tâche peut contenir une ou plusieurs rubriques, chacune d'elles disposant d'un état de tâche qui lui est propre. Les états de tâches des rubriques sont stockés dans la table TB_JOB_TOPIC_STATE.

Vous pouvez utiliser les options du modèle métier pour indiquer si une vérification de la topologie de tâche doit être effectuée lorsque l'état de la tâche est modifié.

Remarque : Pour traiter les tâches, utilisez le gestionnaire des tâches et l'explorateur des tâches d'Infrastructure Application Extension ou d'Infrastructure Map Server.

Activation des tâches pour un modèle métier

Pour utiliser des tâches, vous devez activer les tâches pour le modèle métier, ce qui permet de verrouiller les objets pour qu'ils puissent être modifiés uniquement à l'intérieur d'une tâche.

L'activation des tâches lance certains sous-programmes. Par exemple, ce processus ajoute un attribut JOB_VERSION à chaque classe d'objets et écrit des métadonnées de tâches (tables système TB_JOB*).

Danger : Ne modifiez pas manuellement les tables système relatives aux tâches.

"Verrouiller" les tâches

Une fois sélectionnée, cette option empêche que plusieurs sessions Map travaillent simultanément sur la même tâche. Par exemple, l'utilisateur A démarre Map, ouvre un projet Entreprise et travaille sur la tâche1. L'utilisateur B démarre Map, ouvre le même projet et sélectionne tâche1 comme tâche actuelle. Un message d'erreur s'affiche, indiquant à l'utilisateur B qu'il ne peut pas travailler sur la tâche1.

Remarque : Vous ne pouvez pas libérer un verrouillage permanent à l'aide de l'interface utilisateur. Un verrouillage permanent de la tâche peut se produire lorsque Map se ferme de façon inattendue. Ci-après, une méthode de déverrouillage :
  1. Démarrez Infrastructure Administrator et ouvrez le projet.
  2. Accédez à Modèle de données -- > Concepteur de formulaires, sous Tables système, affichez le formulaire de la table TB_JOB et recherchez l'ID de la tâche verrouillée de manière permanente (l'ID correspond à la tâche sélectionnée par l'utilisateur avant la fermeture inattendue de Map).
  3. Affichez le formulaire de la table TB_JOB_LOCKING et supprimez l'enregistrement possédant le même ID de tâche.

Effacez l'historique de la tâche en cours lorsque l'état est défini sur Actif

Lorsque cette option est sélectionnée, si vous remplacez l'état En attente par Actif, l'historique de la tâche en cours sera automatiquement effacé. Cette fonction permet d'effacer les données de l'historique de la tâche active qui sont stockées dans la table TB_JOB_VERSION afin que la table ne devienne pas trop volumineuse et que les performances ne soient pas réduites.

Verrouillage d'objet pessimiste

Pour activer les tâches d'un modèle métier, vous verrouillez les objets. Un objet peut être modifié dans une seule tâche. Vous pouvez utiliser un type de verrouillage optimiste ou pessimiste. La principale différence entre les deux types de verrouillage d'objet est la gestion des conflits de tâches. Un conflit de tâches se produit si un même objet est modifié dans différentes tâches.

Utilisez le verrouillage d'objet pessimiste pour détecter les conflits de tâches et les résoudre le plus tôt possible.

Prenons l'exemple de tâches A et B. Dans la tâche A, vous ajoutez un transformateur sur un poteau et dans la tâche B, un autre utilisateur sélectionne le même poteau pour le supprimer de la base de données. Grâce au verrouillage d'objets pessimiste, l'utilisateur B est immédiatement averti que l'objet est verrouillé. Par conséquent, l'utilisateur B ne peut pas modifier l'objet.

Pour résoudre le conflit de tâches, l'utilisateur B pourrait vous contacter afin que vous décidiez conjointement comment procéder. Vous pouvez, par exemple, utiliser l'option de publication partielle pour extraire les objets respectifs de la tâche A, et faire la modification qui s'impose dans la tâche B.

Vous utilisez la publication partielle pour extraire un sous-ensemble d'objets de la tâche en cours pour la rendre immédiatement active. Les objets modifiés peuvent alors être à nouveau modifiés dans d'autres tâches.

Pour plus d'informations sur la publication partielle, voir "Modification de l'état d'une tâche" dans le manuel d'utilisation.

Verrouillage d'objets optimiste

Un objet peut être modifié dans différentes tâches. Utilisez le verrouillage d'objet optimiste pour autoriser les modifications, même en cas de conflits. Les conflits de tâches ne sont pas détectés immédiatement, mais uniquement lorsque la tâche change d'état. Le gestionnaire de conflits entre tâches apparaît au moment où la seconde tâche est fusionnée.

Gabarits de tâche

Pour utiliser des classes d'objets dans lesquelles les tâches sont activées, vous devez créer une tâche contenant ces classes. Pour ce faire, utilisez des gabarits de tâche.

Un gabarit de tâche contient des classes d'objets prédéfinies pouvant être traitées dans les tâches qu'il a permis de créer. Vous ne pouvez ni modifier ni supprimer les classes d'objets avec tâches activées qui n'appartiennent pas à cette tâche.

Vous pouvez associer des classes d'objets provenant de différentes rubriques dans un même gabarit de tâche. Lorsque vous créez une tâche à partir de ce gabarit, vous pouvez modifier l'état de chaque rubrique séparément.

Remarque : Vous devez activer les tâches pour un modèle métier avant de créer des gabarits de tâche. Voir Activer les tâches pour un modèle métier d'entreprise. Seules les tâches des modèles métiers d'entreprise basés sur Oracle peuvent être activées.

Les classes d'objets avec tâches activées ne peuvent être modifiées que si elles appartiennent à la tâche active. Une tâche peut être traitée uniquement si son état est défini sur Ouvert.

Les classes d'objets avec tâches activées ne peuvent être modifiées que si elles appartiennent à la tâche active. Une tâche peut être traitée uniquement si son état est défini sur Ouvert.

Vous pouvez définir un nombre arbitraire de gabarits de tâche, associés à n'importe quelle combinaison de classes d'objets pour lesquelles les tâches sont activées.

Vous pouvez affecter des gabarits de tâche à un ou plusieurs groupes d'utilisateurs. Pour des raisons de sécurité, par exemple, un groupe d'utilisateurs est autorisé uniquement à utiliser un ensemble de gabarits de tâche limité. Dans Infrastructure Map Server, les membres de ce groupe d'utilisateurs peuvent uniquement utiliser les gabarits de tâches attribués et les tâches créées à l'aide de ces gabarits.

Remarque : Les membres du groupe d'administration peuvent accéder à tous les gabarits de tâche et traiter toutes les tâches. Lorsque vous créez un groupe d'utilisateurs, tous les gabarits de tâche sont disponibles par défaut pour tous les membres du nouveau groupe.

Dans l'administrateur de tâches, utilisez l'option Attribuer des gabarits aux groupes d'utilisateurs pour affecter des gabarits de tâche libres aux groupes d'utilisateurs.

Remarque : Les tâches existantes provenant de versions antérieures ne peuvent pas être attribuées à un groupe d'utilisateurs. Par conséquent, elles peuvent être utilisées par tous.

Etapes de ce workflow :