When you post there, perhaps you can provide more information about your project.
What portal are you trying to integrate with?
What version of ICEpush?
How are you trying to integrate ICEpush into your application?
Are you also using ICEfaces or are you trying to integrate ICEpush with Vaadin?
Did you ever find a response to this query? I have asked on the ICEPush forum as well with no response. Given the need to use the ICEPush servlet I’m assuming you cannot use it in a portlet, but I’m hoping that is wrong.
I found some spare time and made some change to ICEPush and maybe got it to work in Liferay. I have not released a new version in the Directory yet as I am not really sure it works.
I also moved the project to Git hub but if you are interested to test if it works for you, try out
http://github.com/R2R/ICEPush-for-Vaadin/raw/master/build/icepush-0.1.5.jar (remember to rebuild the widgetset to include the ICEPush add-on, e.g. using Vaadin Control Panel for Liferay. You also need icepush.jar and icepush-gwt.jar from add-on 0.1.2 zip)
Create a portlet2 application as normal and additionally add a web.xml to your project where you simply map all requests to the ICEPushServlet, e.g:
<servlet>
<servlet-name>ICEPush for Portlets</servlet-name>
<servlet-class>org.vaadin.artur.icepush.ICEPushServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ICEPush for Portlets</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
There might be some session related issues as this relies on the session being shared between the portlet and the servlet.
Yeah, sorry about that. There were some issues with the 0.1.5 and with the version I released in the Directory a couple of days back so I decided to pack everything together and put it in the Directory as 0.2.0. So you can get it from there now.
Can you kindly post a small example/tips on how to use this in the portlet environment? My Vaadin application id defined in the portlet.xml as a init param to com.vaadin.terminal.gwt.server.ApplicationPortlet2, there is no servlet configuration [as indicated in the component download page]
in my web.xml, so I am not clear on how exactly to use the icepush component …
I try to run the ICEPush 0.2.0 with Liferay 6.0.5 (StandardEdition), but I get the [quote]
Widgetset does not contain implementation for org.vaadin.artur.icepush.ICEPush. Check its @ClientWidget mapping, widgetsets GWT module descrioption file and re-compile your widgetset. …
[/quote]
I use Eclipse-Plugin, so that the application is re-compiled (after I added the jars).
Is it correct that ICEPush 0.2.0 has 3 jars (icepush.jar, icepush-0.2.0.jar and icepush-gwt.jar) ?
You will have to copy the new generated widgetset into liferay @ liferay-portal-6.0.5\tomcat-6.0.26\webapps\ROOT\html\VAADIN\widgetsets and have the correct entry in portal-ext.properties file for “vaadin.widgetset=de.tu_bs.tugether.noteportlet.widgetset.NoteportletWidgetset”. This should resolve the issue.
I tried using this ICEPush with Portlet Application, during testing it was giving me null pointer exception at getPushContext(app.getContext()).push(ICEPush.PUSH_GROUP);
getPushContext(app.getContext())) is always returning NULL, any idea what could be the wrong?
The portlet support is based on a separate servlet, deployed using web.xml. If your normal portlet is working fine (and is using ApplicationPortlet2) you are off to a good start. What you need to do is add a web.xml where you map the servlet as described on the add-on page:
To use in a portlet you can use the same servlet to provide push capabilities. You need to add a web.xml that contians the following (headers, footers omitted):
<servlet>
<servlet-name>ICEPush for Portlets</servlet-name>
<servlet-class>org.vaadin.artur.icepush.ICEPushServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ICEPush for Portlets</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
The web.xml should additionally contain the standard headers and footers.
The ICEPushServlet will then be loaded on startup and, provided they use the same classloader which they should be able to do as they are in the same war file, will set the URL that will be used for pushing. Adding the ICEPush component to the portlet should then automatically load the required files from the servlet and finally when calling push() correctly notify the servlet of the change, which in turns notifies the client (browser), which then asks the portlet for the changes.
Hi all
i try to use icepush in vaadin portlet , i have 2 portlet ,1 portlet send data,and another receiver data , i want receiver portelt auto refresh view when it has receive change data from send portlet. i use event portlet to tranfer data (JSR 286)
it sucess send data and compile sucess but when i cal push() in portlet receiver nothing change
please show me why ,I post code here
thanks 11773.zip (1.25 MB)