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