Bonjour

Concernant la modification sur le framework Zimbra, il s'agit de refactoring ou de compression ? En tout cas, gagner en performance est déjà une bonne nouvelle.

Si je vous suis, si je souhaite disposer d'un FileManager dans une boîte, stable et avec la toolbar, il faut que je redéveloppe toutes les actions en m'aidant de l'API ? Je ne peux bénéficier que du Taglib ComplexTreeInclude ?

C'est dommage car le seul souci qu'il me restait c'est la redirection vers le fameux JSP de fermeture après chaque action.

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

Xavier Lawrence a écrit :

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 javascripts 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 <http://www.jahia.org/>     Product web site
www.jahia.net <http://www.jahia.net/>     Community web site
www.jahia.com <http://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 à