Topic
  • 5 replies
  • Latest Post - ‏2012-11-28T14:47:03Z by kevintap
Sri.
Sri.
81 Posts

Pinned topic Linking between multiple portlets - how to?

‏2012-11-08T11:15:49Z |
Hi,

I've a scenario where a portlet will show a list of tasks, each with a link to open that task and work on it. For each task type, I will have a separate portlets. On clicking on the link to open a specific task, I have to load the corresponding portlet and once the user is through with her action, I have to come back to the portlet which shows the task list.

This is like, in the Portal administration Manage Pages page, if I click on Page Properties, a different portlet is loaded whereas when I click on Edit Page Layout, a different portlet is loaded on the same page. How do I achieve this? Can someone point me to any resource for this? Thanks.
Updated on 2012-11-28T14:47:03Z at 2012-11-28T14:47:03Z by kevintap
  • mburati
    mburati
    2561 Posts

    Re: Linking between multiple portlets - how to?

    ‏2012-11-26T16:16:09Z  
    One option that comes to mind is using WEF Cooperative Portlet source and target builders and JSR286 events, wired together across pages in portal, so that firing the event causes a page switch to the page with the task portlet and the done button there can fire an event to switch back to the task list portlet.

    There are samples of WEF Portlet Events in the WEF Samples directory on the wiki here:
    http://www-10.lotus.com/ldd/pfwiki.nsf/dx/Web_Expereince_Factory_Samples_Categorized#Portal+integration

    I hope that info helps,
    ..Mike Burati
    http://www-10.lotus.com/ldd/pfwiki.nsf/
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
  • mburati
    mburati
    2561 Posts

    Re: Linking between multiple portlets - how to?

    ‏2012-11-26T16:26:05Z  
    • mburati
    • ‏2012-11-26T16:16:09Z
    One option that comes to mind is using WEF Cooperative Portlet source and target builders and JSR286 events, wired together across pages in portal, so that firing the event causes a page switch to the page with the task portlet and the done button there can fire an event to switch back to the task list portlet.

    There are samples of WEF Portlet Events in the WEF Samples directory on the wiki here:
    http://www-10.lotus.com/ldd/pfwiki.nsf/dx/Web_Expereince_Factory_Samples_Categorized#Portal+integration

    I hope that info helps,
    ..Mike Burati
    http://www-10.lotus.com/ldd/pfwiki.nsf/
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
    Sorry, in cleaning up my incorrect posting earlier in this thread (posted an answer to a question in another thread), it deleted Darren's response to this thread.

    Here's what Darren had posted:

    Author:
    kcibmer

    Message:
    This sounds like a classic summary-detail scenario. Why not have the task list portlet always visible, and then when you click on a link it opens the detail portlet on the same page? Using portlet events might make a better solution than swapping portlets in and out.

    Here's a short tutorial giving you the idea: https://www.ibm.com/developerworks/mydeveloperworks/blogs/checkingin/entry/portlet_events_the_easy_way_with_web_experience_factory4?lang=en

    I hope that info helps,
    ..Mike Burati
    http://www-10.lotus.com/ldd/pfwiki.nsf/
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
  • Sri.
    Sri.
    81 Posts

    Re: Linking between multiple portlets - how to?

    ‏2012-11-28T05:00:02Z  
    • mburati
    • ‏2012-11-26T16:26:05Z
    Sorry, in cleaning up my incorrect posting earlier in this thread (posted an answer to a question in another thread), it deleted Darren's response to this thread.

    Here's what Darren had posted:

    Author:
    kcibmer

    Message:
    This sounds like a classic summary-detail scenario. Why not have the task list portlet always visible, and then when you click on a link it opens the detail portlet on the same page? Using portlet events might make a better solution than swapping portlets in and out.

    Here's a short tutorial giving you the idea: https://www.ibm.com/developerworks/mydeveloperworks/blogs/checkingin/entry/portlet_events_the_easy_way_with_web_experience_factory4?lang=en

    I hope that info helps,
    ..Mike Burati
    http://www-10.lotus.com/ldd/pfwiki.nsf/
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
    Thank you both for the response. But I want to have the task list as well as the details portlet on the same page and once the user clicks on a task, the task details portlet should open in the same place where the task list portlet was present. I think this is how many of the portlets in the Portal Administration page work.

    Have these two portlets in two different pages and redirecting user to different page based on which task she opens would not be a good UX. Also, what would be shown in the task details portlet when user directly goes to the page where it is placed?!

    Looking at Darren's suggestion, since I have 5/6 types of tasks with a separate portlet for the task details, it would not be possible to have all the portlets on the same :(
  • SystemAdmin
    SystemAdmin
    9029 Posts

    Re: Linking between multiple portlets - how to?

    ‏2012-11-28T05:19:35Z  
    • Sri.
    • ‏2012-11-28T05:00:02Z
    Thank you both for the response. But I want to have the task list as well as the details portlet on the same page and once the user clicks on a task, the task details portlet should open in the same place where the task list portlet was present. I think this is how many of the portlets in the Portal Administration page work.

    Have these two portlets in two different pages and redirecting user to different page based on which task she opens would not be a good UX. Also, what would be shown in the task details portlet when user directly goes to the page where it is placed?!

    Looking at Darren's suggestion, since I have 5/6 types of tasks with a separate portlet for the task details, it would not be possible to have all the portlets on the same :(
    I don't fully agree with your statement about portlets on different pages being bad UX. It's a common pattern. The target page with the details portlet could be hidden, preventing the user from directly navigating to it without going through the Task List portlet. Also, wiring portlets on the same page is also a common pattern.

    Considering your desired functionality, perhaps the best option is to make the Task List and Task Detail a single portlet. Selecting a task would take you to the task details page in the same portlet. If you're 5 or 6 details UIs are complex, you could still separate them out into separate models to avoid the model becoming too cumbersome.

    Although I haven't implemented this, here's another idea: If you really want one Task List portlet and one or more details portlet, perhaps you can add client-side script to hide the div of the Talk List portlet when a task is selected, and unhide it when the user closes a task detail. But considering your desired functionality, I'd pick the first option since it's more straightforward.
    --Sam
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
  • kevintap
    kevintap
    747 Posts

    Re: Linking between multiple portlets - how to?

    ‏2012-11-28T14:47:03Z  
    I don't fully agree with your statement about portlets on different pages being bad UX. It's a common pattern. The target page with the details portlet could be hidden, preventing the user from directly navigating to it without going through the Task List portlet. Also, wiring portlets on the same page is also a common pattern.

    Considering your desired functionality, perhaps the best option is to make the Task List and Task Detail a single portlet. Selecting a task would take you to the task details page in the same portlet. If you're 5 or 6 details UIs are complex, you could still separate them out into separate models to avoid the model becoming too cumbersome.

    Although I haven't implemented this, here's another idea: If you really want one Task List portlet and one or more details portlet, perhaps you can add client-side script to hide the div of the Talk List portlet when a task is selected, and unhide it when the user closes a task detail. But considering your desired functionality, I'd pick the first option since it's more straightforward.
    --Sam
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
    I would agree with Sam's recommendation here. If you want this to appear as a single portlet, then you could make all of this into a single portlet using multiple Model Container builders to include the functionality from the different details views. I would advise splitting up each details view into an independent model that can be contained by the main portlet model.

    Then, if you actually need a true separate portlet for one of the details views, you could create a second portlet model which imports or contains the model with all of the functionality for the details view and also contains your Portlet Adapter builder to expose this details view as an independent portlet. This would be a very modular, re-usable approach to designing this functionality.

    I have used this approach before and it works quite nicely.
    The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.