Mon besoin est tout simple, en fait. :)
C'est de mettre à disposition des utilisateurs connectés une boîte
permettant d'interagir avec le WebDAV (dépôt de fichier, création de
répertoire, etc...). Un Porte-Document en fait.
Ceci sans que l'utilisateur n'ait besoin d'accéder au mode "édition"
(qui n'est destiné qu'aux contributeurs).
Comme le Gestionnaire de Fichiers du mode édition nous convient, je
m'étais orienté vers la récupération de son code sans avoir connaissance
des contraintes que vous avez exposées.
Au final, je ne cherche à faire qu'une boîte présentant ce Gestionnaire
de Fichiers (ou qqchose d'équivalent) ; boîte que nous pourrions alors
mettre dans n'importe quelle page.
--
Arnaud RUPIN
Rectorat de Rennes
SERvice Informatique Académique(SERIA)
Département Développement des TIC
Xavier Lawrence a écrit :
At 10:37 09.01.2007, you wrote:
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.
Il s'agit d'une compression du framework en 1 seul fichier gzippé. Un
refactoring au niveau du packaging mais pas au niveau des fonctionalités
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 ?
Non, je ne voulais pas dire cela... Ce que je dis que c'est que
derrière un fichier jsp lié à un engine, il y a tout un processing qui
est fait avant le dispatching vers ledit jsp. Nous utilisons déjà le
taglib complextree dans les templates pour afficher le sitemap. Il est
donc possible de le faire en dehors des engines... En revanche, le jsp
du sitemap des templates n'est pas le même que celui pour afficher
l'arbre des pages du site dans le Select_page engine par exemple,;tout
simplement, parce que le jsp de l'engine ne peut pas être mis comme cela
dans les templates.
Sinon, j'aimerai comprendre exactement ce que vous souhaitez faire.
L'utilisateur final doit si je comprends bien, pouvoir avoir accès au
filemanager ?
En quoi cela est-il différent du "gestionnaire de fichier" présent dans
Jahia dans les templates ?
A priori, vous pourriez utilisez quelque chose comme cela pour lancer le
gestionnaire de fichier:
<a
href="<%=jData.gui().html().drawAjaxFileManagerLauncher()%>">Gestionnaire
de fichiers</a>
Ensuite, il serait possible de donner un point d'entrée au lien pour que
le filemanager ne s'afficher qu'à partir d'un point de l'arbre.
Xavier
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/> < http://www.jahia.org/>
Product web site
www.jahia.net <http://www.jahia.net/> < http://www.jahia.net/>
Community web site
www.jahia.com <http://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
------------------=[ *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