...
For example, the Student fragment is configured with this element in dlm.xml
Code Block | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
<dlm:fragment name='Students' ownerID='student-lo' precedence='100'> <dlm:role>student</dlm:role> <dlm:audience evaluatorFactory='com.pipeline.uportal.dlm.provider.CPPersonEvaluatorFactory'> <paren mode="AND"> <attribute name='role' mode='equals' value='student'/> <paren mode="NOT"> <attribute name='role' mode='equals' value='faculty'/> </paren> </paren> </dlm:audience> </dlm:fragment> |
...
Note also the logging of user preference attributes including those from preference values set by fragment owners.
Code Block | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
>>>> 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 |