Glpi Plugins Readthedocs Io FR Latest
Glpi Plugins Readthedocs Io FR Latest
Teclib’
1 Présentation 3
2 Empty 5
2.1 Créer un nouveau plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Mise à jour d’un plugin existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Exemple 13
4 Treeview 15
4.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5 Tag 17
5.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.3 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.4 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 News 21
6.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.3 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.4 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.5 Create alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.6 Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.7 Display on login page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.8 Display on helpdesk page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7 SCCM 25
7.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.3 Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.4 Schematic diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.5 Collected data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
i
7.6 Automatic actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8 Escalade 29
8.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.3 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.4 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.5 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.6 Ticket’s search engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.7 Central page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9 Credit 35
9.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.4 Credit consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.5 Credit report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10 Generic Object 39
10.1 Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.2 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3 Exemple d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.4 Installer le plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.5 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.6 Ajouter des champs globaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.7 Configurer les droits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.8 Utiliser le nouveau champ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.9 Exemple d’utilisation de Generic Object comme GMAO . . . . . . . . . . . . . . . . . . . . . . . . 46
11 Order 51
11.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.3 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.4 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.5 Creation of a reference catalogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.6 Creating an order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.7 Rights management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
12 Champs additionnels 61
12.1 Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.2 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.3 Installer le plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
12.4 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
12.5 Recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.6 Interface simplifiée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.7 Traductions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.8 Entités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
13 Uninstall 69
13.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
13.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
13.3 Right managment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
13.4 Uninstall feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
13.5 Uninstall hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
13.6 Replace feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ii
13.7 Replace hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
14 Form creator 75
14.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
14.2 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
14.3 Service catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
14.4 Forms configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
14.5 Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
14.6 Issues lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
14.7 Exporting and importing forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
14.8 Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
14.9 Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
15 Datainjection 105
15.1 Requirements for latest version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
15.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
15.3 Install the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
15.4 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
15.5 Create new model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
15.6 Inject your CSV file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
15.7 Mapping CSV column and object field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
15.8 Additional data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
15.9 Validate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
15.10 Execute import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
15.11 Import result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
17 Translate 117
17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
17.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
17.3 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
17.4 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
17.5 DeepL API Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
17.6 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
17.7 Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
iii
iv
GLPI plugins Documentation
Présentation
Les plugins fournissent la possibilité d’étendre les possibilités de GLPI sans en modifier le code source. Dans un monde
parfait, les plugins devraient ne fournir que des fonctionnalités spécifiques, tandis que le cœur fournit les fonctionnalités
que tout le monde (ou presque) trouvera utiles.
Certains plugins existants sont très complexes, d’autres très simples. Certains vont requérir la lecture de leur documen-
tation avant de pouvoir les utiliser, d’autres pas. . . Certains proposeront des fonctionnalités de configuration, de gestion
des droits, entre autres. . . Ou pas ! Il y a déjà tellement de plugins !
Si vous recherchez des fonctionnalités qui n’existent pas dans le cœur de GLPI, commencez par chercher dans le dépôt
des plugins. Vous pourrez chercher un nom de plugin ou une fonctionnalité, voir quelle version du cœur est compatible,
etc.
Le but de la présente documentation est de centraliser les documentations, mais nous ne pouvons prétendre que les
documentations de tous les plugins soient hébergées ici.
Dans tous les cas, joyeuse utilisation de GLPI !
3
GLPI plugins Documentation
4 Chapitre 1. Présentation
CHAPITRE 2
Empty
Un script utilitaire pour créer un nouveau plugin - plugin.sh est fourni. Vous devrez l’appeler avec un nom de plugin,
une version et optionnellement le chemin dans lequel vous souhaitez le créer.
Le script nettoiera et passera en minuscules le nom que vous ave fourni, copiera les fichiers modèles dans le nouveau
répertoire, et effectuera quelques remplacements.
Si vous utilisez le script sans spécifier de dossier de destination, votre répertoire mygreatplugin sera placé tout à côté
de son propre dossier. Autrement, le répertoire sera créé dans le chemin spécifié :
5
GLPI plugins Documentation
Il n’y a pas de méthode automatique pour mettre à jour un plugin existant, il y aurait en effet bien trop de cas de figure
à gérer. Mais ne vous inquiétez pas, la procédure est assez simple ;)
L’utilisation des possibilités de empty est aussi simple que la création de quelques fichiers :
— composer.json,
— .travis.yml,
— Robofile.php,
— .gitignore.
Si vous n’avez pas encore de configuration composer ou travis, vous pouvez simplement copier celles du plugin empty.
Dans le cas contraire ; ajoutez dans votre composer.json :
{
"minimum-stability": "dev",
"prefer-stable": true
}
script:
- vendor/bin/robo --no-interaction code:cs
dist/
vendor/
.gh_token
*.min.*
Quant au fichier de configuration de Robo.li, notez que celui qui est fourni par le plugin empty est quelque peu spéci-
fique, vous devrez le modifier pour que tout fonctionne. Voir ci-dessous pour plus d’informations.
Pour finir, comme le projet tools fournit quelques fonctionnalités, vous pouvez supprimer les scripts utilitaires en
doublon (les fichiers tels que release, extract_template.sh, . . .) qui pourraient être présents dans votre plugin.
2.3 Fonctionnalités
$ ./vendor/bin/robo code:cs
Note : La commande ci dessus ignorera vendor et sera lancée dans le répertoire courant.
Si vous souhaitez adapter la liste d’ignorance ou les dossiers vérifiés ; vous pouvez simplement surcharger $csignore
et/ou $csfiles dans le RoboFile.php du plugin :
6 Chapitre 2. Empty
GLPI plugins Documentation
<?php
Pour des raisons pratiques, un fichier .travis.yml est également fourni, il est paramétré pour :
— vérifier les standards de codage,
— être lancé sur un certain nombre de configurations différentes
Vous devrez cependant activer les constructions depuis travis-ci depuis leur site web pour que les tests automatiques
soient actifs.
Bien entendu, le fichier .travis.yml peut être adapté ; vous pouvez lancer des tests unitaires, créer/modifier une base
de données, activer les notifications, etc. Référez-vous à la documentation Travis-CI pour plus de détails.
Avertissement : Désactivé à partir de la 0.1.13, les bibliothèques utilisées par Robo sont anciennes et ne peuvent
être remplacées.
Un script d’agrément, qui utilise Robo.li est fournit. Le fichier RoboFile.php est une classe vide qui étends Glpi\
Tools\RoboFile (fournie par la dépendance glpi-project/tools) dans laquelle vous pouvez définir ce que vous
voulez.
De cette manière, vous pourrez facilement tenir à jour le fichier commun sans que vos tâches spécifiques ne soient
affectées.
Pour installer les bibliothèques requises, vous devrez installer composer puis lancer :
$ composer install -o
Il y a 3 cibles disponibles :
— minify qui va minimifier tous les ficheirs CSS et JS (voir ci-dessous),
— minify:css qui va minimifier toutes les feuilles de style CSS dans le dossier css de votre plugin, en créant
une version .min.css version à côté du fichier original,
— minify:js qui va minimifier tous les fichiers javascript dans le dossier js de votre plugin, en créant une version
.min.js version à côté du fichier original.
Choisissez simplement une cible, et lancer comme ceci :
$ ./vendor/bin/robo minify:css
Note : Souvenez-vous que les fichiers compilés ne doivent pas être commités sur votre dépôt de sources. Leur création
fait partie du travail du processus de release.
2.3. Fonctionnalités 7
GLPI plugins Documentation
Pensez également à adapter vos scripts pour qu’ils chargent les versions minimifiées si elles sont disponibles, et l’ori-
ginal dans le cas contraire :)
À partir de GLPI 9.2, vous n’avez plus à vous soucier du chargement des fichier minimifiés lorsque vous utilisez les
hooks add_css et add_javascript ! Vous dvez simplement appeler vos fichiers standards, et GLPI utilisera automa-
tiquement la version minimifiée si elle existe, et si le mode DEBUG n’est pas actif.
2.3.4 Traductions
GLPI et ses plugins utilisent gettext pour l’internationalisation. Plusieurs étapes sont requises pour que cela fonctionne :
1 les chaînes à traduire doivent être extraites depuis les fichiers sources, un fichier POT ser ainsi créé ou mise à jour
en conséquence, 2 les fichiers PO doivent être créés ou mis à jour depuis les fichier POT, 3 les fichiers PO doivent être
traduits, 4 les fichiers ``MO doivent être compilés depuis la dernière version des PO.
Dans le dossier vendor/bin, vous trouverez un script extract_template.sh. Il va extraire les chaînes à traduire
depuis le code source (voir le premier point ci-dessus).
Une fois qu’il aura été lancé, le fichier locale/mygreatplugin.pot sera créé ou mis à jour.
Pour les secondes et troisièmes étapes, vous aurez à faire un choix. Vous pouvez utiliser les outil gettext pour mettre
à jour vos fichier PO et les traduire en utilisant un outil dédié, tel que poedit ; ou vous pouvez utiliser un système de
traduction en ligne tel que Transifex ou Zanata. Le cœur de GLPI ainsi que de nombreux plugins sont traduits via
Transifex actuellement.
Une fois que vos fichier PO auront été mis à jour, vous devrez les compiler en tant que fichiers MO. Vous pouvez lancer
cela manuellement, le script de relese le fera de toutes façons ; référez-vous à la section relative à la compilation des
fichiers MO.
Un script de release est fournit dans vendor/bin/plugin-release. C’est un « simple » script Python ; vous devez
juste avoir Python installé sur votre système (c’est le cas par défaut sur la plupart des distributions linux).
Avertissement : Notez que ce script de release n’est compatible que si vous utilisez le versionnage sémantique !
En utilisant les options par défaut, le script va tenter de retrouver le dernier tag de votre dépôt git, ajouter les dépendances
tierces et créer une Release sur votre projet github.
$ ./vendor/bin/plugin-release
Do you want to build version 1.9.5? [Yes/no] y
Building glpi-order-1.9.5...
Archiving GIT tag 1.9.5
Adding vendor libraries
$ ls dist
glpi-order-1.9.5.tar.bz2 glpi-order-1.9.5.tar.bz2.asc
8 Chapitre 2. Empty
GLPI plugins Documentation
Pré-requis
Vous aurez besoin d’un interpréteur python installé ainsi que les modules suivants :
— termcolor,
— gitdb,
— github (pour vérifier les versions existantes dans les brouillons également, et pour créer les releases github), à
moins que vous ne spécifiez l’option --nogithub
Si vous voulez de l’aide sur le script, essayez de lancer ./vendor/bin/plugin-release -h.
Processus
Note : Le processus de release standard ne travaillera pas sur vos fichiers directement, il effectuera en premier lieu une
copie dans le dossier dist/src auparavant. La seule exception concerne l’option de compilation des fichiers MO.
Dans le but de vérifier si tout est OK avant de créer la vraie release ; créez votre tag et lancez ./vendor/bin/
plugin-release -C avant de le pousser sur votre dépôt distant. De cette manière, vous serez en mesure de corriger
les éventuels problèmes et re-créer votre tag en local (n’oubliez pas que les tags publiés ne devraient jamais être sup-
primés).
Le processus de release compilera chaque fichier PO trouvé dans le répertoire locales. Vous souhaiterez certainement
que les derniers fichiers MO soient présents dans els sources, à des fins de tests. Le script de release fournit l’option
--compile-mo (ou -m) pour cela.
$ ./vendor/bin/plugin-release --compile-mo
Avertissement : La commande ci-dessus travaillera directement sur vos fichier et non sur une copie, à l’inverse
des autres commandes.
2.3. Fonctionnalités 9
GLPI plugins Documentation
Pré-releases
Par défaut, le script de release ne travaillera que sur des tags existants. Toute pré-release devrait être dûment taguée ;
mais il est possible que vous souhaitiez créer une archive sans tag dans certaines circonstances.
Pour indiquer au script de release ce qu’il doit archiver, vous devrez spécifier plusieurs paramètres :
— --commit (or -c) fournissant le hash du commit,
— --release (ou -r) fournissant la version (habituellement, la version à venir),
— --extra (or -e) pour préciser une chaîne complémentaire (telle que alpha, beta, rc1, etc. . .)
Par exemple pour le plugin order :
La signature des releases avec une clé GPG permettra aux utilisateurs de vérifier l’intégrité du téléchargement avant
l’installation. Vous aurez besoin d’une clé GPG difussée publiquement ; l’option signature est active par défaut, vous
pouvez la désactiver en utilisant l’option --nosign (ou -S).
Un fichier contenant la signature portant l »e même nom que l’archive avec une extension .asc sera créé dans le dossier
dist.
Release GitHub
Le script de release créera une release GitHub sur votre dépôt, en brouillon, à moins que vous ne spécifiez l’option
--nogithub (ou -g).
Note : Malheureusement, je n’ai pas été en mesure de téléverser la nouvelle archive sur cette release. . . Peut-être cela
sera-t-il fixé dans le futur.
Pour pouvoir bénéficier de cette fonctionnalité, il faudra que le module python github soit installé ; et il vous faudra un
token d’accès. Les tokens d’accès sont valides par utilisateur et donnent accès à l’ensemble de ses dépôts.
Vous devrez vous rendre sur la page des préférences de votre compte github, dans l’onglet « personnal access token ».
Clic sur generate new token, fournissez la description souhaitée et assurez-vous d’avoir coché la case public_repo
uniquement (il n’est pas nécessaire de cocher quoi que ce soit d’autre, vous pourrez créer plusieurs tokens au besoin).
Le token ne sera affiché qu’une fois ; enregistrez-le dans le fichier .gh_token dans le répertoire de votre plugin, et
c’est tout !
Vous pouvez créer un fichier .ignore-release à la racine de votre plugin et y lister les fichiers et dossiers que vous
voulez exclure explicitement de l’archive. Écrivez une expression par ligne
.+\.png
screenshots/
10 Chapitre 2. Empty
GLPI plugins Documentation
— .tx/
— tools/
— tests/
— .atoum.php
— .travis.yml
— .circleci/
— .ignore-release
— composer.lock
— Robofile.php
2.3. Fonctionnalités 11
GLPI plugins Documentation
12 Chapitre 2. Empty
CHAPITRE 3
Exemple
13
GLPI plugins Documentation
14 Chapitre 3. Exemple
CHAPITRE 4
Treeview
4.2 Features
This plugin allows you to browse through your inventory via a tree view in a panel located on the left side of the screen.
You can browse the tree of your site to see the equipment.
15
GLPI plugins Documentation
4.4 Usage
The plugin will create required tables in the database automatically. Those tables will be updated along with the plugin.
Plugin configuration is quite simple :
You will access the create form from the Setup > Plugins > treeview.
16 Chapitre 4. Treeview
CHAPITRE 5
Tag
5.2 Features
17
GLPI plugins Documentation
5.4 Usage
The plugin will create required tables in the database automatically. Those tables will be updated along with the plugin.
Plugin usage is quite simple :
— Create tag
You will access the create form from the Setup > Plugins > tag.
Define name, color, sub-entities visibility and associated itemtype
— Use tag
On associated itemtype, you can add tag previously created
18 Chapitre 5. Tag
GLPI plugins Documentation
5.4. Usage 19
GLPI plugins Documentation
20 Chapitre 5. Tag
CHAPITRE 6
News
6.2 Features
This plugin allows to display alerts messages on GLPI homepage and / or login page.
— Create alert with rich text as for notes.
— Choice of begin/end publication date.
— Manage alerts by entity.
— Target : display alerts by profile / group / user.
21
GLPI plugins Documentation
6.4 Usage
The plugin will create required tables in the database automatically. Those tables will be updated along with the plugin.
Plugin usage is quite simple :
— configure alerts
You will access the plugin configuration from the Tools > Alerts.
6.6 Targets
22 Chapitre 6. News
GLPI plugins Documentation
24 Chapitre 6. News
CHAPITRE 7
SCCM
25
GLPI plugins Documentation
7.2 Features
Plugin to synchronize computers from SCCM (version 1802) to GLPI (version 9.3 and 9.4). It uses the « FusionInven-
tory for GLPI » plugin and the power of its internal engine.
7.3 Workflow
26 Chapitre 7. SCCM
GLPI plugins Documentation
7.6.1 SCCMCollect
7.6.2 SCCMPush
28 Chapitre 7. SCCM
CHAPITRE 8
Escalade
8.2 Features
Escalade plugin aims to simplifier the ticket escalation process in GLPI. It also adds a graphical historical for assigned
groups.
29
GLPI plugins Documentation
8.4 Usage
The plugin will create required tables in the database automatically. Those tables will be updated along with the plugin.
Plugin usage is quite simple :
— configure plugin
You will access the plugin configuration from the Setup > Plugins > Escalade.
8.5 Configuration
30 Chapitre 8. Escalade
GLPI plugins Documentation
8.5. Configuration 31
GLPI plugins Documentation
— “glpi” user can only reassign ticket to “groupe 2” because it’s assign to “groupe 1”
— For other users not assign to “groupe 1”, they can’t reassign group to ticket
32 Chapitre 8. Escalade
GLPI plugins Documentation
New dashlet to display ticket solved to close and assign to you group
New dashlet to display not solved ticket where your groups was not actually assign but was in the past
34 Chapitre 8. Escalade
CHAPITRE 9
Credit
9.2 Features
This plugin allows you to declare and follow (by entity) the consumptions of different credit vouchers directly from the
Ticket form.
To do it, you must follow these steps :
— Creation of different types of credit vouchers (as GLPI dropdown) ;
— Creation, in Entity tab, of the credit vouchers available for these entities ;
— Declaration / Modification / Deletion of a consumption in the Ticket form and tab ;
— Consultation of the vouchers sold, the remaining credits, credits consumptions from the Ticket form or from
Entity tab.
35
GLPI plugins Documentation
9.3 Configuration
The plugin will create required tables in the database automatically. Those tables will be updated along with the plugin.
Plugin usage is quite simple :
You will access the credit configuration from the Administration > Entities.
When you solved a ticket, solution form have field to to consume credit
36 Chapitre 9. Credit
GLPI plugins Documentation
On the ticket form, click on the Credit tab to view a report on credit consumption
38 Chapitre 9. Credit
CHAPITRE 10
Generic Object
10.1 Pré-requis
10.2 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.
39
GLPI plugins Documentation
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.
— 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
10.5 Utilisation
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>";
<?php
// <GLPI_ROOT>/files/_plugins/genericobject/locales/<itemtype>/<itemtype>.en_GB.php
$LANG['genericobject']['fields']['<itemtype>'] = "<type's label>";
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.)
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
10.5. Utilisation 41
GLPI plugins Documentation
— 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 :
Intégration assistance
Note : Les nouveaux champs seront disponibles pour tous les types d’objets.
<?php
global $GO_FIELDS, $LANG;
<?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).
<?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;
<?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.
10.5.8 Ajout d’un champ liste déroulante basé sur les objets du coeur de GLPI (uti-
lisateur, 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.
10.5. Utilisation 43
GLPI plugins Documentation
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
<?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
<?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;
<?php
$GO_FIELDS['mybooleanfield']['name'] = 'My boolean field';
$GO_FIELDS['mybooleanfield']['input_type'] = 'bool';
<?php
$GO_FIELDS['creationdate']['name'] = $LANG['genericobject']['fields'][30];
$GO_FIELDS['creationdate']['input_type'] = 'date';
<?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;
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.
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.
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
10.9.2 É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
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.
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';
$GO_FIELDS['reformed']['input_type'] = 'bool';
$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_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';
?>
<?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";
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
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)
Note : Avec ces paramètres, les utilisateurs avec le profil Admin_biomed voient uniquement Biomedical dans le menu
Parc
1. Créer l’entité Biomed sous l'Entité Racine dans Administration > Entités
2. Configurer les règles d’habilitations pour assigner le profil Admin_biomed aux utilisateurs de l’entité Biomed
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.
Order
11.1 Requirements
11.2 Features
51
GLPI plugins Documentation
11.4 Configuration
You will access the plugin configuration from the Setup > Plugins > Orders managment.
When the plugin is installed and enabled, the following options are available :
— Default VAT : indicates the amount of VAT that will be proposed by default in the plugin
— Use the validation process : indicates whether the full validation circuit should be used, or whether anyone can
validate applications.
— Purchase order generation : indicates if the tab allowing the generation of a purchase order in ODT format is
displayed or not.
— Enable supplier quality : indicates whether the tab for judging supplier satisfaction is displayed once the order
is delivered.
— Display purchase order vendor information : Shows whether or not the tab for storing the reference and vendor
purchase order number is displayed.
— Colour when the estimated delivery date is exceeded : colour of display in the search engine of an undelivered
order for which the estimated delivery date is exceeded
— Copy order documents when a new item is created : Copy order documents to generated item
— Default heading when adding a document to an order : define default heading
— Author group (Default values) : Define default author
— Recipient group (Default values) : Define defaut Recipient group
— Recipient (Default values) : Define default Recipient
Generation does not apply to contracts, cartridges and consumables. In order to activate this feature, change the op-
tion Activate automatic generation to yes and validate. During the generation, the material will be created with some
randomly generated information :
— Default name
— Default Serial Number
— Default inventory number
— If a template is associated with the part number, and in this template the name and serial number are generated,
then the settings defined above for these 2 fields do not apply.
The default status will be set when the material is created. The positioning of the status during the creation of the
material can lead to a date filling of the financial information. See the Entity Inventory tab.
11.4. Configuration 53
GLPI plugins Documentation
You will access the reference catalogue from the Management > Orders > Products references.
The creation of product references is the prerequisite for order management. Any product to be ordered must be refe-
renced in the plugin catalog. When creating a product reference, the following fields must be filled in :
— Sub-entities : indicates if the reference will be visible in the current entity only or in the sub-entities as well.
— Name : name of the reference, as it will be displayed when managing an order (required)
— Manufacturer : the manufacturer of the product (not the supplier)
— Type of equipment : indicates what type of equipment we are dealing with
— Type : the type of the product
— Model : the model of the product
— Template : the GLPI template of the product if one already exists.
— comments : additional information on the reference
— Once the reference is created, it is then necessary to indicate from which supplier(s) the product is available, as
well as the price associated with it.
It is also possible to :
— Add related documents
— View history
You will access orders from the Management > Orders > Orders.
Once the reference catalogue has been created, it is now possible to add material orders. The fields to be filled in are :
— Sub-entities : indicates if the order is visible in the sub-entities
— Order name
— Order number (required)
— Date of order (required)
— Budget : The budget to which the purchase order is posted.
— Vendor purchase order number : Indicates the internal number for the purchase order at the vendor.
— Payment terms : free field (can contain for example 30 days end of month, 60 days end of month, etc)
— Billing number
— Supplier : the supplier with whom the order is placed. Only the catalogue references from this supplier may be
added to the order.
— Place of delivery of the order : indicates the place where the equipment will be delivered. This option has value
only in the entity in which the order is created.
— Description : description of the order
— Status : Indicates the current status of the purchase order in the release run.
— Estimated delivery date : indicates the indicative date by which the supplier must deliver the order.
It is also possible to :
— Define author and recipient
Note : it is possible to modify the price and the discount of a set of materials when the order is being edited. To do this,
simply double-click on one of these 2 fields, modify its value and then validate the change.
Once the order has been confirmed, the equipment can begin to be received. To do this, you must go to the Receiving
Equipment(s) tab. Each product is identified by a line with the following information :
— Product reference
— Number of equipment(s) received
— Number of material(s) related to inventory items in GLPI
— Unit price of the product (excl. VAT)
— Unit price of the product (incl. VAT)
— Price per unit awarded (excl. VAT)
By clicking on the + icon on the left of the line, it is possible to access the details of the products ordered.
It is possible to receive the material that has been ordered, from the moment the order is validated. You have to go to the
tab Reception of material(s). One line is displayed for each product reference ordered. This line contains the following
information :
— Product reference
— Received equipment(s) : indicates the number of equipment received out of the total number of equipment
ordered for this product.
— Related equipment(s) : number of goods received related to inventory items in GLPI
— Price per unit (excl. VAT)
— Unit price (incl. VAT)
— Price per unit awarded (excl. VAT)
In order to proceed to the reception of products, just click on the + icon on the left of the line.
There are 2 ways to receive material :
— Reception of materials selected from the list of products ordered but not yet received
— Receipt of materials in bulk : in this case we will indicate how many products are received (without first selecting
from the list).
In both cases, it is necessary to return the delivery note associated with the reception of the material. Alternatively, a
status of the received objects can be indicated (e.g. Conforming, Non-conforming, etc). Once received, it is possible
to :
— Generate a material in GLPI from the received product
— Link the product received to existing GLPI equipment
In order to generate materials from received products, simply select from the list those for which this operation is to be
performed. Then select the Generate associated material option. A screen will appear. Each line represents a received
product, and the following information must be given :
— Name of the material generated in GLPI
— Serial code
— Asset number
Note :
— If there is a template associated with the reference of the generated product, and if the latter is created in the
same entity as the reference, then the inventory object in GLPI will be created from this template.
— The financial information of the order will be carried in the newly created inventory object.
It is possible not to generate a received product, but to link it to material already present in GLPI. To do this, you must
select the option Link to an existing material. A drop-down list will appear and will present all the materials present in
GLPI which :
— Are in the entity of the order (or in a sub-entity if the order is visible in the sub-entities)
— With the same type of equipment
— With the same type of equipment
— Identical
Once linked to a product, the material in GLPI will receive the financial information from the order.
The plugin rights management allows to define, by profile, if the user has the right to :
— Manage commands
— Manage product references
— Manage invoices
— Confirm an order
— Cancel an order
— Modify a validated order
Champs additionnels
12.1 Pré-requis
Ce plugin requiert :
— GLPi 0.85 ou supérieur
— PHP 5.4 ou supérieur lorsqu’il est utilisé avec GLPI 9.1, et PHP 5.5 ou supérieur lorsqu’il est utilisé avec une
version antérieure de GLPI.
12.2 Fonctionnalités
61
GLPI plugins Documentation
— Décompresser l’archive.
— Déplacer le répertoire fields dans le répertoire <GLPI_ROOT>/plugins`.
— Aller à la page Configuration > Plugins,
— Installer et activer le plugin.
12.4 Utilisation
Le plugin va créer les tables requises dans la base de données ainsi que certains fichiers sur le disque (dans
<GLPI_ROOT>/files/_plugins/fields) automatiquement. Ces fichiers et tables seront mis à jour avec le plugin.
L’utilisation du plugin est relativement simple :
— créer un bloc lié avec des objets,
— créer des champs dans ce bloc.
Vous accéderez à la configuration du plugin via le menu Configuration > Champs supplémentaires
— Libellé : le libellé du bloc qui sera affichée sur les formulaires des objets,
— Type : le type d’affichage, parmi :
— Ajout d’un onglet : ajoutera un nouvel onglet sur le formulaire de l’objet qui contient le bloc,
— Insertion dans le formulaire : ajoutera le bloc en bas du formulaire principal de l’objet,
— Insertion dans le formulaire d’un onglet spécifique : ajoutera le bloc en bas d’un onglet spécifique de l’objet.
— Type d’élément associé : une liste de types sur lesquels le bloc sera ajouté,
— Actif : si le bloc est actif ou non.
Note : Vous ne pouvez ajouter qu’un seul bloc de type Insertion dans le formulaire pour un type d’objet associé.
L’ajout d’un bloc dans un onglet spécifique n’est possible que pour un seul objet :
Une fois le bloc créé, il est possible de changer son libellé ou son étét actif, mais pas son type ni la liste des éléments
associés.
Profils
Pour pouvez affiner les accès des profils en utilisant l’onglet Profils du bloc. Vous aurez la possibilité de choisir entre
Pas d’accès, Lecture ou Écriture pour chaque profil existant.
— Libellé : le libellé du bloc qui sera affichée sur les formulaires des objets,
— Type type du champ, parmi :
— Entête : un intitulé d’en-tête, pour une distinction visuelle,
— Texte (ligne simple) : une ligne de texte simple (input/@type=text)
— Texte (lignes multiples) : un champ de texte multilignes (textarea)
12.4. Utilisation 63
GLPI plugins Documentation
Avertissement : Bien entendu, il vous faudra prêter attention en modifiant les différentes options. . . Si par exemple,
vous définissez un champ obligatoire et en lecture seule, et que vous ne définissez pas de valeur par défaut, la
validation du formulaire échouera.
Un autre exemple : si vous définissez une valeur texte par défaut pour un champ nombre. . . Ce genre de choses ;)
Une fois les champs créés, vous pouvez les réorganiser ou les modifier depuis l’onglet champs du bloc :
12.5 Recherche
Tous les champs qui ont été ajoutés sont disponibles dans les recherches des objets attachés.
Les seuls blocs attachés à des tickets et de type Insertion dans le formulaire seront affichés dans l’interface simplifiée.
Bien sûr, les droits du profil courant seront également pris en compte !
12.7 Traductions
12.5. Recherche 65
GLPI plugins Documentation
Lors de la création d’un bloc, une nouvelle traduction dans la langue courante sera ajoutée avec le libellé renseigné
sera créée ; vous pouvez ajouter autant de traductions que vous le souhaitez.
Les valeurs des listes déroulantes peuvent être traduites en utilisant la configuration des intitulés du cœur.
Avertissement : Dans GLPI 9.1.1 ; certains problèmes empêchent la traduction des valeurs des listes déroulantes ;
la possibilité a donc été désactivée dans le plugin. Elle sera réactivée lorsque le cœur aura été corrigé.
12.8 Entités
Si vous utilisez des entités dans votre instance de GLPI, un bloc ne sera affiché que si l’entité à laquelle il est attaché
correspond est compatible avec celle de l’objet auquel il s’applique.
Lorsque vous créez ou modifiez un bloc en mode multi-entités, vous devrez choisir s’il sera accessible depuis les entités
enfants.
12.8. Entités 67
GLPI plugins Documentation
Uninstall
13.2 Features
This plugin, named « uninstall » or « Item Uninstallation », allows you to remove / replace devices from the inventory
by automating certain actions on the fields.
It allows to manage the different stages of the life cycle of a hardware. It has been designed, among other things, to
handle the following cases :
— scrapping of equipment
— removal from inventory of temporary equipment due to breakdown
— Replacement of equipment under a warranty for example (See : Replacement Equipment Feature)
Once installed, the plugin includes :
— a rights management directly accessible from Administration -> Profiles (in the Plugins tab -> uninstall),
— a « hardware uninstall » menu in « Configuration »,
— an « uninstall » menu in the user preferences.
69
GLPI plugins Documentation
It is possible to deny access to the plugin or to allow it by specifying the read or write option on the templates.
To do this, simply go to the menu « Administration » > « Profiles », to select the profile you wish to modify, then in the
« Uninstallation » tab set the following options :
— No access : the plugin does not appear in the menu “Plugin”.
— Playback : only the use of previously created templates is possible
— Writing : Template creation is possible.
— Hardware replacement : standard hardware replacement is possible
This functionality of the plugin “Item Uninstallation” adds the possibility of modifying the value of certain fields and
of removing the inventory of a computer of the OCS base or the cleaning of the FusionInventory tables.
The uninstall templates can be accessed in the « Administration > Uninstall Hardware » menu.
You can create as many uninstall templates as you want. Each template can contain different features, and be visible in
the sub-entities or not.
Uninstall equipment is a transfer of the equipment to itself. During its transfer, a certain number of actions are perfor-
med, as specified in the definition of transfer.
— Remove IP & Gateway & Hacker & Subnet : removes network information (except for the MAC address, which
is hardware-related) during uninstallation
— Remove the machine from OCS : when uninstalling a computer in GLPI, remove from the OCS base the corres-
ponding machine
— Delete FusionInventory info : Delete all FusionInventory info for this material
It is possible to change the location of the hardware once it has been uninstalled. This selection is made either :
— in the hardware file, once the uninstallation model has been chosen.
— from the user’s preferences for uninstallation by massive modification
It should be noted that a location is declared within an entity. It is therefore possible, depending on the current entity,
to define an uninstall location.
This feature of the “Item Uninstallation” plugin adds the possibility to replace one hardware by another.
Replacement models are managed in the same way as uninstall models : They are accessible in the menu « Adminis-
tration > Uninstall hardware ». Each model can contain different characteristics, and be visible in the sub-entities or
not.
In this form there are 4 tabs : * Main : allows to display on the page only the main information of the template. *
Replacing data : displays the various actions to be performed when replacing one piece of equipment with another. *
All : displays all the tabs on the same page
— Copy name : allows you to define if you want to copy the name of the old hardware to the new one.
— Copy the serial number : Allows you to define if you wish to copy the serial number of the old equipment to
the new one.
— Copy the inventory number : allows you to define if you want to copy the inventory number of the old equipment
to the new one.
— Overwrite information (from the old material to the new one) : this option allows you to choose the behavior to
adopt if one of the unique information (Reservation, Financial Information, Name, Serial, Otherserial, Entity. . .)
is present in the old material AND in the new material : Yes : by selecting YES, the information in the old material
will replace that in the new material. No : by selecting NO, the information of the new hardware will NEVER
be overwritten by the information of the old hardware.
Method of archiving old material
In this option, we define the behavior that the uninstall plugin must adopt with the old hardware :
— Purge + PDF / CSV : if you have the PDF plugin the old hardware will be purged from the GLPI database and
its information will be attached to the new hardware in a PDF document. If you do not have the PDF plugin,
they will be stored in CSV format.
— Deletion + Comments : the old hardware is put in the trash and a comment is added in each of the two hardware
(« This hardware has been replaced by. . . » and « This hardware has replaced the hardware. . . »).
Data location - Connection with other hardware
— Copy Documents : Allows you to attach documents from old equipment to new equipment.
— Copy Contracts : allows you to attach the contracts from the old equipment to the new equipment.
— Copy financial information : allows you to attach financial information from the old equipment to the new
equipment. Warning : if the « Overwrite information » option is activated, even if the new hardware has financial
information, it will be replaced by the old hardware.
— Copy Reservations : Allows you to attach the reservations made on the old equipment to the new equipment.
Attention : same remark as for the financial information.
— Copy the user : allows you to pass on the user of the old equipment to the new one. Caution : same remark as
for the financial information.
— Copy group : Allows you to assign the group of the old equipment to the new equipment. Caution : same remark
as for the financial information.
— Copy the tickets : Allows you to attach the tickets of the old equipment to the new equipment.
— Copy network connections : Allows you to transfer the network connections from the old hardware to the new
hardware.
— Copy direct connections : Allows you to transfer the direct connections (Monitor, Printer, Device, Phone) from
the old hardware to the new hardware.
It is possible to change the location of the equipment once it has been replaced. This selection is made either : * in the
equipment sheet, once the replacement model has been chosen, * from the user’s preferences for massive modification
replacement.
Note that a location is declared within an entity. It is therefore possible, depending on the current entity, to define a
replacement location.
Form creator
14.1 Features
75
GLPI plugins Documentation
Avertissement : The plugin’s directory must have the same name as the plugin :
— Good : glpi/plugins/formcreator
— Bad : glpi/plugins/formcreator-master
— Bad : glpi/plugins/formcreator-0.90-1.3.2
Only one directory must contains the plugin’s files of a single plugin in the GLPI plugins directory. Don’t rename
the plugin’s directory for backup, move it !
Note : All entity settings for Formcreator propagate to sub entities by default. The administrator may change the settings
in a sub entities to break inheritance.
14.3.1 Overview
The service catalog shows several counters on the top left corner. Those counters show all requests involving the current
user as a author, requester, observer, assigned or validator.
The requests displayed here are
— tickets created without Formcreator
— tickets generated by forms havung only one target tickets
— form answers when the form has no target ticket
— form answers when the form has several target tickets
The request are spread over 4 counters
— processing
— pending
— to validate
— closed
When users are allowed to view RSS feds, the service catalog shows a menu entry on the left to access them. RSS feeds
administration is done in GLPI as usual.
14.3.3 Reservations
Users may book an asset with GLPI’s reservation system, avaialble in the left menu of the service catalog.
Note : The right to create forms is enabled to the profiles having the right to update entities in GLPI. Refer to the
documentation of GLPI to know how to setup this right.
Note : Forms must be created in the entities where they are intended to be available. A form may be available in its
entity and all sub entities if the field Child entities is set to Yes.
Note : Form categories are plugin’s dropdowns. You can add form categories directly when editing a form using the +
next to category field. You can do the same from Configuration > Dropdowns > Form category.
— Direct access on homepage : Direct access to the form from the GLPI’s simplified interface.
— Description : displays in the list forms.
— Language : by default a form is set to the language of its creator. The form will be available only to users using
the same language as the form. Choose All languages to make the form available to users without language
restriction.
— Header : displays when the form is displayed.
— Need to be validate : If Yes a list of validators is displayed. This is a list of GLPI users (with the right Validate
an incident or Validate a request (in its profile) on a compatible entity with the form’s entity. The list of
validators is a multiple choice list. If no validator is selected all of them are submitted when the form is being
used.
— Default form in service catalog : if Yes the form will display in the service catalog without being filtered by
the current category or keywords.
When all fields are filled, click on the add button at the bottom of the page.
Note : Deleting a form is possible only if there are no associated answers. To delete a form, delete all its answers first
from the Form answers tab.
14.4.2 Sections
You must create a first section. Sections are intended to organize questions in the form.
It is possible to setup conditions to show the whole section, based on the answers provided to questions located in other
sections of the form.
14.4.3 Questions
A question is made of :
— a title : this is the label of the question in the form.
— a type : see list below.
— a section : the section containing the question. You can move a question to an other section with this field.
— a description : it is displayed under the question in the form. Use it as a hint for the requester, telling him which
content is expected.
— a dropdown list Show field to enable a condition
, or optional
Questions are organized on a 4 columns array. You can resize width of questions, reorder them using drag and drop and
put up to 4 questions on the same row.
There are about twenty types of questions available. Depending on the chosen type, you need to provide additional
information.
Note :
— Required : Yes/No. When running the form a red star shows next to label of questions requiring an input.
— Default values : its content depends on the type of the question.
— Range Min/Max : Restricts the value to the given range when running the form.
— Additional validation (Regular expression) : You may set a custom regex with a regular expression. Use it
when other restriction methods cannot satisfy your needs. Don’t forget to specify the delimiters of the regex.
You may add any modifier after the closing delimiter.
Actors
Add a line per value in Values. Default values may be set in Default values, one per line. If this field is empty, no
checkbox will be ticked.
This field allows to select a date, a datetime or a time from a mini calendar.
Description
This field only displays information. Use it to give more details about a question.
Dropdown
This field allows the user to choose a value among those available in a dropdown from GLPI (in Configuration >
Dropdowns).
The answer to this type of field must be a syntactically valid email address.
File
Float
This field must be a float value. Note you may use a regular expression to tighter restrict the answer.
GLPI Object
This field allows you to build a dropdown from a GLPI object among those available in the menus :
— Assets
— Assistance
— Management
— Tools
— Administration
Hidden field
This field is hidden and allows to retrieve an arbitrary value when generating the target (ticket or change).
Hostname
This field is invisible. It allows to get the hostname of the computer used by the requester, assuming the DNS is able to
properly resolve it from its IP address
Integer
This field must be an integer value. Note you may use a regular expression to tighter restrict the answer.
IP Address
This field is hidden and collects the IP address of the form requester. It does not show in the form.
LDAP select
This field allows you to create a dropdown list with objects from a LDAP directory :
This field allows you to create a dropdown list with ability to select multiple items. Values are added one per line in the
field Values. You may set default values, one per line in Default values*. If no default value is set then no item will be
selected by default.
Request type
This field is a dropdown with « Incident » or « Request » choices. It can be used to set the request type of a ticket being
generated by the form.
Add a line per value in Values. A default value may be set in Default value. If this field is empty, no radio will be
selected.
This field allows you to create a dropdown list and set its items. Items are added one per line in Values. Default value
may be set in Default value. If there is no default, no item is selected by default.
Tags
This is a hidden field to add a tag to the form for future processing.
Note : This type of field is only available when the plugin Tag is installed and enabled.
Text
Text area
Urgency
14.4.5 Conditions
Conditions are expressions involving questions and sections which are evaluated in order to determine
— if a question is displayed
— if a section is displayed
— if the submit button of a form is displayed
— if a target (see below) must be generated
Available operators in an assertion are :
— equals
— not equals
— less than
— greater than
— less than or equal
— greater than or equal
— is visible
— is not visible
— matches a regular expression
The condition expression can be used with the following rules :
— Hidden unless : the item is hidden or not generated except when the expression is true
— Displayed unless : the item is displayed or generated except when the expression is true
Note : Captchas are not enabled by default on anonymous forms. Administrators need to enabled them explicitly
depending on how the form may be accessible from an hostile network such Internet.
14.4.7 Targets
Choose a target name and type, then validate. The new target is created and is available for tuning.
14.4.8 Preview
This tab allows you to view how the form will be rendered and test it without activating it.
Note : Submitting answers from the preview will be actually saved, and will generate targets if the form is not configured
with validation.
Note : To delete a form, all its answers must be deleted first. A warning shows at the bottom of the main tab of a form
as a reminder.
14.4.10 Categories
Note : Dropdowns translation must be enabled on GLPI general configuration page Setup > General, General setup
> Translate dropdowns = Yes
Note : Categories may be associated to Knowledge base categories. This link is necessary to allow FAQ entries to
show along your forms.
Configuration
Render
14.4.11 Questions
After the creation of a form, create fields for the user to fill out.
The name of the questions will appear on the left and the field type selected on the right.
The Description will be under the input field.
Additional options may be displayed depending on the currently selected question type.
If validation of the input is desired, it can be implemented following PHP Regular Expressions.
If you want to show or hide questions depending on the answers of other questions, use the show fields area when editing
a question. In the version 2.5.0 you may use more complex expressions checking for the content of several questions,
and use logic operator OR and AND. The precedence of boolean operators applies, meaning that AND has precedence
over OR.
14.4.12 Translation
In some cases a form should be available in several languages. Choose first in which language a form should be created.
This language should be english (US or UK) or the language that most of target users understand. This is the fallback
language if no alternative is found.
This language is also used as reference in the translation process. Then be sure that the chosen language is readable by
the user who will translate the form.
To translate a form open the tab Form languages, then create all languages you need to provide to users.
Choose a language added to the form and click it to begin or resume translation, then select the tab Translations. Click
the button New translation and a popup dialog will open and show a string to translate. Type the translation, and click
save or validate with Enter on your keyboard.
If another string must be translated, it will show immediately. If no more string needs to be translated, a message will
show instead.
When you close the dialog the list of translated strings is refreshed. You can edit a translation by clicking on it, delete
one or several translations with the checkboxes on the left of the list and the Delete button**. You can also filter the
list with the filter input box.
14.5 Targets
Targets are objects generated by FormCreator submission. If a form requires validation, the targets are delayed until
approbation.
A target ticket defines the ticket generated by the form. You may have several targets per form.
Open the tab Destination and create a target with a name and a type (currently ticket only).
14.5. Targets 93
GLPI plugins Documentation
The ticket is build from scratch or from a ticket template available in GLPI. You may
— customize the name of the target ticket to distinguish it from possible other targets,
— customize the title and description of the ticket using questions and answers,
— set tne destination entity of the generated ticket,
— set a time to resomve (formerly due date),
— set the type of ticket (request or incident),
— set the associated elements,
— set the category,
— set the urgency,
— set the location,
— assign tags to the ticket if the plugin Tags is available,
— link the generated ticket to other tickets
— define actors of the ticket.
— define conditions to meet to generate the target ticket
Note : Setting an urgency, a category or a location (specific or from a question) overrides the urgency defined in a
ticket template (if any)
Destination entity
— From a GLPI object > Entity type question answer : the entity choosen by the requester from a question.
Note : Default requester’s entity may be not set, then there is a risk to generate tickets in the root entity.
Note : Default entity of the validator may be not set, then there is a risk to generate tickets in the root entity.
Note : Dynamic requester’s entity requires user synchronization, then there is a risk to generate tickets in the root
entity.
Ticket template
Sets predefined setings for the ticket from a template. All settings defined in the target ticket will override the values
found in the template.
Request type
Associated elements
Category
14.5. Targets 95
GLPI plugins Documentation
Urgency
— Urgency fro template or none : sets the urgency from a template if any and if this template has a predefined
urgency. None in all other cases,
— Specific urgency : an urgency set by the form’s designer
— Equals to the answer to a question : a category choosen by the requester,
Location
— Location from template or none : sets the location from a template if any and if this template has a predefined
location. None in all other cases,
— Specific location : a location set by the form’s designer
— Equals to the answer to a question : a category choosen by the requester,
The form’s designer may restrict creation of the ticket depending on conditions.
Target ticket and target change both have description template. By default the template uses the tag ##FULLFORM##.
This tag is a default template where all questions and sections are displayed in the same order as the form.
Each question has 2 tags
— ##question_x## which is replaced by the label of the question. X is the ID of the question.
— ##answer_x## which is replaced by the answer to a question. X is the ID of the matching question.
Questions of type dropdown support more complex expression like ##answer_x.name##. x still means the ID of a
question. the word after the dot is the name of a property available in the search options of the itemtype of the dropdown
question.
As an example, consider a dropdown question which shows locations. The itemtype set by the form designer is « Loca-
tion ». The designer can render in the target many fields of the location selected by the requester, such address, postcode,
state, building, and many other data. To find them, the admin may rely on the list available in the search filters for a
location.
14.6.1 Abstract
The service catalog relies mostly on a list of issues (or assitance request). Issues are created and maintained upon events
related to tickets and form answers.
When a ticket is created from GLPI, then a new issue is created in the database. When this ticket is being updated, the
issue is updated to reflect all relevant changes.
Form answers are created when a requester fills a form and submits it. When a form answer is created a new issue is
created as well. As a form answer may or may not trigger the creation of tickets, issues behave differently depending
on this quantity of generated tickets.
When a ticket is created from GLPI, the issue reflects most useful information from this ticket.
When a form answer did not generate a ticket, or when the form answer generating tickets is waiting for validation, then
the issue reflects the form answer.
When a form answer trigered the creation of one and only one ticket, then the issue reflects this ticket. This is also true
when the approval of a form answer triggers the creation of a single ticket.
When a form answer generated several tickets, then the issue reflects a list of those tickets. Each ticket is viewable by
the requester, if he is granted to view it.
14.6.6 Status
Computation of status
Issues follow the lifecycle of tickets or form answers, depending on which object it reflects.
When an issue reflects a single ticket, its status takes into account the validation status of a ticket, if any. The validation
status of the ticket takes precedence when the ticket is not solved and waiting for approval or has been refused. For all
other cases, the issue shows the regular ticket status.
You may refer to the following table to have a quick view of how the status is computed :
Validation Status
NONE WAITING REFUSED ACCEPTED
Ticket INCOMING T V V T
Status ASSIGNED T V V T
PLANNED T V V T
WAITING T V V T
SOLVED T T T T
CLOSED T T T T
The search engine shows many statuses. Some are shortcuts to search several statuses at once, like tickets, some are
specific to the statuses of form answers.
— new : new issues
— processing (assigned) : processing issues
— processing (planned) : planned issues
— waiting : issues waiting for information from requester or waiting for validation by a valdiator
— solved : issues solved or refused by a validator
— closed : issues closed or accepted by a validator (this happens when no ticket has been generated after validation)
— not solved : all statuses but solved or closed
— not closed : all statuses but closed
— solved + closed : issues solved or closed
— all : any status
— accepted : issues accepted by a validator
— refused : isses refused by a validator
—
14.7.1 Abstract
14.7.2 Limitations
A form may contain relations to objects of GLPI itself (mostly users, groups, categories, entities). There is currently no
reliable way to maintain relations between forms and GLPI’s objects or assets accross instances. It is therefore highly
recommended to develop forms on a testing environemnt with a reasonably recent copy of the production database.
The export / import feature does not support importing forms accros different versions of Formcreator. The version
2.10 shows a warning if it detects a attempt of importing forms from a previous version. In version 2.11 such imports
are not allowed.
3. Select one or more JSON files created with the same version of Formcreator and validate.
4. Depending on the complexity and the quantity of forms the process may be slow. Please be patient.
5. Carefully check the messages when the import completes. You may get warnings and errors.
Entities
When Formcreator imports a form, it checks that the entity of the form exists and the user has right to update entities.
If not, the form is ignored and trigger a warning.
Form categories
The users and groups found in target actors must exist. If not, the import of the form will stop with an error, leading to
an incomplete form. Other forms will be imported.
14.8 Contributing
If you are a developer and want to code the fix yourself, just read the paragraph bellow. . .
But if you are not a developer or don’t want to develop fixes yourself, you can still help us by creating issues. Indicate
your GLPI and plugin’s version and steps to reproduce for a faster and easier fix.
14.8.3 Documentation
You can fork the documentation repository to add new contents or fix some issues in existing content.
Make your changes on your branch and then, ask for a pull request) to merge it into the repository.
14.8.4 Translations
If you want Formcreator to be available in your native language and have a little time, you can help us :
Join us on Transifex.
Current available languages : Czech (Czech Republic), English (United Kingdom) , French (France), German (Ger-
many), Hungarian (Hungary), Polish (Poland), Portuguese (Brazil), Romanian (Romania), Russian (Russia), Spanish
(Argentina), Turkish (Turkey)
14.9 Team
14.9.1 Developers
— Jérémy MOREAU,
— Alexandre Delaunay,
— François Legastelois,
— Thierry Bugier
14.9.2 Testers
— Manu1400,
— dgsn,
— Max6Devil,
— Kahalisto,
— satyan01,
— biet-j,
— reg25,
— Gilmor49,
— nblaisonneau,
— CHCI74,
— salgueirosa,
— jotafe,
— Ruiseart,
— babalou,
— blienard,
— proprux,
— ThedarksideoftheForce,
— AdAugustaPerAngusta,
— MaxG89,
— klodnitsky,
— consolko,
— Boris31,
— fire2418,
— osfrance,
— kaioisdead,
— KevinSupertramp,
— matth974,
— J-n-s,
— wawax,
— Sismic,
— nicholaseduardo
— and much more. . .
14.9.3 Translators
French (France)
— Jérémy MOREAU,
— Alexandre DELAUNAY,
— Walid Nouh,
— Thierry Bugier Pineau,
— Benoit Le Rohellec,
— Emmanuel Haguet
Turkish (Turkey)
— Kaya Zeren
— Jérémy MOREAU,
— Andrejs Klodnickis
Polish (Poland)
— Sismic,
— Ryszard Jeziorski,
— awiamo,
— Grzegorz Kaniewski
Russian (Russia)
— Alexey Petukhov,
— Igor Nikitin,
— Andrejs Klodnickis
Portuguese (Brazil)
Hungarian (Hungary)
— Laszlo Czirbesz]
Spanish (Argentina)
— Luis A. Uriarte
Romanian (Romania)
— Doru DEACONU
— David Stepan
Datainjection
15.2 Features
This plugin allows data import into GLPI using CSV files.
It allows to create models of injection for a future re-use. It’s been created in order to :
— Import data coming from others asset management softwares
— Inject electronic delivery forms
Data to be imported using the plugins are :
— Inventory data (except softwares and licenses),
— Management data (contract, contact, supplier),
— Configuration data (user, group, entity).
105
GLPI plugins Documentation
15.4 Configuration
You will access the datainjetion configuration from the Tool > File injection.
Clic here to manage model
Fist step you need te create model, for this example we import Computer
Clic here to create new model
Name;Type;Model;Manufactuer;serial
Desktop-ARTY;Desktop;Dell Inspiton;Samsung;567DFG45DFG
Laptop-QUER;Laptop;Dell XPS;Samsung;345UKB78DGH
For each column of your CSV file you must select the table and the corresponding field in GLPI
Note : You need to define link field. The plugin will search on this link field to known if object need to be added or
updated
The dropdown list contains other tables, which allows it to import, for example, the financial and administrative infor-
mations during computer import.
Each type of data (Computer, Monitor, User) have differents options to import other data
You can define additional data to be imported, it will be requested during import.
Each can be flag as manatory
You will access the model from the Tool > File injection.
Select a model, select CSV file, and run import
After import process, plugin show you result, clic on spere to get more details
Oauth IMAP
16.1 Fonctionnalités
113
GLPI plugins Documentation
Pour pouvoir établir une connexion à une boîte mail en utilisant l’authentification Oauth, vous devez au préalable
configurer votre Application Oauth IMAP :
— Enregistrez votre application externe sur la console de gestion du fournisseur de service ;
— Créez un élément dans Configuration > Applications Oauth IMAP en utilisant les champs id et secret de l’ap-
plication du fournisseur de service ;
— Copiez l’URL de retour depuis la page de configuration de l’Application Oauth IMAP et saisissez là dans la
console du fournisseur de service (GLPI sera appelé à la fin du processus d’authentification).
Une fois votre Application Oauth IMAP créée, yous devrez créer une autorisation qui sera utilisée lors de l’authentifi-
cation à votre boîte mail. Pour se faire, allez dans l’onglet Authorisation Oauth de votre Application Oauth IMAP, et
cliquez sur Créer une autorisation.
Vous pouvez créer une autorisation pour chacune des boîtes mail que vous souhaitez utiliser dans des collecteurs mail.
Quand vous créez une autorisation pour une boîte mail, toute autorisation existante pour cette même boîte est défaussée.
Pour s’authentifier via Oauth à votre collecteur mail, vous devez changer la configuration de celui-ci :
— choisissez vote Application Oauth IMAP dans la première liste déroulant des Options de connexion ;
— puis choisissez une autorisation existant dans la liste déroulante Identifiant ou choisissez Créer une autorisation
pour un autre utilisateur.
Translate
17.1 Introduction
The Translate plugin for GLPI is a handy tool designed to enhance multilingual communication within your GLPI.
Leveraging DeepL’s translation technology, this plugin provides a simple and effective solution for translating elements
in the ticket timeline, fostering seamless collaboration within international teams.
Whether you’re managing projects with teams scattered worldwide or simply aiming to facilitate communication with
users in different languages, the Translate plugin streamlines the translation process within your GLPI instance.
17.2 Features
17.3 Requirements
117
GLPI plugins Documentation
17.4 Operation
Translation of a ticket element is done by activating the translation button located at the top right of the element. The
target language will correspond to the user’s preferred language.
If the translation button does not appear, it may be due to various reasons :
— the plugin is not configured
— you do not have the right to translate
— your preferred language is not allowed in the configuration
— the element you want to translate is not allowed in the configuration
Once an element is translated, it will remain so until you request to undo the translation and display the original version.
Displaying the original version is done through the same button used to translate an element, located at the top right of
the element.
It is possible to translate the entire timeline at once. To do this, display the additional options menu at the bottom right,
next to the « Save » button. Then, click on « Translate all elements. »
If all timeline elements are translated and you want to display their original versions, display the additional options
menu at the bottom right, next to the « Save » button. Then, click on « Undo translation of all elements. »
It is possible to translate a follow-up before it is sent. To do this, write your follow-up and click on the drop-down menu
at the top right of the follow-up editing window. Finally, select the language in which the follow-up’s content should be
translated.
Once your follow-up is translated, you can revert to the original text by selecting the « Original » option in the previous
language selection menu.
This feature is also available for tasks, validation requests, and solutions.
If the translation menu does not appear, it may be due to various reasons :
— the plugin is not configured
— you do not have the right to translate
— the element you want to translate is not allowed in the configuration
To reduce character consumption and improve plugin performance, translations are saved in the database. This approach
allows sharing translations among all users, avoiding the need to translate the same element multiple times in the same
language.
Translation requests from a user for an element are also saved, automatically displaying the translated version when
returning to a ticket’s timeline.
If an element is modified, old translations will be considered obsolete. When a user requests a translation,
a new translation will be performed for that element.
The Translate plugin uses the DeepL translation service. For this, a DeepL API key is required. DeepL offers two API
plans, a free plan (limited to 500,000 characters per month) and a paid plan (at €4.99/month + €0.00002/character).
Both plans are supported by the plugin.
2. Select a plan
7. In the « Account » tab, retrieve your API key at the bottom of the page, in the « Authentication Key for DeepL
API » section
17.6 Configuration
Some configuration options are only available if the API key is linked to the paid plan.
Usage
This progress bar allows you to monitor character consumption at the API level.
Allows setting a maximum number of characters translated at once. This configuration is important and filters out overly
large and resource-consuming elements for the API.
Allows enabling API usage notifications. Once enabled, alert thresholds are configurable using the « Usage Threshold »
fields. Default value : Yes
Usage Threshold
This option allows setting usage alert thresholds. Requires enabling the « Enable API Usage Notifications » option.
Default values : 25%, 50%, 75%, 100%
17.7 Rights
This right defines whether a profile can translate timeline elements of a ticket (Ticket, Follow-up, Task, Solution,
Validation Request).
This right defines whether a profile can translate the content of a follow-up before sending.