Bonjour,

J'ai développé un petit portlet pour Jahia. Celui-ci fonctionne bien, mais j'ai un besoin supplémentaire. Je vous explique tout d'abord brièvement le contexte.

Le portlet est en fait un petit formulaire qui lance une recherche de produits. Mon problème est que le résultat de la recherche ne doit pas être affiché au sein du portlet, mais dans le site Jahia. En effet en fonction du résultat de la recherche je dois : - si un seul produit est trouvé : aller sur la page du CMS qui présente le produit - si plusieurs produits sont trouvés : aller sur une page du CMS qui liste ces produits
- si aucun produit n'est trouvé : aller sur une page d'erreur.
Je me rend bien compte que la techno portlet n'est peut-être paps la plus adaptée, mais elle a été retenue pour pouvoir être déployée facilement sur d'autre site.

Le portlet doit donc "envoyer" des informations au site Jahia. Ce que je voudrais faire, c'est que le portlet (que ce soit au sein du code Java, ou au sein de la JSP d'affichage du portlet) place des informations dans la session Jahia, afin que ces dernières soient disponibles dans les JSP du CMS.

Or j'ai l'impression que cela n'est pas faisable, ou pas facile... J'ai l'impression qu'il y a 2 sessions bien séparées : celle de Jahia, et celle du portlet. J'ai même l'impression qu'il y a 3 sessions en fait : la session de Jahia, la session pour le portlet, et la PortletSession.

Au point de vue configuration j'ai fait :
- jahia.properties : webapps.dispatcher.inheritJahiaSessionAttributes = true
- server.xml de tomcat : dans le connector : emptySessionPath="true"

J'ai essayé d'utiliser la visibilté APPLICATION_SCOPE : request.getPortletSession().setAttribute("dureesejour", dureesejour, PortletSession.APPLICATION_SCOPE); Cela n'a pas d'effet. En fait cela rend disponible les informations dans l'objet "session" de la JSP du portlet (en plus de l'objet renderRequest.getPortletSession()) , mais pas dans l'objet "session" des JSPs de Jahia.

J'ai aussi essayé de déclarer un objet avec des méthodes statiques pour stocker/obtenir des données... en espérant que cet objet soit visible des 2 côté... et non ! Le portlet et Jahia ne partagent apparement pas le même contexte d'exécution.

J'en suis arrivé à me dire qu'il faudrait passer par un stockage en base de données, mais je trouve cela un peu lourd pour juste passer quelques chaînes de caractères du portlet vers Jahia.


Est-ce qu'il y a un moyen pour que Jahia puisse obtenir des données générées par un portlet ?

Merci de vos réponses

Crodialement,

--

*Arnaud LORENZI*
/Manager/

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
18 rue Volney - 75002 Paris (plan) <http://maps.google.fr/maps?f=q&hl=fr&q=18,+Rue+Volney,+75002+2%C3%A8me+Arrondissement,+Paris&ie=UTF8&z=17&ll=48.869987,2.330518&spn=0.004107,0.015171&t=h&om=1>
Tél. : 01 47 03 43 65 / Fax. : 01 47 03 45 72
www.neuros.fr <http://www.neuros.fr/>
_______________________________________________
french_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/french_list

Répondre à