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