...
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 |
---|
borderStyle | solid |
---|
title | Sample Audience Declaration | borderStyle | solid | xml |
---|
|
<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 |
---|
borderStyle | solid |
---|
title | Sample Audience Declaration | borderStyle | solid | xml |
---|
|
<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 |
---|
borderStyle | solid |
---|
title | Sample Audience Declaration |
---|
borderStyle | solid |
---|
xml |
|
<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>
|