Step 1. Modify the PAGSGroupStoreConfig.xml file
1. Open the PAGSGroupStoreConfig.xml file for editing, located in your uPortal source directory at uportal-imp/src/main/resources/properties/groups/PAGSGroupStoreConfig.xml
2. Declare a new group.
- Below is an example of an "All Staff" group that groups users based on if the attribute eduPersonAffiliation=staff
Code Block |
---|
|
<!-- Example Group Declarations -->
<?xml version="1.0"?>
<!DOCTYPE Group-Store PUBLIC "-//uPortal//PAGSGroupStore/EN" "PAGSGroupStore.dtd">
<Group-Store>
<!-- Group declarations: -->
<!--
Group pags_root: "PAGS Root"
IMPORTANT: The PAGS Root group is REQUIRED for uPortal to function. It Must be a member of the Everyone group in the
local group store
-->
<group>
<group-key>pags_root</group-key>
<group-name>PAGS Root</group-name>
<group-description>Root group for all PAGS groups. Convenience for adding PAGS groups to a local group.</group-description>
<members>
<member-key>all_users</member-key>
</members>
</group>
<!--
Group all_users: "All Users (PAGS)"
All IPersons are memebers of this group
IMPORTANT: The All Users group is REQUIRED for uPortal to function. It Must be a member of the PAGS Root group
-->
<group>
<group-key>all_users</group-key>
<group-name>All Users (PAGS)</group-name>
<group-description>All Portal Users</group-description>
<selection-test>
<test-group>
<test>
<attribute-name></attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.AlwaysTrueTester</tester-class>
<test-value></test-value>
</test>
</test-group>
</selection-test>
<!-- Don't forget to define your new sub-group using the members directive if you want the group to be a sub-group of "All Users" -->
<members>
<member-key>all_staff</member-key>
</members>
</group>
<!-- ********** Here's our new "All Staff" group we are declaring *********** -->
<group>
<group-key>all_staff</group-key>
<group-name>All Staff (PAGS)</group-name>
<group-description>All Staff Users</group-description>
<selection-test>
<test-group>
<test>
<attribute-name>eduPersonAffiliation</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsTester</tester-class>
<test-value>staff</test-value>
</test>
</test-group>
</selection-test>
</group>
...
<!-- End Group declarations: -->
</Group-Store>
|
- Now, what if I wanted to refine the staff group into departments? Below is an additional example that groups "All Staff" users from above into departments based on if the attribute ou=ITS (Information Technology Services)
Code Block |
---|
|
<!-- Example Group Declarations -->
<?xml version="1.0"?>
<!DOCTYPE Group-Store PUBLIC "-//uPortal//PAGSGroupStore/EN" "PAGSGroupStore.dtd">
<Group-Store>
<!-- Group declarations: -->
<!--
Group pags_root: "PAGS Root"
IMPORTANT: The PAGS Root group is REQUIRED for uPortal to function. It Must be a member of the Everyone group in the
local group store
-->
<group>
<group-key>pags_root</group-key>
<group-name>PAGS Root</group-name>
<group-description>Root group for all PAGS groups. Convenience for adding PAGS groups to a local group.</group-description>
<members>
<member-key>all_users</member-key>
</members>
</group>
<!--
Group all_users: "All Users (PAGS)"
All IPersons are members of this group
IMPORTANT: The All Users group is REQUIRED for uPortal to function. It Must be a member of the PAGS Root group
-->
<group>
<group-key>all_users</group-key>
<group-name>All Users (PAGS)</group-name>
<group-description>All Portal Users</group-description>
<selection-test>
<test-group>
<test>
<attribute-name></attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.AlwaysTrueTester</tester-class>
<test-value></test-value>
</test>
</test-group>
</selection-test>
<!-- Don't forget to define your new sub-group using the members directive if you want the group to be a sub-group of "All Users" -->
<members>
<member-key>all_staff</member-key>
</members>
</group>
<group>
<group-key>all_staff</group-key>
<group-name>All Staff (PAGS)</group-name>
<group-description>All Staff Users</group-description>
<selection-test>
<test-group>
<test>
<attribute-name>eduPersonAffiliation</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsTester</tester-class>
<test-value>staff</test-value>
</test>
</test-group>
</selection-test>
<!--
If you want to declare a group within another, you must include the <members> directive.
In other words, the "ITS Dept" below is a subgroup of the "All Staff" group as indicated in the example
-->
<members>
<member-key>its</member-key>
</members>
</group>
<group>
<group-key>its</group-key>
<group-name>ITS Dept (PAGS)</group-name>
<group-description>All ITS department Users</group-description>
<selection-test>
<test-group>
<test>
<attribute-name>ou</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsTester</tester-class>
<test-value>ITS</test-value>
</test>
</test-group>
</selection-test>
</group>
...
<!-- End Group declarations: -->
</Group-Store>
|
- From the example above we have created a hierarchy of groups (below is a screen shot of the Groups Manager listing the new PAGS groups from the declaration above)
Image Added |
Warning |
---|
NOTE: It's very important that you keep the PAGS Root and All Users group declaration. These group declarations are REQUIRED. |
Step 2. Deploy your Groups
- From the uPortal root source directory deploy your group changes
No Format |
---|
ant clean deploy-ear
|
Step 3. Restart uPortal
- Restart your Tomcat instance
No Format |
---|
TOMCAT_HOME/bin/shutdown.sh
TOMCAT_HOME/bin/startup.sh
|
Info |
---|
|
Additional References |
Warning |
---|
icon | false |
---|
title | Having problems with these instructions? |
---|
|
Please send us feedback at uportal-user@lists.ja-sig.org |