Le 12/07/2012 23:35, Pascal Marier-Dionne a écrit :
Bonjour Yllen, et merci pour la réponse, quoique plus courte que mes attentes! ;)

Est-ce à dire que je dois créer une classe room_computer.class.php pour représenter le lien entre une salle et les ordinateurs qui s'y trouvent? (Pour respecter la Règle de nommage des pages d'un plugin?)

Bonjour,

Oui, si vous avez une table représentant cette relation, il vous faut une classes gérant cette table. Vu que c'est une classe de relation, elle peut être une extension de CommonDBRelation (vous pouvez regarder Group_User du coeur par exemple). Etendre CommonDBRelation vous permettra de n'avoir quasiment rien à redéfinir.

Cordialement,

Julien Dombre



J'imaginais bien que mon problème trouvait sa source dans ce vaste chantier, mais j'aspirais à comprendre davantage les concepts manquants pour compléter la migration intelligemment.

Je crois que mes tables et objets respectent la nouvelle nomenclature, mais je ne sais pas à quel contrat / besoin devrait répondre la classe manquante.

Merci pour l'appui!

Pascal

Le 12 juillet 2012 16:49, nini.lasson <nini.las...@orange.fr <mailto:nini.las...@orange.fr>> a écrit :

    Bonjour,

    Pour vous aider, une documentation précise les opérations a
    effectuer entre chaque version de GLPI pour les plugins.

    Je pense que votre problème vient du gros changement de framework
    ayant eu lieu en 0.78.
    Pour vous aider :
    https://forge.indepnet.net/projects/plugins/wiki/Fr_Plugin072to078

    Cdt,
    Yllen

    Le 12/07/2012 21:05, Pascal Marier-Dionne a écrit :
    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
    Glpi-dev@gna.org  <mailto:Glpi-dev@gna.org>
    https://mail.gna.org/listinfo/glpi-dev





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


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

Reply via email to