Carsten Ziegeler wrote:

Ralph Goers wrote:
And what about the case that I added support for - full screen with all the navigation still present?
Actually, your changes broke the full screen feature if no tab is
available. If you look at the current portal demo, full screen does not
work anymore in the anonymous section as there is no tab.
Ouch. Well I could look into fixing that tomorrow. It needs to work in 2.1 and I presume the changes below are only going in trunk.

Or is that what you are calling max-paged
(I get realy confused by this since the default 2.1 behavior is min/normal/full-screen-no-nav)?
The new possibilities are min/norma/full-screen-no-nav/max-paged where
max-paged is a full-screen with static parts (= navigation and important
portlets).
Frankly, the static layout thing sounds like it could get to be quite a pain. I really don't want to have to add an attribute on every single tab to say it should always be shown.
Yes, for sure. We will have default values for each layout object. And
the default for a tab will be static=true. So actually you shouldn't
have to add an attribute at all.
I suggest, just give me some more days to implement this stuff. Then we
all can have a look at it and decide if it's a good thing or if it's
crap. And then perhaps we see what we really need.
But as I said, we have the use case for full-screen (= one single coplet
without any navigation) and max-paged. Perhaps max-paged is a wrong or
misleading term?
Well, JSR-168 (almost) defines NORMAL, MAXIMIZED and MINIMIZED. Unfortunately, both full-screen and max-paged meet the definition of MAXIMIZED so it isn't clear what behavior a portlet should exhibit in that case. In addition, JSR-168 allows us to define other window states. So I would suggest that whatever window states are supported that they be done in such a way that they can eventually be used by JSR-168 portlets as well as coplets.
Hmm, I thought if preferences are changing, the coplet instances data
are only saved and not the layout?
After looking at the code I guess your right - we only write out the coplet instances data. That isn't a problem for me now, but I imagine it will be for some users.

But you're right that it's not good to save the whole bunch of data. We
should provide the information about what changed to the persistence
layer and it's then up to the layer to decide to save the whole profile
or just the changed information.
As I recall this was partly an artifact of the way that pluto stores preferences. I believe pluto starts the process by calling PortletEntityImpl.store(). So unless we keep track of the parts that have changed ourselves we don't know what has changed and so we write the whole thing. However, I believe it is worse than that because we end up using Castor to generate the XML and it, of course, is going to want to generate the whole document.

Ralph

Reply via email to