Bonjour,

comme annoncé, sur la nightly build de la branche SP du jour, tout le framework zimbra et compressé en 1 seul fichier de 101 KB (au lieu de 1 MB). L'amélioration est notable....

Sinon, sans entrer dans les détails, les problèmes rencontrés et les vilains hacks que vous avez dû faire proviennent notamment du fait que vous utilisez un jsp lié à un engine dans un context de template.

Si vous n'utilisez pas la toolbar, et que vous souhaitez donc seulement présenter les fichiers à l'utilisateur, il n'est pas nécessaire de passer par le DAVFileManager engine, puisque vous ne faites aucune opération sur les fichiers. Dès lors, un jsp plus simple, incluant seulement l'arbre pourrait être développé, étant donné que les requêtes AJAX de chargement de l'arbre sont totalement indépendantes de l'engine de gestion des fichiers.

Xavier



At 17:55 08.01.2007, you wrote:
Salut,

dsl pour le retard, mais voici en gros comment j'ai procédé (cf la pièce jointe qui contient la portion intéressante du JSP crée pour plus de détails):

Il s'agit effectivement d'inclure le tag:
<div style="font-size:10px">
<ajax:complexTreeInclude divID="tree1"
   style="<%=ComplexTreeInclude.FILENAMAGER_STYLE%>" title="<%=title%>"
   entryPointKey="<%= defaultPath.equals("")? "/" : defaultPath%>"
   display="<%=display%>"
   expandTo="<%=("/".equals(path) ? null : path) %>" />
<br />
</div>

Tout comme comme dans jsp/jahia/engines/filemanager/AjaxFileManager.jsp. Cependant, il faut également copier les callbacks _javascript_s appropriés tels ceux présents dans AjaxFile Manager.

Cependant, Arnaud, j'ai bien eu ton problème avec engineUrl que j'ai forcé de la même manière que toi. Pour les autres valeurs de la EngineHashMap, je n'en avait pas besoin. Mais comme j'ai dit, j'ai pas inclu la toobar car nous n'en avions pas besoin.

De plus, il faut bien forcer l'inclusion des ressources _javascript_ requise en mode vue si vous voulez l'arbre en mode vue. Pour cela, je n'est pas trouvé mieux que la façon archi laide d'écrire:
<% if (request.getServletPath().endsWith("sitemap.jsp") || request.getServletPath().endsWith("CR_Centre_Extranet_Webdav_Integre.jsp")
     || request.getServletPath().endsWith("advsearchresult.jsp") || jData.gui().isEditMode() ) { %>
<ajax:zimbraInclude/>
<% } %>

dans Header.inc. Mais bon, le hack trop laid était déjà consommé pour le sitemap.jsp d'origine, donc ça m'a décomplexé :)

Attention, précision, notre gabarit comporte la subtilité suivante nous stockons le chemin à partir duquel il doit s'ouvrir dans un champ Jahia visible uniquement en mode contribution.

Néanmoins, nous avons le problème suivant: quand on choisi un autre chemin que "/", l'arbre ne montre pas le contenu du dossier courant, celui-ci semble vide. Il faut donc cliquer sur le dossier en cours pour que son contenu soit rafraichi par une requête AJAX. J'ai essayé tout ce que j'ai pu pour simuler un tel clique, je n'ai pas réussi; donc si quelqu'un à une solution (que ce soit pour simuler ce clic ou pour faire que l'arbre se load correctement d'office), je suis preneur.


Enfin, dans notre gabarit nous avons proposons également la recherche dans le webdav (fonctionnalité de jahia 5.0.1), je pense que ça serait délicat de vous fournir ce code là par contre, mais en gros sachez que nous avons du inclure toute la jsp de résultat de la recherche avancée (avec un flag pour savoir dans quel cas on se situe: recherche webdav par ce nouveau gabarit ou pas) et par ailleurs, pour initialiser la EngineHashMap, nous avons écrit du code spécifique:

jParams.setParameter(SearchEngineHelper.SEARCH_HANDLER, "advSearch");
   HashMap engineMap = SearchEngineHelper.initEngineMap(jParams, jData);
   Search_Engine.getInstance().processScreen(jParams, jData, engineMap);
   request.setAttribute("org.jahia.engines.EngineHashMap", engineMap);

où  SearchEngineHelper réalise sensiblement la même chose que l'initializeur utilisé par le searchEngine standard (mais là dsl je ne peux pas vous donner tout le code, je travaille pas chez Google (sinon j'utiliserais pas Jahia, Lol)). D'ailleurs, cet initializeur (dont je ne me rappel plus du nom désolé, est trop fermé (modifieurs private) pour pouvoir être étendu, ça devient galère...

Voilà pour notre expérience avec ce gabarit webdav, en espérant que cela vous serve. Cordialement,

Raphaël Valyi, ingénieur chez Smile.

PS: la jointure des fichiers _javascript_ en un seul semble très bien venue, en revanche, le fait que beacoup de ces fichiers ne travaillent pas ensemble mais de façon redondante (prototype VS zimbra) est bien dommage.

_________________________________________________________________
Découvrez le Blog heroic Fantaisy d'Eragon! http://eragon-heroic-fantasy.spaces.live.com/


------------------=[ xlawrence at jahia dot com ]=------------------
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:    +41 (22) 361 34 24
Fax:    +41 (22) 361 36 40

Répondre à