History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: UP-2119
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Eric Dalquist
Reporter: Karl Isenberg
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
uPortal

LPAResetAttribute doesn't push the tab name change into the PLF if labelPolicy == null

Created: 23/Jul/08 12:27 PM   Updated: 15/Sep/08 06:46 PM
Component/s: Preferences, Distributed Layout Management (DLM)
Affects Version/s: 2.6.1, 3.0.0, 3.0.1
Fix Version/s: 3.0.2, 3.1.0

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown


 Description  « Hide
if no dlm label policy is specified:
*Change a tab name (should work)
*Change the same tab name back to the default name (works in javascript and in the database, but the ilf is not updated)
*Reload the page (the tab name will change back to the previous name)
*Log out
*Log back in (the name should be correctly set to the default name)

I traced this back to the LPAResetAttribute class. If the labelPolicy is null then only the edit directive is removed.

To fix the problem I replaced (line 74 of source/org/jasig/portal/layout/dlm/LPAResetAttribute.java):
if (!name.equals(Constants.ATT_NAME))
{
  ilfNode.setAttribute(name, fragmentValue);
}

with
if (DistributedLayoutManager.ContextHolder.labelPolicy == null || !name.equals(Constants.ATT_NAME))
{
  ilfNode.setAttribute(name, fragmentValue);
}

 All   Comments   Work Log   Change History      Sort Order:
Karl Isenberg [23/Jul/08 02:41 PM]
On a related note:
In source/org/jasig/portal/layout/dlm/remoting/UpdatePreferencesServlet.java
In renameTab()
The following code does nothing:

StructureStylesheetUserPreferences ssup = upm.getUserPreferences()
.getStructureStylesheetUserPreferences();
ssup.setFolderAttributeValue(tabId, "name", tabName);

It just prints an error because name isn't stored in the folder attributes (looks like only widths).


Eric Dalquist [23/Jul/08 03:35 PM]
This appears to affect 3.x as well.

Eric Dalquist [25/Aug/08 03:38 PM]
For 3.0 the fix should look like:

if (DistributedLayoutManager.ContextHolder.getLabelPolicy() == null || !name.equals(Constants.ATT_NAME))

{ ilfNode.setAttribute(name, fragmentValue); }