The Person Directory Service provides tools to aggregate user attributes from multiple data sources into a unified view. Classes are provided to access data from databases via JDBC and LDAP servers. Support classes provide caching, multi-source and attribute merging functionality. The class implementations are designed as Java Beans and are commonly configured in a Spring bean context. All of the examples in this documentation will be done using Spring bean configuration.
The core of the Person Directory Service is the IPersonAttributeDao interface. All of the functionality is based on implementations of this interface using the "nested enclosure" design pattern to provide easily configurable functionality.
Releases & Downloads
The current Person Directory release is 1.1.2. Information about upcoming features and releases can be found on the projects JIRA roadmap.
The project provides Maven artifacts via the JA-SIG Maven repository: http://developer.ja-sig.org/maven2/
The api module just includes the base interfaces that a client needs to work with to use the service:
<dependency> <groupId>org.jasig.service</groupId> <artifactId>person-directory-api</artifactId> <version>1.1.2</version> </dependency>
The impl module includes all of the attribute retrieval and aggregation implementations. It also depends on the api module so depending on person-directory-impl will bring in person-directory-api.
<dependency> <groupId>org.jasig.service</groupId> <artifactId>person-directory-impl</artifactId> <version>1.1.2</version> </dependency>
Projects Using Person Directory
uPortal 3.0 and CAS 3.1 both use Person Directory as their user attribute retrieval and aggregation utility.