Bonjour, vénérables glpiens!

j'en appelle aux plus connaissants d'entre vous, sur le modèle des entités
et sous-entités, et sur le concept de récursivité.
J'ai pris il y a quelques mois la responsabilité du plugin Room, qui
n'était plus supporté depuis la version 0.72.

Je l'ai porté en version 0.80.x au mieux de mes connaissances, mais comme
nous n'utilisons pas le concept de multi-entité ici (tous les inventaires,
tâches et utilisateurs sont déclarés / liés à l'entité-racine), je n'avais
pas testé le fonctionnement du plugin dans ce contexte.

Un bug m'a été soulevé, cependant. lorsqu'une salle est créée dans une
sous-entité, et indiquée comme récursive, une erreur survient lors du
chargement / affichage de celle-ci.

*PHP User Notice: *GLPI autoload : file
../../../plugins/room/inc/room_computer.class.php not founded trying to
load class 'PluginRoomRoom_Computer' in
C:\Apache2.2\htdocs\glpi_0807\inc\includes.php at line 98
*PHP User Notice: *GLPI autoload : file ../../../inc/unknown.class.php not
founded trying to load class 'UNKNOWN' in
C:\Apache2.2\htdocs\glpi_0807\inc\includes.php at line 98

 ( ! ) Fatal error: Class 'UNKNOWN' not found in
C:\Apache2.2\htdocs\glpi_0807\inc\commondbtm.class.php on line *1483*

L'erreur survient dans la méthode canUnrecurs() de la classe commondbtm, au
moment de vérifier si des sous-objets (dans ce cas-ci des ordinateurs) sont
liés à une entité parente.   GLPI tente de charger une classe
PluginRoomRoomComputer, laquelle n'existe pas.

J'aimerais avoir plus de détails sur ce qui doit être vérifié dans un cas
comme celui-ci;

   - sur quelles informations se base la méthode pour définir si une salle
   peut cesser d'être récursive ou pas;
   - pourquoi cette classe (sous-classe PluginRoomRoom_Computer) est
   essentielle à cet endroit alors que ça ne cause pas de problème dans tous
   scénarios si on n'a qu'une seule entité;
   - ce qu'implique la récursion d'un objet et le lien avec les entités.

Je suis programmeur, je comprends le principe de récusion au niveau
programmatique, mais je ne suis pas certain de l'application qui en est
faite ici.  Je suis aussi conscient que c'est une longue question à
développement, mais j'essaie simplement de rendre le plugin utilisable par
le plus grand nombre! :)

Merci beaucoup à qui voudra bien me consacrer les minutes requises, je suis
conscient que ma question nécessite plus de 2 lignes pour être répondue.


Pascal Marier-Dionne
_______________________________________________
Glpi-dev mailing list
[email protected]
https://mail.gna.org/listinfo/glpi-dev

Reply via email to