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