1) Le fichier AjaxFileManager.jsp:
Ce fichier est directement lié à un engine Jahia, en l'occurence, le DAVFileManager Engine. A priori, on ne peut pas simplement prendre le fichier jsp et espérer que cela fonctionne dans un box. La raison est que toutes les valeurs qui vous manquent dans le engineHashMap, sont initialisées par l'engine lui-même. Ensuite, si vos popups ne se ferment pas, c'est que justement vous n'êtes pas dans un context Engine alors que vous utilisez un jsp d'un engine. Dans le contexte d'un engine, une fois que vous cliquez sur OK dans une popup (par exemple: upload file), l'engine vas dispatcher la requête vers un autre jsp (close.jsp) qui va se charger de fermer la fenêtre. Il est donc "normal" qu'avec votre utilisation, vous n'arrivez pas à fermer vos popups.
2) Zimbra:
D'ici 2 jours, si tout va bien, nous aurons 1 seul fichier _javascript_ compressé contenant tout le code du framework. Cela fait passé la taille du fichier js de près de 1 MB,. à environ 1 centaine de Kb, améliorant ainsi drastiquement les temps de chargement et les performances.
3) Taglib CompexTreeInclude:
Finalement, le développement de l'arbre AJAX a été fait pour être facilement intégrable. Il existe pour cela un taglib qui fait tout le travail... Ainsi, il suffit d'appeler ce tag dans votre jsp, pour faire apparaître l'arbre. Je pense qu'il serait plus judicieux de développer si vous développer un nouveau box, il vous faudra un nouveau jsp.
Meilleures Salutations
X. Lawrence
At 11:43 05.01.2007, you wrote:
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/
Computer Science Engineer EPF, Master's Degree
Jahia: A collaborative source CMS and Portal Server
www.jahia.org Product web site
www.jahia.net Community web site
www.jahia.com Commercial services company
Jahia Solutions Group
Route des Jeunes 9
CH-1227 Les Acacias
Switzerland
Tel:
Fax:
