voyent
Session expiration in Liferay  XML
Forum Index -> Portals & Portlets Go to Page: Previous  1, 2, 3, 4 Next 
Author Message
maxi_ng

Joined: 11/Jan/2008 00:00:00
Messages: 92
Offline


It is more stable on 1.7
but if you play with those portlets a bit.
the session problem eventually occur.
That is, not fixed.
deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


I know there are concerns about the issue of "Session Expired" dialogs when developing and running ICEfaces 1.7 portlets in Liferay. There are forum postings (on both the ICEfaces forums as well as Liferay) alluding to this. We are taking it seriously and I want to provide some information about where we are at and what the community can do to help us solve it.

The relevant JIRA case is: http://jira.icefaces.org/browse/ICE-2152. The "Session Expired" problem has popped up a couple of times during the entire 1.7 development cycle. Some of the confusion lies in the fact that there is more than one way that the "Session Expired" message can be triggered. What we are specifically looking at right now is the "Session Expired" message caused by the redeployment of a portlet and the fact that it won't go away. As of the final 1.7 release, we were unable to reproduce the behaviour during our internal testing so we marked the various related issues as fixed, duplicated, etc. Now that the official 1.7 release has gone out the door, we see some developer's still facing this issue.

Until recently, we had still been unable to reproduce it internally. We now have a test case and a process that demonstrates the unwanted behaviour. Normally, during development and testing of portlets in Liferay, we re-deploy the portlets by copying a .war file to the Liferay hot-deploy directory: [user-dir]/liferay/deploy. The test case uses the Liferay Plugin SDK to build and deploy the portlet. Using the Plugin SDK, we are able to reproduce the issue and we are looking to resolve it.

For those of you experiencing the problem, try building and redploying your portlets without using the Plugin SDK. If you are not using the Plugin SDK or the issue is not occurring because of a portlet redployment, then please provide your specific environment (versions of ICEfaces, Liferay, and app server, OS, etc.) and the exact steps required to cause the behaviour to help us investigate it.


Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
maxi_ng

Joined: 11/Jan/2008 00:00:00
Messages: 92
Offline


here is my environment
Windows server 2003 R2
liferay-portal-jboss-tomcat-4.2-4.4.1
I have done some performance tune following this page
http://wiki.liferay.com/index.php/Performance
Icefaces standard 1.7
Netbeans without Plugin-SDK

I deploy three different icefaces portlet on the same page.
After some trial, I figure out that Firefox 2.0.0.14 will instantly have session expired after all UI components are loaded.
For IE 6.0.2900.2180 everything seems working.
IMHO, isn't it some javascript function that keep the session alive works in IE but not FX?
estatenii

Joined: 07/Mar/2008 00:00:00
Messages: 11
Offline


Here is my environment. Liferay 4.4.1 on OC4J 10.1.3.1.

I am using Ice faces 1.7 and the "Sample ICEfaces JSF 1.1 MyFaces JSP Portlet".

It deployed without error twice and then has not since then. I get the "session expired" box everytime I deploy.

phil.gunbin


Joined: 30/Jan/2008 00:00:00
Messages: 29
Offline


Deryk,
thanks for your efforts in resolving this issue. I hope it will be finally resolved (or some stable workaround found) because it makes portlet development really inconvenient. Also thanks for link to JIRA issue - the workaround mentioned there is much faster in development that the one I used before (remove portlet from page, logout, clean cookies , deploy, login and add portlet - ugly but stable).
[Email]
Ragnarok

Joined: 27/Jan/2008 00:00:00
Messages: 12
Offline


Where should i put this code:

ajaxButton.click(
function() {
Liferay.Session.setCookie();
}
);

