Archived Content

The UP3 space contains documentation related to the next-generation portal exploration work that JA-SIG has now archived. Documentation related to uPortal, including active development for future releases, can be found in the uPortal space.
References to uPortal 3 in this space should be considered out of date. Active uPortal 3 documentation is available in the uPortal space.

Layout management in uPortal 3

Aggregated Layout Manager

There are some significant differences between the first version of ALM 1.0 that has been existing since uPortal 2.2 and ALM 2.0 that is supposed to be implemented in uPortal 3 and then probably ported to uPortal 2.x.
The new features included in ALM 2.0 are the following:

  • User-modifiable fragment support
  • New algorithm of layout assembly
  • Central and local layout modifications paradigm
  • Layout command manager
  • Permissions for fragments and fragment nodes
  • Enhanced restriction management

Overview

User-modifiable fragments are the major part of ALM 2.0 functionality allowing users to modify pushed and pulled fragments in their layouts and store changes in a database. To distinguish the layout changes made by fragment owners and regular users the central and local modifications have been introduced. The local modifications take place when users modify only the content of their own layouts as contrasted to central ones when fragment changes should be reflected in layouts of all users subscribed to fragments being modified. The new layout assembler executes commands for each node in the layout starting construction with the central (user) fragment according to the following algorithm:

  1. Obtain the user fragment, set it to be root
  2. Initialize the current layout with the user fragment
  3. Make sure that the lost folder is always a part of the user fragment (or should be created automatically upon demand)
  4. Obtain the list of all pushed and pulled fragments
  5. Obtain the list of layout operations
  6. Perform operations, recording which pushed fragments have been successfully attached
  7. Attach remaining pushed fragments
  8. Check restrictions and move wrong nodes to the lost folder

One of the main aspects of ALM is that the user layout does not depend on "tab-column" metaphor, it can deal with hierarchical layouts of any depth applying as many restrictions as it needs to any nodes of the layout tree. The layout itself does not contain any user-specific parameters (like column widths or window states) and its assembly should start with adding the one connected part (or in other words a tree from Theory of Graphs) - the user fragment.

Local layout modifications

When users modify their layouts (fragments) in this mode all changes they make are local and belong to one particular layout. All layout commands consistently get recorded in the list of operations, which is later used during the layout assembly. The layout command manager is responsible for managing this list and executing operations that it contains.

Central fragment modifications

This type of modifications is used by fragment authors or authorized users to make centralized fragment changes and thus distribute them to other user layouts. These operations are not recorded and executed immediately.

Layout Command Manager

The layout command manager keeps the list of recorded layout operations, records layout commands, provides business logic for reducing the list size, executes operations on a given layout.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jun 20, 2005

    Andrew Petro says:

    How does what is described as "ALM 2.0" here relate to the DLM work Mark Boyd ha...

    How does what is described as "ALM 2.0" here relate to the DLM work Mark Boyd has been doing in uPortal 2.x? Is the plan to implement layout management anew, to evolve the ALM we've had since uP 2.2 into ALM 2.0, to evolve DLM into ALM 2.0?

    1. Jun 20, 2005

      Michael Ivanov says:

      I have not finished yet :) that will follow later

      I have not finished yet that will follow later

  2. Jun 20, 2005

    B. Collier Jones says:

    Some of the UI folks are working on a document, ALM Control URLs, which is discu...

    Some of the UI folks are working on a document, [ALM Control URLs], which is discussing how we'd like to see the customization aspects of uPortal improved. There might be some overlap in what we're talking about and requirements for layout management in uPortal 3.

    1. Jun 20, 2005

      Michael Ivanov says:

      It relates to the layout server side management more than to UI events, but I ag...

      It relates to the layout server side management more than to UI events, but I agree there will be a few overlap points there.

  3. Jun 20, 2005

    Yuji Shinozaki says:

    One thing that I would like to see is an abstraction for the "fragment sources"....

    One thing that I would like to see is an abstraction for the "fragment sources". i.e. in uP 2.x, fragments are stored in the RDBMS, and that is the only place they can come from. I would like to see fragments that can be generated and/or assembled on the fly. Similar to the composite groups infrastructure, an individual's layout could be assembled from various "fragment sources" only one of which is the rdbms store.

    1. Jun 21, 2005

      Michael Ivanov says:

      This is an interesting idea I was thinking about the same when started working o...

      This is an interesting idea - I was thinking about the same when started working on ALM, we will definitely should think of it for the new version.