<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Inter portlet communication"]]></title>
		<link>http://www.icefaces.org/JForum/posts/list/23.page</link>
		<description><![CDATA[Latest messages posted in the topic "Inter portlet communication"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Inter portlet communication</title>
				<description><![CDATA[ As far as i know, the icefaces implementation of the portlet bridge supports JSR 168 but not JSR 286 which enabled communication between portlets using parameters or events. 

I know some vendors who support JSR 168 but not 286 have their own method of inter portlet communication. 
Does icefaces have something so i can pass parameters, object or events from one portlet to another? 

Suppose i have a portlet that shows a dataTable and i have another portlet were the user can edit the row selected. How can i achieve this using the icefaces framework? 

I am using this on a liferay portal 5.2 by the way. ]]></description>
				<guid isPermaLink="true">http://www.icefaces.org/JForum/posts/list/15993.page#60363</guid>
				<link>http://www.icefaces.org/JForum/posts/list/15993.page#60363</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 02:06:04]]> GMT</pubDate>
				<author><![CDATA[ Passero]]></author>
			</item>
			<item>
				<title>Re:Inter portlet communication</title>
				<description><![CDATA[ Dude, I was hading headache to do something similar... then after read doc and a few  posts at forum such as this one, I just followed the instructions in this link <a href='http://www.icefaces.org/JForum/posts/list/14125.page' target='_new' rel="nofollow">http://www.icefaces.org/JForum/posts/list/14125.page</a> and it works.

If after reading you can't do, post here again that I will give more tips, but generally speaking you must do: 
1 - define a managed-bean with application scope (avoid huge Object, instead of that, in a scenario described just the id (primary key) from your table should be enough) which will store the product from user/application interaction,
2 - then in your jsp/jpsx/xhtml page use normal Expression Language as {#appBeanName.value} to store the value. 
3 - use the code below to store this value at the PortletSession APPLICATION_SCOPE
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
// I defined this methods as static cause they are encapsulated in an Util class to handle/ //manager the IPC using AjaxPush. 
public static Object getPortletSessionAttribute&#40;String key&#41;{
		Object portletSessionAttribute = null;		
		Object sessObj = FacesContext.getCurrentInstance&#40;&#41;.getExternalContext&#40;&#41;.getSession&#40;false&#41;;                
        if &#40;sessObj instanceof PortletSession&#41; {
             PortletSession portletSess = &#40;PortletSession&#41; sessObj;
             portletSessionAttribute = portletSess.getAttribute&#40;key, PortletSession.APPLICATION_SCOPE&#41;;        									
             System.out.println&#40;"&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; portletSessionAttribute stored at \n"
 		 			+"portlet session: "+ &#40;&#40;PortletSession&#41; sessObj&#41;.getPortletContext&#40;&#41;.toString&#40;&#41;
  					+"\n name: "+key
 		 			+"\n value "+portletSessionAttribute.toString&#40;&#41;&#41;;	                        
        }
		return portletSessionAttribute;
	}
</pre>
		</div>
4 - finally use the code below to retrieve the stored value from PortletSession
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
// I defined this methods as static cause they are encapsulated in an Util class to handle/ //manager the IPC using AjaxPush. 
public static void setPortletSessionAttribute&#40;String key, Object value&#41;{
		Object portletSessionAttribute = null;		
		Object sessObj = FacesContext.getCurrentInstance&#40;&#41;.getExternalContext&#40;&#41;.getSession&#40;false&#41;;                
        if &#40;sessObj instanceof PortletSession&#41; {
             PortletSession portletSess = &#40;PortletSession&#41; sessObj;
             portletSess.setAttribute&#40;key, value, PortletSession.APPLICATION_SCOPE&#41;;        									
             System.out.println&#40;"&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; portletSessionAttribute stored at \n"
            		 			+"portlet session: "+ &#40;&#40;PortletSession&#41; sessObj&#41;.getPortletContext&#40;&#41;.toString&#40;&#41;
             					+"\n name: "+key
            		 			+"\n value "+value.toString&#40;&#41;&#41;;	            
        }		
	}
</pre>
		</div>


	
	]]></description>
				<guid isPermaLink="true">http://www.icefaces.org/JForum/posts/list/15993.page#60737</guid>
				<link>http://www.icefaces.org/JForum/posts/list/15993.page#60737</link>
				<pubDate><![CDATA[Thu, 18 Feb 2010 00:43:47]]> GMT</pubDate>
				<author><![CDATA[ caioformiga]]></author>
			</item>
	</channel>
</rss>
