Salut,

nous venons de développer un tel gabarit incluant l'arbre Webdav en Ajax dispo depuis l'interface du gestionnaire de fichier. ça a été un sacré boulot, notamment, la fameuse initialisation de la EngineHashMap nous a obligé à des tours de passe passe adaptés à notre cas d'usage. Bref la réponse n'est pas simple, je vais analyser vos problème et tenter d'apporter une réponse synthétique dans la journée.

Quelques limitations néanmoins: je n'ai pas intégré la toolbar mais seulement l'arbre; en effet, des erreurs javascript vraissemblablement dues à des URL cassées du fait de l'intégration de l'arbre hors de sa popup habituelle me laissait présager beaucoup de hacking javascript dans des fichiers volumineux et non documentés. Néanmoins j'ai par exemple trouvé un hack pour rétablir le fonctionnement de la popup d'info dans l'arbre. J'imagine que les autres actions de la toobar auraient requis des hacks similaires.

Enfin, je pense que ce 'tree view' ci en standard n'est pas une solution forcément intéressante: en effet, le nombre de fichiers javascript requis pour l'interface d'édition de Jahia est proprement hallucinant et par example totallement inadapté à certains niveaux de connectivité, notamment ceux de tous les pays en voie de développement. IMHO, Si un tel widget devait être développé, il faudrait peut être le faire avec un autre framework que Zimbra.

Par example, le genre de Tree View développé par Spinelz et basé sur des standards simples et répandus tels que Prototype et Scriptaculous me semblerait beaucoup plus sain, propre et plus véritablement open source:
http://script.spinelz.org/index_en.html  (puis demo>tree view)
remarque, dans ce cas il faudrait ajouter un call back AJAX via Prototype bien senti pour insérer le contenu du répertoire courant du webdav.

Bon, je me repenche sur la question et vous apporte les détails de notre implémentation le plus vite possible.

Cordialement,

Raphaël Valyi,
Smile.fr


From: Arnaud RUPIN <[EMAIL PROTECTED]>
Reply-To: <[email protected]>
To: [email protected]
Subject: Re: Box "FileManager"
Date: Fri, 05 Jan 2007 10:57:23 +0100

Bonjour

Je vous comprends : cela me semble tellement utile que j'attendais cette boîte en standard.
Je parle bien de boîte au sens Jahia du terme (box) et non pas de portlet.
Il s'agit d'une boîte comme le type "Portlet" est une boîte ou "Dernières actualités" est ue boîte.

Outre le développement adéquat d'une boîte Jahia, comme je voulais le même comportement que le Gestionnaire de Fichiers du mode édition, j'ai récupéré le code de engines/engine.jsp et de engines/filemanager/AjaxFileManager.jsp

A partir de là, comme je l'explique, je bute sur au moins deux choses :

1/ la gestion de l'EngineHashMap
J'ai des clés non valorisées. Je force donc les valeurs.
Par exemple je force engineUrl à engineUrl="/cms/Jahia/engineName/filemanager/site/"+jParams.getSiteKey()+"/op/edit/pid/"+jParams.getPageID();
Cela fonctionne mais cela ne me paraît pas propre du tout.

2/ Comportement des actions
Lorsque j'utilise une action disponible depuis la toolbar, j'ai à chaque fois une popup qui ne se ferme pas à la fin de cette action et qui a priori fait que l'IHM ne s'actualise pas (bien que l'action soit réalisée avec succès).

Je ne sais pas si 2/ est une conséquence de 1/

Quelqu'un aurait-il des idées pour résoudre/stabiliser cela ?

Merci beaucoup

--
Arnaud RUPIN
Rectorat de Rennes
SERvice Informatique Académique(SERIA)
Département Développement des TIC

Michael Mousset a écrit :
Bonjour, je suis interessé par ce dévellopement, pourriez vous m'en dire un peu plus sur la facon dont vous avez procédé pour ajouter cette boite, est-ce un portlet que vous avez créé?

Le 04/01/07, *Arnaud RUPIN* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> a écrit :

    Bonjour

    Il ne s'agit pas de bug mais de problème de développement.

    Je suis en train de développer une boîte donnant accès au WebDAV à
    partir du code du Gestionnaire de Fichiers (engines/engine.jsp +
    engines/filemanager/AjaxFileManager.jsp).

Mon but est que cette boîte permette à un utilisateur d'interagir avec
    le WebDAV comme on le fait en mode édition avec le Gestionaire de
    Fichiers.

J'arrive donc à une IHM identique à l'engine FileManager mais il semble
    qu'il ait des clés non valorisées dans le EngineMap que je récupère :
    final HashMap engineMap = (HashMap)
    request.getAttribute ("org.jahia.engines.EngineHashMap");

    Dans mon cas je récupère des valeurs null pour
    engineMap.get("fileManagerEngineUrl");
    engineMap.get("engineUrl");
    engineMap.get("screen");

J'arrive à forcer ces valeurs mais j'ai des comportements bizzares, par exemple lorsque je clique sur un bouton de la toolbar (upload de fichier
    par exemple), j'ai bien une popup qui s'ouvre pour me permettre
    d'effectuer l'action mais une fois l'action réalisée, une popup ne se
    ferme pas et le contenu de l'IHM WebDAV n'est pas actualisée. Il faut
    que je ferme cette popup et que j'actualise explicitement mon
    navigateur
    (pour voir mon nouveau fichier par exemple).
    Je ne sas pas trop à quoi cela est du.

Comment faire pour récupérer dans ma boîte un EngineHashMap correctement
    initialisé, svp ?
    Comment faire pour régler ce problème de popup, svp ?

    Merci

    --
    Arnaud RUPIN
    Rectorat de Rennes
    SERvice Informatique Académique(SERIA)
    Département Développement des TIC



_________________________________________________________________
Personnalisez votre Messenger avec Live.com http://www.windowslive.fr/livecom/

Répondre à