La meilleure solution pour les coplets est bookmark + cachingURI coplet. En effet, les autres solutions condamnent votre développement à utiliser le portail Cocoon, ce qui est intéressant mais limitatif.

Le fait que les informations apparaissent dans le bookmark est gênant mais ne représentent pas une difficulté trop importante à surmonter. On peut imaginer un transformateur qui s'occupe de 'crypter' à l'aide d'un algo symétrique les données qu'on peut ainsi récupérer à la racine du /portal/content, décrypter puis rediriger sur le portail via une redirection interne.

En outre, utiliser les bookmarks oblige à avoir une approche plus distribuée qu'avec les cl: et autres car on effectue un appel externe. C'est intéressant car cela permet d'envisager d'autres pistes pour la communication interportlet qui est finalement le problème sous-jacent.

C'est dans ce cadre que des architectures de communication de ce type sont imaginées (attention, j'ai regardé ces liens très rapidement) :
* http://www.doc.ic.ac.uk/~mo197/portlets/portlet_messaging/index.php
* https://www.dev.java.net/files/documents/1654/8898/tip1.html
* http://www-128.ibm.com/developerworks/websphere/library/techarticles/0505_scott/0505_scott.html

J'ai prévu de mettre en place pour BlueXML.org une architecture facilitant la communication interportlet car j'ai exactement les mêmes problèmes, mais je n'ai pas encore trouvé le temps nécessaire. Le Portlet Design Pattern devrait être mon prochain wiki :-)

Enfin, pour le back, quel est exactement son intérêt ? Pouvez-vous détailler votre cas d'utilisation ? Est-ce simplement par commodité ? Pour accéder plus rapidement aux données ?


PS : j'ai développé toute une machinerie pour faciliter la communication entre portlets via les bookmarks. Si ca vous intéresse, dites-le moi et je vous enverrai quelques infos et quelques liens sur les fichiers sur bluexml.org qui mettent cela en oeuvre.

Jean-chriostophe

Philippe Guillard a écrit :
Bonjour,

En effet j'ai realise ce matin l'explication exacte du probleme de la touche back est fourni dans la documentation sur les pageLabel. Le hic, c'est que les pageLabel ne concernent que les liens prevus a l'avance dans le portal.xml, c.a.d les elements du menu. Pour ce qui concerne la navigation a l'interieur du coplet, le choix ne peut se faire qu'entre cl:link, link normal evec event-link transformer, ou le bookmark. Avec la touche back le seul a retenir est le bookmark. En ce qui concerne le bookmark donc, le defaut, a part le fait qu'il faut redemarrer cocoon pour obtenir une nouvelle entree, est simplement le fait qu'il rajoute une redirection externe. Dans la reponse que m'a faite Philippe, il propose de transformer le pipeline avec redirection interne : le souci maintenant est que l'on laisse apparaitre le request qui est a l'interieur. (bookmark?mycopleturi=cocoon://myfolder/coplets/etc..). L'un des avantages a mon avis du portal (il faut me contredire sinon car je connais pas les portals) est de cacher toute la tuyauterie req-params etc.. offrant plus de robustesse.

Aujourd'hui j'en arrive a la conclusion suivante :
- Il est tres difiicile de tricher avec le fonctionnement de la touche back des navigateurs, c'est dailleurs un souci rencontre avec Ajax (http://en.wikipedia.org/wiki/AJAX) - Le pageLabel est ideal pour les elements du menu et donner en quelques transformation de sitemap ou via le mod-rewrite HTTP des url clean pour referencement ou pour les bookmarks
- Pour tout ce qui est interne au coplet il ne reste plus que le bookmark
- Hun, pour finir et pour faire peur... je viens de decouvrir que le bouton Refresh pause egalement probleme chez moi, mais je dois verifier d'abord :p

Phil

Jean-Christophe Kermagoret wrote:

Plus d'info là :
http://wiki.apache.org/cocoon/PortalPageLabels?highlight=%28PageLabel%29

Quelqu'un sait-il comment les autres portails (Jetspeed, exoplatform, ...) gèrent-ils le back ? Est-ce que ca fonctionne bien ?

Jean-Christophe

Jean-Baptiste Quenot a écrit :

* Jean-Christophe Kermagoret:


Pour  le  back,  je  croyais  que  l'utilisation  des
PageLabel permettait de le résoudre.




Peux-tu  nous  en dire  plus  sur  les PageLabel?   Ici
personne ne connaît.

Merci,






---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]



--

BlueXML
Jean-Christophe Kermagoret
Directeur associé
[EMAIL PROTECTED]


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]

Répondre à