You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2009-09-22 09:37:07

Mikey
Member
Registered: 2009-07-20
Posts: 145

Dictionnaire "type d'ordinateur" - Dysfonctionnement d'une règle

Bonjour,
j'ai mis en place un dictionnaire de règle pour les types d'ordinateurs. Pour m'assurer de pouvoir rejouer le dictionnaire sans problème, j'ai créé en tant que règle l'ensemble des types que l'on souhaite garder (même ceux qu'on renseigne à la main comme les terminaux légers) et en dernier j'ai "Autres types d'ordinateurs" (pour tout ce qui n'aurait pas été recensé par les précédentes règles).
On a donc :
- Terminal léger : création manuelle
- SAN : création manuelle
- Serveur physique : création manuelle ou remontée auto de OCS = type contient "Main System Chassis"
- Machine virtuelle : remontée auto de OCS = type contient "Virtual Machine"
- PC : remontée auto de OCS = type contient "Desktop" OU "Mini tower" OU "Tower"
- Portable : remontée auto de OCS = type contient "Laptop" OU "Notebook" OU "Docking station" OU "Portable"
- Autres types d'ordinateurs : remontée auto de OCS pour tous les autres types = regex vérifie "./"
Cette règle étant en dernier, elle récupère tout ce qui n'est passé dans les autres. Lors du test unitaire de cette règle elle fonctionne bien, le test du moteur de règles donne également les résultats attendus.

Par contre, quand je fais "Rejouer le dictionnaire" pour balayer tout ce qui est déjà remonté, tout ce qui est vérifié par cette dernière règle est mis à blanc (Type : ---). j'ai d'abord pensé qu'il fallait créer au préalable le type "Autres types d'ordinateurs" pour qu'il le trouve au moment de l'affectation à un ordinateur, mais ça n'a rien changé, et mon nouveau type a même été effacé une fois le dictionnaire rejoué !
Autre test réalisé (sur une base de tests) : j'ai laissé seulement la dernière règle, j'ai rejoué le dictionnaire, et tous mes ordinateurs ont perdu leur type, et tous les types existants auparavant ont été supprimés ..

NB : si j'enlève cette règle de ma liste, tout fonctionne correctement, sauf que le regroupement des mes autres types remontés en auto ne se fait pas. Il semble donc que seule la dernière règle pose problème.

Bug ou mauvaise utilisation ?

Merci d'avance

Mikaël

Last edited by Mikey (2009-09-22 09:39:35)


Ubuntu 9.04 (jaunty) - sous VMWare
GNOME 2.26.1
Apache 2.2.11 - MySQL 5.0.75 - PHP 5.2.6
GLPI 0.72.1 / OCS Inventory NG 1.02

Offline

#2 2009-09-22 09:54:12

Mikey
Member
Registered: 2009-07-20
Posts: 145

Re: Dictionnaire "type d'ordinateur" - Dysfonctionnement d'une règle

Je crois avoir un semblant de réponse.
Le problème n'est pas sur le test de la règle, mais sur l'affectation de la valeur "Autres types d'ordinateurs" à "Type".
Si j'affecte la valeur "Autre" au lieu de "Autres types d'ordinateurs", ça fonctionne.

Bug lié à la longueur de la chaîne de caractères, ou au caractère ' (apostrophe) ? En tout cas, pas de problème si on crée manuellement ce type, il est bien pris en compte.

Mikaël


Ubuntu 9.04 (jaunty) - sous VMWare
GNOME 2.26.1
Apache 2.2.11 - MySQL 5.0.75 - PHP 5.2.6
GLPI 0.72.1 / OCS Inventory NG 1.02

Offline

#3 2009-09-22 10:13:39

Mikey
Member
Registered: 2009-07-20
Posts: 145

Re: Dictionnaire "type d'ordinateur" - Dysfonctionnement d'une règle

Apparemment c'est bien l'apostrophe qui crée ce dysfonctionnement. J'ai essayé avec une chaîne longue  et ça fonctionne très bien.
J'ai également essayé avec une chaîne contenant un accent et c'est OK.

Reste un problème : si un type n'est pas renseigné (à vide), il n'est pas mise à jour par le dictionnaire. Par contre si je teste la chaîne vide ma dernière règle est bien validée. J'ai ajouté le critère suivant à ma règle (avec opérateur logique OU) mais ça ne change rien (test de chaîne vide) :
Type     regex vérifie      "/^"

Comment faire ?

Last edited by Mikey (2009-09-22 10:14:20)


Ubuntu 9.04 (jaunty) - sous VMWare
GNOME 2.26.1
Apache 2.2.11 - MySQL 5.0.75 - PHP 5.2.6
GLPI 0.72.1 / OCS Inventory NG 1.02

Offline

#4 2009-09-22 10:28:25

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Dictionnaire "type d'ordinateur" - Dysfonctionnement d'une règle

> Apparemment c'est bien l'apostrophe

Il faudrait tester avec la dernière version, il y a eu une correction sur le problème d'apostrophe dans le moteur de règle

Sinon il faut se mettre en mode Debug et récupérer les traces (sql-errors.log) pour voir où ça pète exactement.

Pour le test de chaine vide, c'est /^$/  (/^/ sera vérifié par "toutes" les valeurs, vides ou non)

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#5 2009-09-22 16:29:17

Mikey
Member
Registered: 2009-07-20
Posts: 145

Re: Dictionnaire "type d'ordinateur" - Dysfonctionnement d'une règle

J'ai testé avec
type              Regex vérifie            "/^$/"
J'ai relancé mais ça n'a rien donné.
De toute façon, la règle
type              Regex vérifie            ".*"
doit me donner la chaîne vide également puisque * signifie 0 ou n fois
Donc je suis passé en mode debug. J'ai rejoué le dictionnaire, mais aucune ligne en rouge sur l'écran debug, et aucun fichier sql-errors.log sous glpi/files/_log...
Une autre idée ?

Merci

Mikaël

Il semble que ma règle ne fasse donc pas planter

Last edited by Mikey (2009-10-02 09:40:55)


Ubuntu 9.04 (jaunty) - sous VMWare
GNOME 2.26.1
Apache 2.2.11 - MySQL 5.0.75 - PHP 5.2.6
GLPI 0.72.1 / OCS Inventory NG 1.02

Offline

Board footer

Powered by FluxBB