uP101 User Attributes and Person Directory Configuration
An element of the uP101 pre-conference seminar
This page is not intended to be a general documentation of uPortal configuration. It is the specific ramblings that will be presented at the JA-SIG Vancouver uPortal 101 pre-conference seminar.
Best documentation is on uPortal wiki: PersonDirectory
uPortal comes with legacy personDirs.xml enabled. To see how the Spring configured version works, we'll switch to that and add a silly attribute.
Step 1.
In the OtherProperties directory of the uportal 101 Eclipse project find
IsDemo.personDirectory.xml
It has commented out the section pointing to the legacy implementation and uncommented the beans:
org.jasig.portal.services.persondir.support.CachingPersonAttributeDaoImpl org.jasig.portal.services.persondir.support.MergingPersonAttributeDaoImpl
and defined two source beans:
uPortalJdbcAttributeSource
which is the functional equivalent of the legacy implementation and a new source:
PortalDbJndiTestDemoSource
The new source uses the jndi source PersonDb instead of the default portal database. In our setup PersonDb also points to the default database but in production it wouls be pointed to an authoritative source for attributes.
The new source creates an attribute with a value of either "yup" or "nope" depending on whether the user is demo.
Step 2.
- Copy IsDemo.personDirectory.xml to the properties directory and rename it to personDirectory.xml.
- ant deploy
- restart Tomcat and browse to http://localhost:8080/uPortal
- login as admin and look at the Person Attribute channel under the Development tab. This user should now have an attribute
IsDemo = nope
- logout and login as demo. Check the Person attribute channel again - demo should have an attribute
IsDemo = yup