Generic Object¶
Télécharger |
Sources |
---|---|
Requirements (on-premise)¶
Version de GLPI |
PHP minimum |
Recommandé |
---|---|---|
10.0.x |
8.1 |
8.2 |
Note
Ce plugin est disponible sans souscription GLPI-Network. Il est Ă©galement disponible sur le Cloud.
Fonctionnalités¶
Ce plugin vous permet dâajouter de nouveaux type dâobjets qui seront intĂ©grĂ©s dans GLPi
Il supporte les fonctionnalités suivantes de GLPi :
gestion des Entités et sous-Entités ;
recherche ;
modĂšles ;
historique ;
intĂ©gration dans lâassistance ;
intĂ©gration dans le plugin dâinjection de fichiers CSV :
intĂ©gration dans le plugin de dĂ©sinstallation dâobjets ;
intégration dans le plugin de gestion des commandes.
Exemple dâutilisation¶
Objectif : gĂ©rer votre flotte de vĂ©hicules de la mĂȘme maniĂšre que le reste de votre parc.
CrĂ©er un nouvel objet dâinventaire de type vĂ©hicule.
Ajouter les champs adĂ©quats pour un vĂ©hicule, comme : nom, numĂ©ro de sĂ©rie, numĂ©ro dâinventaire, type, modĂšle, couleur, Ă©tat, etc.
DĂ©crire le comportement dâun vĂ©hicule : visible dans les sous entitĂ©s, conserver lâhistorique, etc.
Ajuster les droits sur véhicules.
Activer lâobjet vĂ©hicules.
Gérer votre collection de véhicules dans GLPI.
Installer le plugin¶
DĂ©compresser lâarchive.
Déplacer le répertoire
genericobject
dans le répertoire <GLPI_ROOT>/plugins`.Se rendre sur la page Configuration > Plugins
Installer et activer le plugin
Utilisation¶
CrĂ©er un nouveau type dâobjet¶
Ceci constitue la premiĂšre Ă©tape.
Cliquer sur le bouton + dans le formulaire de configuration du plugin.
Créer un nouvel objet de type inventaire :
nom* : requis, en minuscules, et doit ĂȘtre composĂ© de lettres uniquement ;
libellé : par défaut, identique au nom.
Valider.
Activer le nouveau type dâobjet pour lâutiliser.
Exemple : crĂ©er un nouveau type dâobjet dâinventaire vĂ©hicule.
Modifier les libellés¶
Pour chaque type, un fichier de langue est disponible dans <GLPI_ROOT>/files/_plugins/genericobject/locales/itemtype/
Le plugin créé :
un fichier de langue pour la langue courante
un fichier de langue pour la langue par défaut de GLPI
Note
Si la langue courante et la langue par défaut sont identiques, un seul fichier sera créé.
Pour modifier le libellĂ© du type dâobjet, pour la langue anglaise, Ă©diter le fichier :
<?php
// <GLPI_ROOT>/files/_plugins/genericobject/locales/<itemtype>/<itemtype>.en_GB.php
$LANG['genericobject']['<itemtype>'][1] = "<type's label>";
Vous pouvez également définir des libellés globalement dans les fichiers <GLPI_ROOT>/files/_plugins/genericobject/locales/fields.<lang>.php
:
<?php
// <GLPI_ROOT>/files/_plugins/genericobject/locales/<itemtype>/<itemtype>.en_GB.php
$LANG['genericobject']['fields']['<itemtype>'] = "<type's label>";
Configuration du comportement¶
Exemple : dĂ©crire le comportement dâun vĂ©hicule : visible dans les sous entitĂ©s, conserver lâhistorique, etc.
Le nouveau type sera gĂ©rĂ© de la mĂȘme maniĂšre que les types usuels de GLPI (ordinateurs, moniteurs, matĂ©riels rĂ©seau, etc.)
Note
Tous les objets sont au moins assignés à une entité
Lâonglet comportement vous permet de dĂ©finir :
sous-entitĂ©s : autorise le type Ă ĂȘtre rĂ©cursif ;
Assistance : autorise lâobjet Ă ĂȘtre associĂ© Ă un ticket ;
Corbeille : utiliser la fonctionnalité corbeille de GLPI ;
Notes : utiliser la fonctionnalité notes de GLPI ;
Historique : autorise lâhistorique pour ce type ;
ModĂšles : autorise la gestion de modĂšles ;
Documents : permet Ă des documents dâĂȘtre attachĂ©s Ă ce type ;
PrĂȘts : autorise le prĂȘt dâobjet ;
Contrats : lie un objet Ă un ou plusieurs contrats ;
Connexions rĂ©seau : permet lâutilisation et la gestion de ports rĂ©seau pour ce type ;
Plugin dâinjection de fichiers CSV : permet Ă ce type dâĂȘtre disponible pour utilisation dans le plugin ;
Plugin de dĂ©sinstallation dâobjets : autorise la dĂ©sinstallation de ce type ;
Plugin de gestion des commandes : autorise le lien de ce type Ă une commande ;
Ajouter des champs¶
Exemple : ajouter les champs adĂ©quats pour un vĂ©hicule, comme : nom, numĂ©ro de sĂ©rie, numĂ©ro dâinventaire, type, modĂšle, couleur, Ă©tat, etc.
Aller Ă lâonglet Champs.
Le plugin est fourni avec plusieurs champs prĂȘts Ă lâutilisation :
Nom
Type
ModĂšle
Numéro de série
NumĂ©ro dâinventaire
Utilisateur
Groupe
Statut
Commentaires
Notes
Emplacement
Autre
Constructeur
URL
Date de création
Date dâexpiration
Catégorie
Visible dans lâassistance
Technicien en charge du matériel
Domaine
Contact
Numéro de contact
Note
Lâutilisation de certains comportement entraĂźnera lâajout automatique de champs dans lâobjet :
connexion réseau => emplacement
prĂȘts => emplacement
assistance => visible dans lâassistance
notes => notepad
Intégration assistance¶
Pour utiliser un objet dans lâassistance, utiliser la configuration suivante :
Dans lâonglet Comportement : utiliser lâassistance doit ĂȘtre dĂ©fini Ă Oui.
Si le champ Utilisateur est dĂ©fini, lâobjet sera visible dans la liste Mes objets (comme un objet dont lâutilisateur est propriĂ©taire).
Si le champ Groupe est dĂ©fini, lâobjet sera visible dans la liste Mes objets Ă©galement (comme un objet dont le propriĂ©taire est un groupe auquel lâutilisateur appartient).
Si le champ Assistance visible est dĂ©fini et que sa valeur est Ă Non dans lâobjet, ce objet ne sera pas visible du tout dans lâassistance.
Ajouter de nouveaux champs¶
Note
Les nouveaux champs seront disponibles pour tous les types dâobjets.
Créer un nouveau fichier nommé
<GLPI_ROOT>/files/_plugins/genericobject/fields/<type>.constant.php
Par exemple, pour un type véhicule le fichier de constantes sera <GLPI_ROOT>/files/_plugins/genericobject/fields/car.constant.php
.
Notez que la premiĂšre ligne du fichier doit ĂȘtre la suivante, sans quoi les nouveaux champs nâapparaĂźtront pas dans la liste :
<?php
global $GO_FIELDS, $LANG;
Ajouter les nouvelles définitions de champs.
Ajouter un champ liste déroulante simple¶
<?php
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['name'] = $LANG['genericobject']["<type's name>"][2];
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['field'] = 'color';
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['input_type'] = 'dropdown';
Note
La variable de langue doit ĂȘtre dĂ©finie dans le fichier de langues (voir les explications ci-dessus).
Ajouter un champ liste déroulante qui est assigné à une entité :
<?php
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['name'] = $LANG['genericobject']["<type's name>"][2];
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['field'] = 'color';
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['input_type'] = 'dropdown';
//Does the dropdown take care of entities ? (true/false)
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['entities_id'] = true;
//Can values be recursive ? (true/false, only taking in account if entities_id is set to true)
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['is_recursive'] = true;
Ajouter un champ liste déroulante hiérarchique¶
<?php
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['name'] = $LANG['genericobject']["<type's name>"][2];
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['field'] = 'color';
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['input_type'] = 'dropdown';
//Is it a tree-dropdown, or a simple one ? (true/false)
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['is_tree'] = true;
Note
Vous pouvez utiliser en mĂȘme temps les paramĂštres suivants : entities_id, is_recursive, is_tree.
Ajout dâun champ liste dĂ©roulante basĂ© sur les objets du coeur de GLPI (utilisateur, emplacement, âŠ)¶
<?php
$GO_FIELDS['users_id_passengers_id']['name'] = 'Passenger';
$GO_FIELDS['users_id_passengers_id']['input_type'] = 'dropdown';
Note
Les noms entre crochets ([]
) DOIVENT commencer par users_id
pour ĂȘtre reconnus comme Ă©tant des champs basĂ©s sur la liste des utilisateurs de GLPI.
Voir le fichier <GLPI_ROOT>/files/_plugins/genericobject/fields/field.constant.php
pour une liste complĂšte des champs disponibles.
Ajouter une liste déroulante globale¶
Une liste dĂ©roulante globale peut ĂȘtre utilisĂ©e dans tous les types dâobjets. Un bon exemple serait :
<?php
$GO_FIELDS['categories_id']['name'] = $LANG['common'][36];
$GO_FIELDS['categories_id']['input_type'] = 'dropdown';
$GO_FIELDS['categories_id']['dropdown_type'] = 'global';
Une table pour les catĂ©gorie spĂ©cifique sera crĂ©Ă©e pour chaque type dâobjet. Le nom de la table et le nom du champ seront concatĂ©nĂ©s de cette maniĂšre :
table :
glpi_plugin_genericobject_<itemtypename>_category
nom du champ :
plugin_genericobject_<itemtype>categories_id
Ajouter un champ entier¶
<?php
$GO_FIELDS['testinteger']['name'] = 'testinteger';
$GO_FIELDS['testinteger']['input_type'] = 'integer';
$GO_FIELDS['testinteger']['min'] = 10; //not mandatory, by default 0
$GO_FIELDS['testinteger']['max'] = 40; //not mandatory, by default 100
$GO_FIELDS['testinteger']['step'] = 3; //not mandatory, by default 1
Ajouter un champ texte¶
<?php
$GO_FIELDS['mytextfield']['name'] = 'My text field';
$GO_FIELDS['mytextfield']['input_type'] = 'text';
ModifiĂ© dans la version 2.1.2: En ajoutant lâargument suivant, vous indiquerez au plugin que ce champ peut ĂȘtre gĂ©nĂ©rĂ© automatiquement en utilisant un modĂšle :
<?php
$GO_FIELDS['mytextfield']['autoname'] = true;
Ajouter un champ Oui/Non¶
<?php
$GO_FIELDS['mybooleanfield']['name'] = 'My boolean field';
$GO_FIELDS['mybooleanfield']['input_type'] = 'bool';
Ajouter un champ date¶
<?php
$GO_FIELDS['creationdate']['name'] = $LANG['genericobject']['fields'][30];
$GO_FIELDS['creationdate']['input_type'] = 'date';
Ajouter un champ date et heure¶
<?php
$GO_FIELDS['creationdate']['name'] = $LANG['genericobject']['fields'][30];
$GO_FIELDS['creationdate']['input_type'] = 'datetime';
Note
Si vous ne souhaitez pas que le champ puisse ĂȘtre modifiĂ© en utilisant une action de masse, ajouter la ligne suivante Ă sa dĂ©finition :
<?php
$GO_FIELDS['myfield']['massiveaction'] = false;
Ajouter des champs globaux¶
Pour rendre vos champs accessibles depuis tous les types dâobjets :
Créer un fichier nommé
<GLPI_ROOT>/files/_plugins/genericobject/fields/field.constant.php
Ajouter les définitions dans ce fichier.
Configurer les droits¶
Vous pouvez dĂ©finir des droits dâaccĂšs pour chaque type dâobjet, pour chaque profil. Les options disponibles sont :
droits sur le type : pas dâaccĂšs, lecture, Ă©criture.
droits pour associer ce type dâobjet aux tickets : oui, non.
Pour associer les droits, vous pouvez au choix :
Utiliser lâonglet Droits dans le formulaire du type dâobjet.
Aller dans Administration > Profils pour administrer les droits de chaque profil.
Utiliser le nouveau champ¶
Activer le nouveau type, il est dĂ©sormais prĂȘt Ă ĂȘtre utilisĂ©.
Le nouveau type est disponible pour les utilisateurs depuis le menu Plugins > Gestion dâobjets.
Exemple dâutilisation de Generic Object comme GMAO¶
But de cette documentation¶
Présenter une utilisation complÚte de Generic Object comme GMAO (Gestion de Maintenance Assistée par Ordinateur) dans un environnement biomédical.
Ă la fin de cette documentation, vous aurez :
une entité Biomed dédiée (sous l'Entité racine)
contenant des objects Biomedical (dans le menu Parc)
avec des champs pré-définis et personnalisés
gérée par des utilisateurs avec le profil Admin_biomed
Ătapes¶
Les Ă©tapes suivantes partent du principe que vous avez une habilitation Super-Admin :
Installer Generic Object sur GLPI (validé avec genericobject >= 0.85-1.0 et GLPI >= 0.90)
Configuration de Generic Object
Configuration de GLPI
DĂ©marrer lâutilisation de Generic Object et GLPI
Installer Generic Object sur GLPI¶
Voir la section Installer le plugin.
Configuration de Generic Object¶
CrĂ©er votre type dâobjet¶
Voir la section CrĂ©er un nouveau type dâobjet et utiliser biomedical comme identifiant interne. Le libellĂ© sera dĂ©fini automatiquement Ă Biomedical (avec un B majuscule).
AprÚs une connexion/déconnexion, vous verrez le menu Biomedical dans le Parc.
Définir les nouveaux champs du type Biomedical¶
Ces champs seront utilisables uniquement par les objets du type Biomedical
Créer un nouveau fichier appelé :
<GLPI_ROOT>/files/_plugins/genericobject/fields/biomedical.constant.php
Ajouter le contenu suivant :
<?php
global $GO_FIELDS, $LANG;
// CODE CNEH
$GO_FIELDS['plugin_genericobject_cnehcodes_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][1];
$GO_FIELDS['plugin_genericobject_cnehcodes_id']['field'] = 'cnehcode';
$GO_FIELDS['plugin_genericobject_cnehcodes_id']['input_type'] = 'dropdown';
// REFORME (yes or no)
$GO_FIELDS['reformed']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][2];
$GO_FIELDS['reformed']['input_type'] = 'bool';
// CLASSE CE (3 choix possibles 1,2a ou 2b)
$GO_FIELDS['plugin_genericobject_classeces_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][3];
$GO_FIELDS['plugin_genericobject_classeces_id']['field'] = 'classce';
$GO_FIELDS['plugin_genericobject_classeces_id']['input_type'] = 'dropdown';
// UF (Unité Fonctionnelle)
$GO_FIELDS['plugin_genericobject_ufs_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][4];
$GO_FIELDS['plugin_genericobject_ufs_id']['field'] = 'uf';
$GO_FIELDS['plugin_genericobject_ufs_id']['input_type'] = 'dropdown';
// PRESTATAIRE BIOMED
$GO_FIELDS['plugin_genericobject_prestataires_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][5];
$GO_FIELDS['plugin_genericobject_prestataires_id']['field'] = 'prestataire biomed';
$GO_FIELDS['plugin_genericobject_prestataires_id']['input_type'] = 'dropdown';
// TYPE D'EQUIPEMENT BIOMED
$GO_FIELDS['plugin_genericobject_typedequipementbiomeds_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][6];
$GO_FIELDS['plugin_genericobject_typedequipementbiomeds_id']['field'] = "type d 'equipement biomed";
$GO_FIELDS['plugin_genericobject_typedequipementbiomeds_id']['input_type'] = 'dropdown';
// Criticite
$GO_FIELDS['plugin_genericobject_criticites_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][7];
$GO_FIELDS['plugin_genericobject_criticites_id']['field'] = 'criticite';
$GO_FIELDS['plugin_genericobject_criticites_id']['input_type'] = 'dropdown';
// Numéro marquage CE
$GO_FIELDS['plugin_genericobject_marquageces_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][8];
$GO_FIELDS['plugin_genericobject_marquageces_id']['field'] = 'marquagece';
$GO_FIELDS['plugin_genericobject_marquageces_id']['input_type'] = 'dropdown';
// Classe Ă©lectrique
$GO_FIELDS['plugin_genericobject_classeelecs_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][9];
$GO_FIELDS['plugin_genericobject_classeelecs_id']['field'] = 'classeelec';
$GO_FIELDS['plugin_genericobject_classeelecs_id']['input_type'] = 'dropdown';
?>
Avertissement
Le s_id
de fin est obligatoire dans [plugin_genericobject_field*s_id*]
. Le framework GLPI impose que les champs de clés étrangÚres se terminent par s_id
. En base de données, glpi_plugin_genericobject_fields
est le nom de la table et id
, sa clé étrangÚre. Voir la documentation développeur de GLPI.
Définir les libellés des champs¶
Voir la section Modifier les libellés.
Ăditer vos fichiers de locales, par exemple :
<GLPI_ROOT>/files/_plugins/genericobject/locales/biomedical/biomedical.fr_FR.php
Ajouter le contenu suivant Ă la fin du fichier :
<?php
// Fields
$LANG['genericobject']['PluginGenericobjectBiomedical'][1]="Code CNEH";
$LANG['genericobject']['PluginGenericobjectBiomedical'][2]="Réformé";
$LANG['genericobject']['PluginGenericobjectBiomedical'][3]="Classe CE";
$LANG['genericobject']['PluginGenericobjectBiomedical'][4]="UF";
$LANG['genericobject']['PluginGenericobjectBiomedical'][5]="Prestataire Biomed";
$LANG['genericobject']['PluginGenericobjectBiomedical'][6]="Type d'Ă©quipement biomed";
$LANG['genericobject']['PluginGenericobjectBiomedical'][7]="Criticité";
$LANG['genericobject']['PluginGenericobjectBiomedical'][8]="Marquage CE";
$LANG['genericobject']['PluginGenericobjectBiomedical'][9]="Classe Ă©lectrique";
Définir les comportements¶
Dans le menu Plugins > Gestion dâobjets, sur lâonglet Principal, sĂ©lectionner :
ĂlĂ©ment Ă la corbeille
Historique
Informations financiĂšres et administratives
Documents
Recherche globable
Assistance
ModĂšles
Contrats
Recherche globable
Cette action ajoutera des champs prĂ©-dĂ©finis Ă votre type dâobjet
Ajouter des champs Ă votre type dâobjet¶
Dans le menu Plugins > Gestion dâobjets, sur lâonglet Champs, vous pouvez maintenant ajouter des champs au type dâobjet Biomedical :
champs pré-définis (champs natifs à GLPI)
nouveaux champs (définis dans la section Définir les nouveaux champs du type Biomedical)
Configuration de GLPI¶
Définir le profil Admin_biomed¶
Cloner le profil Admin
DĂ©finissez les droits suivants dans le profil Admin_biomed :
Administration > Profils > Admin_biomed > Onglet Parc > Désélectionner tout
Administration > Profils > Admin_biomed > Onglet Assistance > Association > Matériels associables à un ticket > Biomedical
Administration > Profils > Admin_biomed > Onglet Gestion > SĂ©lectionner tout
Administration > Profils > Admin_biomed > Onglet Gestion dâobjets > Biomedical > SĂ©lectionner tout
Note
Avec ces paramĂštres, les utilisateurs avec le profil Admin_biomed voient uniquement Biomedical dans le menu Parc
DĂ©marrer lâutilisation de Generic Object et GLPI¶
En tant quâutilisateur Admin_biomed, vous pouvez crĂ©er votre premier objet dans Parc > Biomedical.
Pour gagner du temps, dĂ©finissez les valeurs des nouveaux champs dans Configuration > IntitulĂ©s > Gestion dâobjets.
FAQ¶
Si vous avez des questions Ă propos de lâutilisation de ce plugin, veuillez consulter notre FAQ