Salut,

 

Voici une idée de solution qui ne serait pas du contournement.

Étant donnée que ton « data » semble être dans Jahia (page de produit), 
pourquoi faire un portlet pour la recherche. Jahia est équipé pour faire de la 
recherche. Il y a des containerSearcher/filter/sorter. Tu pourrais chercher 
dans les conteneurs qui contiennent les produits.

 

Pour les redirects, tu fais un formulaire, dans une boite texte de jahia, qui 
pointe vers ton application web. Ton application web reçoit en paramètre la 
recherche et redirige vers la bonne page. Pas besoin de portlet. Cependant, 
dans ton application, tu dois avoir une table de correspondance entre tes 
produits et tes pages. Je ne vois aucune façon de faire cela sans hard coder la 
correspondance. Ce qui n'est pas très pratique. 

 

Selon moi tu devrais tout faire à la même place, que ce soit dans un portlet 
(recherche et affichage des résultats) ou dans jahia.

 

 

Jeff

 

 

________________________________

De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Arnaud Lorenzi
Envoyé : 10 décembre 2007 11:59
À : Mailing list francophone de Jahia.
Objet : Re: [French_list] Partage d'information Jahia / Portlet

 

Merci pour cette réponse, elle m'a donné une idée... un peu mauvaise, mais bon, 
il faut bien avancer.

En fait je ne comprend pas trop l'histoire du redirect, car ce que j'ai compris 
du fonctionnement du portlet, c'est qu'il doit envoyer un fragment de HTML, qui 
est inséré par le portail au sein du cadre (div) assigné au portlet. Donc je ne 
pense pas que je puisse envoyer un header de redirection... mais je vais 
essayer tout de même.

Sinon j'ai pensé à générer un petit bout de code JavaScript au sein de la JSP 
du portlet, qui lorsqu'il est appelé, appelle la bonne page 
(document.location)... C'est violent, pas sexy, mais bon...


Si vous avez une meilleure idée, ou une solution de non-contournement, merci


Arnaud LORENZI
Manager

[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/>  



Jean-François Fournier a écrit : 

Salut,

 

Est-ce qu'un « redirect » pourrait fonctionner dans ton cas ?

Si oui, tu pourrais submiter directement vers ta webapp (sans le encodeURL) et, 
dans le code de ta webapp, rediriger vers la page Jahia désiré.

 

J'espère que ça pourra t'aider ou te donner des idées.

 

Jeff

 

________________________________

De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Arnaud Lorenzi
Envoyé : 10 décembre 2007 05:10
À : [email protected]
Objet : [French_list] Partage d'information Jahia / Portlet

 

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]
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
  
_______________________________________________
french_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/french_list

Répondre à