Im still having this problem :(


Thanks
estatenii

Joined: 07/Mar/2008 00:00:00
Messages: 11
Offline


OK I tried this work around by placing this code within the init function of a page bean .

public void init(){
super.init();

JavascriptContext.addJavascriptCall(
FacesContext.getCurrentInstance(),
"Liferay.Session.setCookie();"
);


...
}

This did not work for me. I still get the Session expired message.
maxi_ng

Joined: 11/Jan/2008 00:00:00
Messages: 92
Offline


I have re-test this issue again without any workaround.

Windows server 2003 R2
liferay-portal-jboss-tomcat-4.2-4.4.1
I have done some performance tune following this page
http://wiki.liferay.com/index.php/Performance
Icefaces standard 1.7
Netbeans without Plugin-SDK

I deploy three different icefaces portlet on the same page.
Browsers : Firefox 2.0.0.14, IE 6.0.2900.2180

IE : after hot deploy, this issue occur, then I close my IE, open again, login ,visit the page, then it seems to work just fine.
FX : after hot deploy, issue occur, close FX, open, login, start working.
BUT, if I navigate to another page, go back to the portlet page, it starts to session expired again.

Any update on this issue from icefaces official?
deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


We've added a potential fix for the "Session Expired" popup problem when portlet archives are re-deployed. The JIRA for this issue is:

http://jira.icefaces.org/browse/ICE-2152

The potential fix is in the public source code repository on the 1.7 branch. Information on accessing the public Subversion repository is here:

http://www.icefaces.org/main/community/svninfo.iface

The 1.7 branch is located under:

icefaces/branches/icefaces-1.7/icefaces/

Once you've checked out that directory, you can run "ant" and it should build and copy all the core libraries into the lib directory (e.g. icefaces.jar). Try using these libraries with your application and let us know if it solves the problem in your environment.

Please note that we have only been able to recreate this issue under fairly specific circumstances. If this change doesn't fix the problem in your environment, then we'll need more information about how your particular application is designed and deployed. A small, self-contained test case with specific steps on how to reproduce the problem is one of the best ways to help us out. Since it's open source, if you find the problem yourself, consider making a code contribution.

Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
estatenii

Joined: 07/Mar/2008 00:00:00
Messages: 11
Offline


Here is my environment. Liferay 4.4.1 on OC4J 10.1.3.1.

I am using Ice faces 1.7 and the "Sample ICEfaces JSF 1.1 MyFaces JSP Portlet".


This sample uses a version of ice face that is older than 1.6.

Replace the icefaces jar files with the ones from version 1.7.

I have loaded the project in Eclipse europa.

I compile an deploy a war file to a dist folder.

I then run oc4j and log in to the portal server. I load the plogin deployer from the admin applications and I upload this war file from the dist folder.

This creates a folder under %oc4jbase%/j2ee/webapps folder.

I create a war file from the contents of this folder using the zip file tool within XP.

I log into the admin tool within oc4j and deploy this new war file as a subapplication of Liferay using the application deployment wizard.

I then log into the portal application and try to load this new Sample plugin when it is dropped onto the target page, I get the "session expired" popup.

I am using the new jars from your 5-12-08 post.

It is not working for me.

Do you have an oc4j environment against which you are testing?


deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


Here are a few things to try given your evironment:

1) Make sure you are properly configured for OC4J support. There is a note here about a specific change you should make when running in that container:
http://support.icesoft.com/jive/entry.jspa?entryID=752&categoryID=80

2) The sample portlet you are running from the Liferay site is generally configured for Tomcat. That means that the libs included may not correspond with what is required for OC4J. The link I provided above also has some information about this.

3) If you replace the ICEfaces jars with newer versions, you should also replace all the other dependent jars in the release to ensure all the dependencies are fulfilled (e.g. backport-concurrent-util.jar, etc).

4) Deploying to Liferay usually requires moving the .war file to the [user.dir]/liferay/deploy folder and having Liferay properly inject the required information into the web.xml, etc. It's difficult to tell whether this is being done in the procedure you are noting. You'd have to confirm with Liferay on how to properly deploy portlets when running inside OC4J.

We do test on OC4J but not on Liferay + OC4J.


Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
estatenii

Joined: 07/Mar/2008 00:00:00
Messages: 11
Offline


Changing my Persistant Servlet to MainServlet fixed the issue.

So my persistant servlet should always be MainServlet for my applications?

If this is the case, then I am good to go.

Thank you for your response.
deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


The real reason is this:

We used to have 2 servlets (PersistentFacesServlet and BlockingServlet) but during 1.6 development, we consolidated to a single servlet (MainServlet). The original two servlets are kept for backwards compatibility and appear in all the documentation but generally it's safe to map to MainServlet going forward.

Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
phil.gunbin


Joined: 30/Jan/2008 00:00:00
Messages: 29
Offline


I've tested a little, it didn't work for me in my current env:

-Liferay 4.3.2
-Glassfish b58
-latest IceFaces from SVN http://anonsvn.icefaces.org/repo/icefaces/branches/icefaces-1.7/icefaces/

I'll try to compose a simple test case in a little while.
[Email]
deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


Sorry it didn't fix the problem for you. A sample app showing the issue is probably the next step. There are a few people experiencing this behaviour so the more examples we can use to troubleshoot, the better.

Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
 
Forum Index -> Portals & Portlets Go to Page: Previous  1, 2, 3, 4 Next 
Go to:   
Powered by JForum 2.1.7ice © JForum Team