[ 
https://issues.apache.org/jira/browse/PLUTO-784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neil Griffin closed PLUTO-784.
------------------------------
    Resolution: Not A Bug

[~mehdi.javan] Thanks for reporting this issue, and sorry it took so long to 
get back to you.

h2. TL;DR

Things are working as designed, so I'm closing this issue with status "Not A 
Bug"

h2. Detailed Explanation

The "meaning" of {{WindowState.MAXIMIZED}} is left open for interpretation by 
the implementer of the portlet container (Pluto, Jetspeed, Liferay, etc.)

Actually, the rendering/display of portlets and their window states is not 
handled by the portlet container, but by the page engine of the portal. So 
that's why it's left open for interpretation.

In the case of Apache Pluto, pluto-default-theme.jsp will [render a single 
column of 
portlets|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp#L111-L117]
 if one of them is maximized. [Otherwise, it will render two 
columns|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp#L119-L137].
 In either case, there is a {{<c:forEach>...</c:forEach>}} that iterates 
through ALL of the portlets on the page and invokes each one for rendering via 
the [<pluto:portlet/> tag in 
portlet-skin.jsp|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/pluto-portal/src/main/webapp/WEB-INF/themes/portlet-skin.jsp#L24].
 This will in turn cause {{PortletTag.doStartTag()}} to be invoked for each 
portlet. [And that's where Pluto determines whether or not the markup of a 
portlet should be 
rendered|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java#L179-L181].

The key is the [iteration over 
portalURL.getWindowStates(|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java#L175]).
 The reason why the returned map contains some portlets, and not all portlets, 
is determined by the Portal URL.

So for example, when you click on the "Maximize" link for the "PH Color 
Selection Portlet", the reason why only the following 3 portlets are rendered, 
is because all three care about the {{"color"}} public render parameter:
- PH Color Selection Portlet, see 
[ColorSelPortlet.java|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/demo/hub-demo-portlet/src/main/java/org/apache/portals/pluto/demo/hub/ColorSelPortlet.java#L57])
- PH Message Box Portlet, see 
[MessageBoxPortlet.java|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/demo/hub-demo-portlet/src/main/java/org/apache/portals/pluto/demo/hub/MessageBoxPortlet.java#L53]
- Partial Action Portlet, see 
[PartialActionPortlet.java|https://github.com/apache/portals-pluto/blob/pluto-3.1.0/demo/hub-demo-portlet/src/main/java/org/apache/portals/pluto/demo/hub/PartialActionPortlet.java#L48]

And that's reflected in the URL that was requested by the browser:

http://localhost:9080/pluto/portal/V3.0%20Portlet%20Hub%20Demo/__pdhub-demo-portlet.ImageSelPortlet%21-1503889707%7C0;0/__pdhub-demo-portlet.PH-ColorSelPortlet%21-1503889707%7C2;1/__pdhub-demo-portlet.MessageBoxPortlet%21-1503889707%7C3;2/__pdhub-demo-portlet.PH-ResourcePortlet-PRP%21-1503889707%7C1;3/__pdhub-demo-portlet.PartialActionPortlet%21-1503889707%7C4;4/__ws0;normal/__ws1;maximized


> When a portlet is maximized portlets after it are still visible
> ---------------------------------------------------------------
>
>                 Key: PLUTO-784
>                 URL: https://issues.apache.org/jira/browse/PLUTO-784
>             Project: Pluto
>          Issue Type: Bug
>          Components: portlet container
>    Affects Versions: 3.1.0
>         Environment: Chrome 78
>            Reporter: Mehdi Javan
>            Assignee: Neil Griffin
>            Priority: Major
>         Attachments: image-2019-12-11-11-21-04-421.png, 
> image-2019-12-11-11-21-18-565.png
>
>
> For example, on the following page, if *PH Color Selection Portlet* is 
> maximized two other portlets are still visible; see the next image below. 
> My expectation is that the maximized portlet fit to the whole page and all 
> the other portlets are hidden.
> !image-2019-12-11-11-21-18-565.png!
>  
> !image-2019-12-11-11-21-04-421.png!



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to