Sungard SCT's RDBMDistributedLayoutStore
This page is part of the Aggregated Layout Management Convergence 2.x effort that will be added to 3.x.
For our version of ALM we have the portal.properties parameter UserLayoutStoreFactory.implementation configured to use a subclass of RDBMUserLayoutStore that we provide.
org.jasig.portal.UserLayoutStoreFactory.implementation = campuspipeline.uportal.dlm.RDBMDistributedLayoutStore
This class performs the following tasks when constructed.
Activity |
Description |
---|---|
Obtain UserIdentityStore |
Used during loading of fragments since layouts for a fragment are aquired from the layout of the owner account specified for a fragment in dlm.xml. |
Load dlm.xml Configuration |
Accomplished through the ConfigurationLoader class which loads a DOM representation of the contents of dlm.xml and then creates:
|
Turns on debugging |
If the debugging property in dlm.xml is true then debug entries for DLM will be dumped for most activities performed by the DLM classes both for loading and for evaluating and merging fragments for a user at log-in. See Sample DLM merging debug output. |
Loads Layout Decorator |
If a layout decorator is specified in dlm.xml this is the point where it is loaded and made ready for use during loading of layouts. |
Launches Activator Thread |
FragmentDefinitions must be expanded into the full loaded layout of the fragment's specified owner and converted to have node ids that are consistently reproducible and unique system wide. This is critical so that when these fragments are merged with a user's owned portion of the layout we don't get id collisions and so that we can always trace back to the original layout node that contributed a specific node to the user's layout. This facilitates users modifying fragments and duplicating those modifications the next time the user logs in. This process of loading, and converting the layouts is known as fragment activation and is performed by a FragmentActivator class. All requests for regular user layouts are blocked until activation has completed. |
Launches Fragment Cleaner Daemon |
This thread reloads layouts for fragments based on the cache refresh rate specified in dlm.xml. It too uses the FragmentActivator class to load and convert the layouts during refreshing. |