How GroupSpace Uses IPC to Create Interportlet Links
Pages: 1, 2, 3, 4

Summary and Conclusion

To summarize how all these components work together to create the GroupSpace content linking framework:

  1. A URL link is displayed in a GroupSpace portlet (that is, the GroupSpace Search portlet). This URL represents a piece of content. This content can be one of many types of content that are managed in the GroupSpace application. For example, the link may represent an Issue. It is rendered as the "title" of the Issue.
  2. This URL is generated using the JSP tag whose implementation is shown in the JSP tag section. It is essentially a portal postback URL with a few additional parameters added that provide information about the Issue that is represented.
  3. When this link is clicked, a request is submitted back to the portal which executes the lifecycle of the various portlets. This causes the handlePostback() method in the backing file described in the Backing file section to be executed.
  4. The handlePostback() method logic in the backing file determines the most appropriate portlet that should handle the displaying of information for the content based on the content type and the portlet metadata of the portlets participating in this framework.
  5. When an appropriate portlet is identified (the Issues portlet for a content item of type ISSUE), an IPC event is fired.
  6. The action executed in response to the IPC event is to execute a backing file method. This method is described in the Event handler section.
  7. The event handler adds some information to the request and then fires off a second IPC event that only the designated portlet is listening for.
  8. The actions executed from this second IPC event are to activate the portal page that contains the portlet and to execute a designated pageflow action.
  9. The pageflow action uses the content unique identifier to obtain the data from the underlying content management system, and then forwards to the appropriate JSP that displays the content details.

Using the custom JSP tag, content links are generated in the GroupSpace application by using simple JSP code as shown below:

<wlpGroupSpaceLinksFW:contentDetailsLink contentId="${content.id}" 
    contentType="${content.type}">
    ${content.title}
</wlpGroupSpaceLinksFW:contentDetailsLink>

This code generates a URL link that triggers the events and handlers as described above. Eventually the appropriate portlet is activated and the defined pageflow action is executed.

Adding a new portlet in GroupSpace that participates in this linking framework should be very easy. The portlet developer would add the necessary metadata and IPC elements to the portlet configuration file, and then add the custom pageflow action.

IPC is a very powerful portal framework tool. This is just one example of how it can be used to enhance the user experience with portal applications.

References

Charles Coates is a software engineer who has worked at BEA for 2 years. He is currently a developer for the UI components of GroupSpace, a new community-based application built on WebLogic Portal 9.2.