Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Example: if the IPerson contained a "role" attribute that were one of three values, "student", "faculty", or "alumni" then to include a layout fragment in the layout for all users having role equal to student the following <dlm:audience> element would suffice.

Code Block
xml
xml
borderStylesolid
titleSample Audience DeclarationborderStylesolid
<dlm:audience evaluatorFactory="campuspipeline.uportal.dlm.IPersonEvaluatorFactory">
 <attribute name="role" mode="contains" value="student"/>
</dlm:audience>

Example: if there were a number of roles beyond just these three and a particular layout fragment needed to be included in all roles except for those of faculty and alumni then either of the following <dlm:audience> elements would do the trick although stricly speaking the paren is not needed inside of the <NOT> element.

Code Block
xml
xml
borderStylesolid
titleSample Audience DeclarationborderStylesolid
<dlm:audience evaluatorFactory="campuspipeline.uportal.dlm.IPersonEvaluatorFactory">
 <parent mode="NOT"> 
  <attribute name="role" mode="contains" value="faculty"/>
  <attribute name="role" mode="contains" value="alumni"/>
 </paren>
</dlm:audience>

<dlm:audience evaluatorFactory="campuspipeline.uportal.dlm.IPersonEvaluatorFactory">
 <paren mode="NOT"> 
  <paren mode="OR">
   <attribute name="role" mode="contains" value="faculty"/>
   <attribute name="role" mode="contains" value="alumni"/>
  </paren>
 </paren>
</dlm:audience>

Example: The following complex rule shows the capabilities of combining these three elements. The layout containing this <dlm:audience> element would be included for all juniors in any chemistry class or any senior in any biology class except biology 101.

Code Block
xml
xml
borderStylesolid
titleSample Audience DeclarationborderStylesolid
<dlm:audience evaluatorFactory="campuspipeline.uportal.dlm.IPersonEvaluatorFactory">
 <paren operation="OR"> 
  <paren operation="AND">
   <attribute name="yearLevel" mode="equals" value="junior"/>
   <attribute name="courses" mode="contains" value="Chemistry"/>
  </paren>
  <paren operation="AND">
   <paren operation="AND">
    <attribute name="courses" mode="contains" value="Biology"/>
    <NOT>
     <attribute name="courses" mode="contains" value="101"/>
    </NOT>
   </paren>
   <attribute name="yearLevel" mode="equals" value="senior"/>
  </paren>
 </paren>
</dlm:audience>