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/2710Cordialement, 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