Permit to link several items to a ticket

1 - Besoin initial

La demande concerne l'évolution de la liaison d’éléments de l’inventaire aux tickets. Cette amélioration vise à lier plusieurs éléments à chaque ticket.

2 - Nouvel affichage

Le nouvel affichage sera effectif pour l’interface normale et simplifiée.

2.1 - Ajout

L’affichage reste inchangé pour l’ajout d’un nouveau ticket et de son élément associé. Cela implique de n’ajouter qu’un seul élément à l’ajout du ticket.

2.1 - Mise à jour

Le nouvel affichage dans les tickets comprendra la création d’un nouvel onglet « Eléments associés », et la suppression du bouton existant du formulaire.

Les actions massives disponibles : Suppression définitive.
Contrainte : Un élément ne peut être ajouté deux fois sur un ticket.

3 - Impact sur les autres fonctions de GLPI

La modification des éléments associés à un impact sur plusieurs fonctions de GLPI.

3.1 - Gabarits

L’ajout d’un élément via les gabarits aura pour effet de l’ajouter dans la liste des éléments du ticket.
L’affichage actuel ne change pas, cela implique de n’ajouter qu’un seul élément au ticket via son gabarit.

3.2 - Moteur de règles

En version 0.85 les règles peuvent être jouées à l’ajout et à la mise à jour du ticket.

3.2.1 - Ajout

Il n’y aura pas d’impacts sur le moteur de règles après l’ajout du ticket, en récupérant les champs saisis. Le formulaire d’ajout du ticket ne change pas donc le traitement des règles n’est pas impacté.

3.2.2 - Mise à jour

Action impactée :

  • Copier le lieu de l’élément associé :

Cette action pose problème car une fois créée, le ticket possède plusieurs éléments.
De plus cette action n’a lieu que si l’élément du ticket a été modifié en plus du champ spécifié dans le critère.
Or cela est impossible car les éléments associés seront modifiables dans un formulaire différent de celui du ticket.

3.3 - Central

Les éléments du central concernant les tickets sont à modifier pour afficher la liste des éléments.
Voici un exemple d’affichage des éléments associés du central :

3.4 - Calcul du TCO

Le TCO des éléments sont recalculés en fonction du ticket. Il faut le recalculer pour tous les éléments du ticket.

3.5 - Assignation automatique

Il existe une option pour assigner automatiquement le groupe et le technicien par celui renseigné dans l’élément du ticket, ou ceux affectés à la catégorie.
Cela n’a effet qu’à la création du ticket.
Cette option est spécifiée sur l’entité, dans l’onglet « Assistance » :

Cette option aura pour effet d’ajouter l’élément dans la liste des éléments du ticket.

3.6 - Options de recherche

Il faut paramétrer le moteur de recherche des tickets pour les éléments associés, afin de les afficher correctement dans la liste des tickets.

3.7 - Action massive

Deux actions massives pourront être ajoutées :
  • Suppression d’un élément associé au ticket
  • Ajout d’un élément

4 - Modèle de données

4.1 - Tables

L’évolution des éléments associés nécessite la création d’une table de liaison, et la suppression des champs « items_id » et « itemtype » de la table des tickets.

Table glpi_items_tickets :
Colonnes Description Type Null Défaut
id Id unique Int (11) autoincrement Non Aucune
itemtype Type d’élément Varchar (255) Non NULL
items_id Id de l’élément Int (11) Non 0
tickets_id Id du ticket Int (11) Non 0
Critères d’unicité :
  • itemtype
  • items_id
  • tickets_id

4.2 - Migration des données

La création d’une table de liaison glpi_items_tickets nécessite la migration des données de l’ancienne structure.
Les champs « id », « items_id », et « itemtype » des tickets seront tous importés dans la nouvelle table. Ensuite les champs « items_id » et « itemtype » des tickets seront supprimés.
Un script de mise à jour sera développé sur la dernière version de GLPI 0.85.

5 - Questions aux project leaders / communauté

5.1 - Ticket

Faut-il permettre l’ajout de plusieurs éléments à la création du ticket ?

MoYo + JMD : Même si l'ajout multiple serait intéressant, nous préconisons pour conserver la cohérence actuelle de ne permettre l'ajout que d'un élément à la création.
Nous pourrons étudier plus tard l'ajout multiple que ce soit pour les éléments ou les acteurs (mais certainement plus d'impact au niveau des règles)

5.2 - Règle de copie du lieu de l'élément

A la mise à jour du ticket, une règle peut être jouée pour copier le lieu de l'élément.
Cependant, plusieurs éléments peuvent être liés, donc lequel choisir ?

MoYo+JMD : On change le comportement. Si le lieu est déjà définit on ne fait rien. Ce qui revient à dire que l'on prend le lieu du premier élément associé.

Autre problème, cette règle se joue uniquement s'il y a une modification dans le ticket ET dans les éléments associés.
Or à terme les éléments associés seront séparés du formulaire des tickets, ce qui pose problème pour vérifier leur modification.

MoYo+JMD : Il faut trouver un moyen pour activer les règles à l'ajout de nouveaux éléments (champs virtuels...)

associated_elements.png (32.8 KB) ludo, 09/24/2014 10:25 AM

Central 1.png (24.2 KB) ludo, 09/24/2014 10:25 AM

assignation_auto.png (13.6 KB) ludo, 09/24/2014 10:25 AM

regle.png (12.4 KB) ludo, 09/24/2014 10:25 AM