this doesn't sound all to complicated
what is the content that is displayed in the middle ? Is this always something from the same source (like a CM) , or is it an RSS feed for one selection, and an email reader for another, etc. ?
if the list is a list of names and the portlet in the middle is a sql query that gets some details from the db for the selected name, then this is IPC (inter portlet communication; the portlets stay the same, only the content changes) .
If, however, the list is more of a menu, and the content in the middle is much more diverse, then you'll need a page for each selection. The page contains the portlets it needs to display whatever it is that this selection does.
The difference is that in the first example you'd have one page with a selection portlet and a display portlet , and those two portlets communicate (via the session, or via JBP's IPC; you can see examples for that in the Test page in the default portal). In the second example you'd have several pages that all have the navigation portlet in them, plus in addition they'd have one or more portlets that display the rest of this selection.
Portlets are assigned to a page. This page assignment is called a Window. The window definition has attributes like region, height, and instance-ref.
The region determines where on the page the portlet shows up (the region is driven by the layout and theme). The height determines the order of the portlets in one region (if there are more then one in the same region). The instance-ref points to the portlet instance to render in this window.
You can create pages in the *-object.xml descriptor, or you can do that via the management UI (available when you log in as admin)
The default behaviour of maximized is that the portlet gets the entire page, so that shouldn't be a problem.
All of this behaviour can be customized and made more dynamic via the layout, the theme, and the layout strategy. Look at the theme documentation in the reference guide for much more detailed information about this.
Thanks for your reply!
I have finally resolved Layout/Theme issues and now actually trying to get this to work.
I have a question regarding the Example. What would be the best way of generating links and deciding which one the user pressed?
A book I have says "The details of how a URL points to a specific instance of a portlet are up to the portal container. so rather than creating a URL ourselves, we use the portlet's render response object to create a portlet URL for an action request."
Let's say I have a Navigation portlet on the left and a Content Portlet in the middle. Navigation Portlet has links to Home, Here, There. Clicking on any of those should make the Content portlet display the appropriate message (i.e. "we are Home").
I understand that the RenderResponse object is specific to individual Portlets... which means I cannot generate Content Portlet Action URLs from Navigation Portlet, correct? In other words, I cannot create a Form that would be displayed in portlet A and submitted to portlet B?
Does this mean I have to append things directly to the UR, i.e. generate a standard actionURL for the Navigation Portlet and append "action=home" or "action=here"? Navigation Portlet would then pick those up and stuff them into session, allowing Content Portlet to display appropriate content... is this the way to go?
You could 'mess' with the URLs, but I wouldn't recommend it.
Take a look at the IPC (inter portlet communication) functionality.
There is an example in the core -> see the Test -> event test page (sample-portlets-war, and core/src/main/org/jboss/portal/core/portlet/test/event)
Sure, this is proprietary, but any approach you can take here will end up being specific for the portal you run in (URL format dependency, etc. )