Bonjour,

Je me permets d'intervenir car j'ai déjà fait face à cette problématique et j'ai un script à proposer. Il n'a pas été développé par moi mais j'ai l'autorisation de vous le transmettre.

C'est un script php d'une centaine de lignes qui utilise la fonction de regroupement qu'on trouve dans le code de GLPI. Il regroupe tous les logiciels portant le même nom, mais pas nécessairement dans l'entité racine, seulement dans l'entité la plus basse (dans l'arbre) permettant le regroupement.

Il y a peut-être du nettoyage à faire mais normalement ça fonctionne (sur GLPI 0.72).

Cldt,
Maxime


MoYo a écrit :
  Bonjour,

je comprend bien le problème engendré par la gestion actuelle.
Nous n'avons pas vraiment fait attention à cela et je ne vois pas de solution simple à cette problématique à l'heure actuelle. Une solution serait de pouvoir directement définir l'entité de destination des logiciels. Que ce soit dans le moteur de règles des logiciels (dictionnaire) ou dans la configuration générale.

D'une manière générale avoir une option du genre : positionner tous les logiciels par défaut dans l'entité racine me semble une bonne idée pour une gestion globale de parc. C'est peut-être la solution la plus simple répondant au problème d'ailleurs.

Le seul problème c'est la migration de l'existant et votre script peut grandement aider pour cela.

Qu'en pensez vous ?
J'ouvre un ticket pour étudier le problème : https://forge.indepnet.net/issues/2710

Cordialement,

Julien Dombre




Le 30/03/2011 17:56, Guillaume Rousse a écrit :
Bonjour.

Dès que l'on utilise des entités, la gestion des logiciels devient
rapidement très fastidieuse, puisque les logiciels sont automatiquement
rattachés à la même entité que leur machine, et on obtient énormément de
duplication. Il faut manuellement transférer ces logiciels à l'entité
racine, leur attribuer une visibilité aux sous-entités, et les
fusionner. Ce qui est ingérable sur un parc: j'en suis à 5400 logiciels
recensés, dont 2/3 de duplicats.

Je viens de regarder comment corriger automatiquement le problème, en
manipulant directement la base de données. A priori, le problème se
traite de la façon suivante:

1) transfert à l'entité racine pour tous les logiciels:
passer le champ fk_entities à 0 partout dans la table glpi_software

2) activation de la visibilité aux sous-entités pour tous les logiciels:
passer le champ recursive à 1 partout dans la table glpi_software

3) fusion automatique des doublons
Un poil plus complexe, puisqu'il faut mettre à jour les autres tables
pointant vers la table glpi_software, qui semblent limitées à
glpi_softwarelicenses et glpi_softwareversions d'après mes observations

pour chaque entrée de la table glpi_software:
- pour chaque entrée de la table glpi_software avec le même nom et un
identifiant différent
 - passer le champ deleted à 1
 - passer le champ commentaire à 'Logiciel mis dans la corbeille'
 - mettre à jour la table glpi_softwareversions
 - mettre à jour la table glpi_softwarelicenses

Est-ce que ca parait raisonnable, ou j'ai manqué quelque chose ?

En cadeau, une première implémentation en Perl (je n'ai testé que la
détection des doublons, pas les modifications).


_______________________________________________
Glpi-user mailing list
Glpi-user@gna.org
https://mail.gna.org/listinfo/glpi-user


------------------------------------------------------------------------

_______________________________________________
Glpi-user mailing list
Glpi-user@gna.org
https://mail.gna.org/listinfo/glpi-user

<<attachment: consolidate_software.php>>

_______________________________________________
Glpi-user mailing list
Glpi-user@gna.org
https://mail.gna.org/listinfo/glpi-user

Reply via email to