Vivek Agarwal’s Portal/Java Blog

An IBM Gold Consultant’s weblog about IBM, Lotus, WebSphere, J2EE, IT Processes, and other IT technologies

Executing a WebSphere Portal action URL link twice

Posted by Vivek Agarwal on April 2, 2006


Recently ran into a situation where we wanted to use a pop-up window in a WebSphere Portal portlet built using the IBM Portlet API. We have used pop-up windows in the past but always used regular JSPs instead of portlet JSPs. This time, we chose to use a portlet JSP (in solo state) that is invoked using a Portlet Action URL. If the user clicked the pop-up window link the first time, the relevant Portlet action was performed and the expected portlet JSP was rendered. However, if the user clicked the pop-up window link again, the relevant Portlet action was NOT being performed and as a result the user did not see the expected result.

So essentially the issue seemed to be that you could not click the same Portlet Action URL twice and have the Portlet Action fire the second time.

We ended up opening a PMR with IBM and it took forever for them to actually do anything – had to create a simple test case proving my findings. Once they were able to reproduce the issue, I was told that I should not be using pop-up windows and that WebSphere Portal was working as designed! Fume! Fume! I sent out a nasty email at that point saying that it was my prerogative to choose my UI and that this was simply unacceptable. After that, I guess the PMR made it to somebody who actually had an acceptable solution for me. Supposedly since WPS v5.1.0.2, IBM has included an APAR that enables you to set a portlet config parameter that allows a Portlet Action URL to be executed as many times as you like. You simply include the following snippet in your portlet.xml in the concrete-portlet section –

<config-param>
<param-name>wps.multiple.action.execution</param-name>
<param-value>true</param-value>
</config-param>

Hopefully this helps somebody out there.

And yes, I realize my blogs are getting more and more infrequent. I need to re-up my motivation to write and share my experiences. But with spending time with the kids and all the house chores and home improvement projects and the nightly Sudoko puzzle, it has been tough to blog – hope to do better going forward …

Advertisements

17 Responses to “Executing a WebSphere Portal action URL link twice”

  1. Michaël said

    Hi,

    I try to open a JSP pop-up from a portlet, but it always includes the theme and skin of the portlet in the pop up.

    I just want to have the HTML of my JSP in my pop-up, how do you do that ? (I tried just with javascript, and then by the doView, but the same occured)

  2. Vivek Agarwal said

    When you pop open a Portal window from a portlet, the pop-up window renders using Plain.jsp from the Portal theme you are using. Edit Plain.jsp in your theme to essentially be an empty shell if you only want the HTML from your jsp to show. That should do what you want.

    All the best-Vivek.

  3. Kannan said

    I am Using JSR 168 Portlet which is running in the WebSphere V5.0 Test Environment.
    Another one application, a LOV Application, which is running in the IBM WebSphere Server 6.0.

    Is it Possible to call the LOV jsp [pure jsp] as popup from my Portlet window?

    thanks in Advance.

  4. Frumble said

    Thanks for the info, it’s really helpful.
    Somehow, we cache our portlet html fragment, without this setting, all action URLs are invalid and no actions executed at all.
    with this new setting, with a brand new cache and brand new session, everything works fine, until user logs in using a new session, then the already cached URLs are invalde again…!!

    geek…any ideas?

  5. basil said

    can this scenario be applied to struts portlet ? is there a personal number that i could reach. We are having trouble in invoking the actions using the URL generation classes.

  6. Vivek Agarwal said

    Yes – I believe this should work with a struts portlet as well – should be a quick thing to try.

  7. Hello Vivek,
    I read your blog but I am confused reagrding your requirement.
    I have imeplmented he following sceanrio :
    Multiple links will be displayed for a user on a page . If user clicks on one link, it will call some portlet action and opens the output in new window . If user clicks 2nd link mean while first link is rendering its output, then pop up will be displaying the output of 2nd link.

    Please explain ur scenario in some detail.

  8. Vivek Agarwal said

    Rinki,

    The difference between your scenario and mine is that the user would click the exact same link twice with the link being associated with a particular portlet action. The 2nd time the user clicks the link, the portlet action is NOT invoked and things don’t work as expected unless you use the solution (wps.multiple.action.execution set to true) that I presented in my blog. Hope it makes sense to you now.

    -Vivek.

  9. ravi said

    Hi Vivek,
    I am also facing the same issue as u faced. I could not find the concrete-portlet section in my portlet.xml, could you please tell me what may be the issue. As we are generating the URL in the java script, is this may be causing the issue? Please let me know as it is urgent for my project.
    Thanks in advance.

    –ravi

  10. jyothi said

    Hi Vivek,
    In my requirement, i need to call a jsp from a current portlet, so that all the themes and skins are applied to the target jsp.I am new to portals. How to do that? can u guide me on this? i am using ibm portal 6.0.
    thanks

  11. ooopinionsss said

    How you think when the economic crisis will end? I wish to make statistics of independent opinions!

  12. cwxwwwxdfvwwxwx said

    well, hi admin adn people nice forum indeed. how’s life? hope it’s introduce branch 😉

  13. Jonas Auken said

    This information was very helpful – albeit old 🙂

    For JSR168 portlets you will need to set the following parameter in the portlet.xml:

    wps.multiple.action.execution
    true

    We had the problem because we used servlet caching for our portlets – this resulted in a reuse of the ActionURL as this was cached alongside with everything else!

    See discussion for a more thorough explanation.

  14. Raj said

    HI,

    We have upgraded to portal patch 6.0.1.6. After that we are seeing a issue with plain.jsp content for themes.Before upgrade, the contents are of plain.jsp are displayed in the beginning of the generated HTML file. But after this upgrade, i am seeing this includes at the end of the actual content of the popup JSP. This is causing the CSS issues.

    Any help will be appreciated and thanks in advance.

    Thanks
    Raj

  15. sagar said

    Hi,

    i m using gridsphere for my portlets . i opened a pop up from my portlet page . it’s opening but the session of my portlet and the pop up are different . so getting problem . can u suggest me any solution ?

    Thanks
    sagar

  16. Eeefbwxw said

    Could you tell me my balance, please? Lolita Models Toplist
    2904

  17. Victor said

    Hello, i see your blog is very nive and with lot of important info, do you know how y can open in a new windows the portal ones the user log in. I mean the user inserts their user and password when click on the login button the myportal private section opens in a new windows.
    Thanks.

Sorry, the comment form is closed at this time.

 
%d bloggers like this: