gestion des categories via dojo

View: New views
2 Messages — Rating Filter:   Alert me  

gestion des categories via dojo

by Madola Gérard Constantin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

*B*onjour,

On a récément travaillé sur la gestion des categories.
Sur l'ancienne version la gestion des categories pouvait etre coupée en
deux parties.

La partie faite par David qui est la gestion propre des catégories via
la vue-action tree-review (la visualisation des bookmarks par exemple)
cette partie est déja générique, il suffit en effet d'une méta
information au niveau du modèle ("treeNode=yes").

L'autre partie qui sert a categorisation d'un objet. Cette partie était
jusqu'a présent majoritairement en dur, et à l'affichage on
obtenait toujours l'arbre des catégories correspondant à la gestion html
du site openbluelab.

Certaines modifications ont étées faites sur les fichiers et requetes
associés à cette gestion.

Ainsi le nombre de paramètres nécéssaires à augmenté, voici la nouvelle
signature du procédé

Parameters.debug = si vrai, elle retourne la valeur des paramètres
Parameters.collection = la collection en base de données ou chercher les
éléments
Parameters.node = ??? parametre présent avant modification, il est
toujours vide
Parameters.nodeAttributeName = le nom de l'attribut  noeud
Parameters nodeName = le nom de la racine
Parameters junctionName = le nom de l'attribut sur lequel  faire la
jonction (rechercher le parent)
Paremeters doctype = le doctype des élements de l'arbre
actionPrefix et action suffix servent comme auparavent à construire le
javascript de l'arbre

Malgré ces modifications la gestion des catégories via un arbre ne
fonctionne pas correctement.

1) A l'affichage via l'action "tree-review"
Lorsqu'on selectione un noeud fils pour le modifier par exemple, le
navigateur retourne "erreur"

2)Lors de la selection d'une catégories a associé a un objet
Comme dans le cas (1) le navigateur retourne erreur

les problèmes (1) et (2) semblent etre liés. Si vous avez des pistes
n'hésiter pas





[gerard.madola.vcf]

begin:vcard
fn;quoted-printable:G=C3=A9rard Constantin Madola
n;quoted-printable:Madola;G=C3=A9rard Constantin
email;internet:gerard.madola@...
version:2.1
end:vcard



Re: gestion des categories via dojo

by Madola Gérard Constantin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Madola Gérard Constantin a écrit :

le problème semblait venir de cette portion de code de la query "tree-pathFromId.xq"

|--->

    let $title := collection($collection)
        / util:qname-index-lookup(xs:QName('docid'),$idMd5)/../meta/Category/name/text()
    return
        let $parentIdMd5 := collection($collection)
            / util:qname-index-lookup(xs:QName('docid'),$idMd5)/../meta/Category/treeNodeParent/text()
       return
            (: Il s'agit de la racine et donc du cas de base :)
          --->  if ($title=" / ") then<---
                ''
            (: Cas récursif :)
            else
                (t:getCategoryNameFromId($collection,$parentIdMd5),'/',$title)
};


<---|

Comme vous pouvez le voir sur la partie en gras, l'accès au données est encore en dur cette partie du code.
l'idéee est la suivante :

- remplacer "Category" par un paramètre "className"
- remplacer "treeNodeParent" par "junctionName" et "name" par "nodeAttributeName" (comme dans les modifications précédente)
- remplacer le "/" par le nom de la racine "nodeName"

ces remplacements auront pour effet de pouvoir selectionner la classe qui sera géré comme une category, mais il faut aussi modifier
la fonction Category.choose. Qui est je javascript qui appele treePathFromID.

Il faudrait donc que dans le processus, l'on puise passer en parametre a la query
- le nom de la classe de categories (reconstructible néanmoins directemnet depuis la query)
- le nom de l'attribut sur lequel faire la jonction
- le nom de l'attribut qui contient l'identifiant logique du noeud (nodeAttributeName)
- le nom de la racine de l'arbre (selon la classe ?)


Une solution temporaire a été adopté (concernant la souplesse du procédé)
- reconstruction du nom de la classe depuis la query
- "treeNodeParent" est la valeur par defaut de nodeAttributeName
- "name" est la valeur par défaut de nodeAttributeName
- la recupération dynamique du nom de la racine selon la classe me semble un peu flou
j'ai pris la convention des cas précédent, c-a-d le nom de la racine ="/" par défaut.

J'ai testé les modifications sur ma config, en testant la query or contexte j'obtient un bon résultat, la nouvelle implémentation me semble juste

Pourtant je n'arive toujours pas a selectioner des categories voici l"erreur que j'ai pu récuperer
:

->>
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowInternal.focus]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://demo.lan.openbluelab.org:9998/crud-engine/cud/DojoTree/category.xml :: onblur :: line 1" data: no]
load("load", Document , XMLHttpRequest)bootstrap-obl.js (line 1398)
doLoad(Object, XMLHttpRequest, "db-tamer/db/process/xmldb/xq/db/bluexml/xquery/tree-pathFromId.xq?xpath=obl.debug:false,obl.idMd5:20...", "", false)dojo.js (line 8034)
watchInFlight()dojo.js (line 8070)
undefined
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowInternal.focus]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://demo.lan.openbluelab.org:9998/crud-engine/cud/DojoTree/category.xml :: onblur :: line 1" data: no]
<<--

le problème pourait t'il venir de la target ? quelqu'un peut t'il valider les modifications effectuées jusqu'a présent ? un indice pour la suite ?
merci.

*B*onjour,

On a récément travaillé sur la gestion des categories.
Sur l'ancienne version la gestion des categories pouvait etre coupée en deux parties.

La partie faite par David qui est la gestion propre des catégories via la vue-action tree-review (la visualisation des bookmarks par exemple)
cette partie est déja générique, il suffit en effet d'une méta information au niveau du modèle ("treeNode=yes").

L'autre partie qui sert a categorisation d'un objet. Cette partie était jusqu'a présent majoritairement en dur, et à l'affichage on
obtenait toujours l'arbre des catégories correspondant à la gestion html du site openbluelab.

Certaines modifications ont étées faites sur les fichiers et requetes associés à cette gestion.

Ainsi le nombre de paramètres nécéssaires à augmenté, voici la nouvelle signature du procédé

Parameters.debug = si vrai, elle retourne la valeur des paramètres
Parameters.collection = la collection en base de données ou chercher les éléments
Parameters.node = ??? parametre présent avant modification, il est toujours vide
Parameters.nodeAttributeName = le nom de l'attribut  noeud
Parameters nodeName = le nom de la racine
Parameters junctionName = le nom de l'attribut sur lequel  faire la jonction (rechercher le parent)
Paremeters doctype = le doctype des élements de l'arbre
actionPrefix et action suffix servent comme auparavent à construire le javascript de l'arbre

Malgré ces modifications la gestion des catégories via un arbre ne fonctionne pas correctement.

1) A l'affichage via l'action "tree-review"
Lorsqu'on selectione un noeud fils pour le modifier par exemple, le navigateur retourne "erreur"

2)Lors de la selection d'une catégories a associé a un objet
Comme dans le cas (1) le navigateur retourne erreur

les problèmes (1) et (2) semblent etre liés. Si vous avez des pistes n'hésiter pas







[gerard.madola.vcf]

begin:vcard
fn;quoted-printable:G=C3=A9rard Constantin Madola
n;quoted-printable:Madola;G=C3=A9rard Constantin
email;internet:gerard.madola@...
version:2.1
end:vcard


LightInTheBox - Buy quality products at wholesale price