Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

This page is part of the Aggregated Layout Management Convergence 2.x effort that will be added to 3.x.

When users log-in their personal layout fragment or PLF is first loaded. The PLF contains both visual layout elements that they own and non-visual, "ghost" nodes used to record previous changes made to fragments. Then the [RDBMDistributedLayoutStore|Sungard SCT's RDBMDistributedLayoutStore
] passes through all configured fragments asking each if they are applicable to this user as determined by their configured audiences. If DLM debugging is turned on these evaulations can be seen from entries made in the log files as shown below.

The paren and attribute evaluators each log an entry as they enter the isApplicable method and as they exit. When exiting they indicate if the result was true or false. The nesting is part of the logging and serves to help see the nesting of the evaluator hierarchy built up based on configuration found in the Sample dlm.xml file page.

From the logs it can be seen that the mboyd user is a faculty member and hence is elligible for the Faculty fragment.

Note that the leading timestamp, class, lines, etc., have been removed for brevity.

Note also the logging of user preference attributes including those from preference values set by fragment owners.

Sample Fragment Merging Debug Log Entries
>>>> calling All Users.isApplicable( mboyd )
 ---- All Users.isApplicable( mboyd )=true
 >>>> calling Students.isApplicable( mboyd )
  >>>> calling paren[campuspipeline.uportal.dlm.provider.Paren@4e4a8a, op=OR].isApplicable()
  >>>> calling paren[campuspipeline.uportal.dlm.provider.Paren@7fc8b2, op=AND].isApplicable()
  >>>> calling Evaluator[role','1','student'].isApplicable()
 ----- comparing value 'student' to role 'admin'
 ----- comparing value 'student' to role 'faculty'
 Evaluating person roles to: false
  ---- Evaluator[role','1','student'].isApplicable()=false
  ---- paren[campuspipeline.uportal.dlm.provider.Paren@7fc8b2, op=AND].isApplicable()=false
  ---- paren[campuspipeline.uportal.dlm.provider.Paren@4e4a8a, op=OR].isApplicable()=false
 ---- Students.isApplicable( mboyd )=false
 >>>> calling Faculty.isApplicable( mboyd )
  >>>> calling paren[campuspipeline.uportal.dlm.provider.Paren@487093, op=OR].isApplicable()
  >>>> calling Evaluator['role','1','faculty'].isApplicable()
 ----- comparing value 'faculty' to role 'admin'
 ----- comparing value 'faculty' to role 'faculty'
 Evaluating person roles to: true
  ---- Evaluator[role','1','faculty'].isApplicable()=true
  ---- paren[campuspipeline.uportal.dlm.provider.Paren@487093, op=OR].isApplicable()=true
 ---- Faculty.isApplicable( mboyd )=true
 >>>> calling Employee.isApplicable( mboyd )
  >>>> calling paren[campuspipeline.uportal.dlm.provider.Paren@56c3cf, op=OR].isApplicable()
  >>>> calling Evaluator[role','1','employee'].isApplicable()
 ----- comparing value 'employee' to role 'admin'
 ----- comparing value 'employee' to role 'faculty'
 Evaluating person roles to: false
  ---- Evaluator[role','1','employee'].isApplicable()=false
  ---- paren[campuspipeline.uportal.dlm.provider.Paren@56c3cf, op=OR].isApplicable()=false
 ---- Employee.isApplicable( mboyd )=false

 ***** mboyd's StructureStylesheetUserPrefereneces

*** Folder Attributes
> n13.width = (33%) 33%
> s12.width = (33%) 33%
> u13l1s11.width = (null) 50%
> u11l1s12.width = (null) 50%
> u11l1s16.width = (null) 20%
> u11l1s9.width = (null) 30%
> u13l1s9.width = (null) 50%

*** Channel Attributes

  • No labels