Questions regarding uPortal portlet moveability and precedence

Anastasia Cheetham a.cheetham at
Mon Nov 5 21:32:00 UTC 2007

The Fluid team is working towards implementing the Fluid Reorderer in  
uPortal for rearranging portlets. Our discussions have raised some  
questions about the meaning and effect of precedence and restrictions  
on movement. We have our own guesses as to the answers to some of  
these questions, but we'd like some expert verification :-)

These questions arise out of a plan to encode the current portlet  
layout, and the potential drop targets for moving portlets, in a pair  
of JSON objects. This plan is roughly described on the Fluid project  
wiki, at

Our understanding is that there are (at least) three pieces of  
information associated with a portlet that are relevant to moving  
	a) a boolean flag indicating whether or not a portlet is moveable at  
	b) a precedence - an integer ranging from 1 to 100, 100 being  
highest precedence
	c) a boolean flag indicating whether or not a portlet can be removed

Given this...

Question 1: What, exactly, does it mean that a portlet cannot be  
moved (point (a) above)?

Considering a mouse-based drag-and-drop scenario for simplicity of  
discussion, I understand that it means I cannot click on a non- 
moveable portlet and drag it to a new location.

However: Suppose, for example, the non-moveable portlet is currently  
the second portlet down its column (the first portlet being  
moveable). Does it also mean I cannot place another portlet into the  
same column anywhere above the non-moveable portlet, because if I did  
that would effectively 'move' the non-moveable portlet to become the  
third item in its column?

Another question regarding non-moveable portlets:

Suppose the first portlet at the top of a column is moveable, but the  
second portlet below it is not. If I move the top portlet to another  
column, does the second portlet, which is not moveable, move up to  
become the first portlet, or does it remain where it was, leaving a  
gap above it?

Question 2: How, exactly, does precedence affect moveability?

Consider the following example scenario:
   - Portlet P1, the top portlet in column 1, has precedence 70
   - Portlet P2, the top portlet in column 2, has precedence 50

My understanding is that P2 cannot be placed above P1 in column 1,  
since the precedence of P2 is lower than that of P1.

Can P1 be placed below P2 in column 2? That would result in P2 being  
'above' the higher-precedence P1 - is that allowed, or prohibited?

Question 3: Will the user who is moving portlets about know anything  
about the current moveability and precedence settings of the  
portlets? If so, how -- for example are they coloured differently?

Question 4: What is the default precedence of a portlet, if none is  

Question 5: Can columns have a precedence?

Question 6: What is the implication of having a non-moveable portlet  
inside a moveable column?

Question 7: What is the implication of having a non-removeable  
portlet inside a removeable column?

Anastasia Cheetham                   a.cheetham at
Software Designer, Fluid Project
Adaptive Technology Resource Centre / University of Toronto

                to many things and which
                i have been sometimes true
                to Nothing and which lives
                                    -- E.E. Cummings

More information about the fluid-work mailing list