We found some maximization issues when implementing a certain use case where there is one custom navigation portlet (unrelated to portal navigation), controlling which of several instances of another custom portlet within the same page should be maximized. So - you have portlet A commanding portlets B1, B2, B3 via portlet events which one of them is the maximized one, and that one has to set its own window state to Maximized. At the same time any other already maximized has to become minimized - the second part has to be enforced by PC.

We needed to make several fixes to get the scenario working.

https://github.com/gatein/gatein-portal/pull/609
https://github.com/gatein/gatein-pc/pull/10

Besides the need to review these patches by someonw with mor eintimate knowledge of the codebase, there are some questions about this. For example - what is the role of UIPageBody, and why both UIPage, and UIPageBody have a maximized component set independently of each other - to support our case we had to update in both places to make it work, as some checks look at one, and other checks at the other for the complete processing to get through properly, and since you can only have one maximized component within a page it seems like a bug for the two places to be able to get out of sync.

I'm adding Adam Kovari, who did most of the work on this.


- marko