Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Section
Column
width45%
Tip
titleTable of Contents
Table of Contents
indent
15px
10px
stylenone
Column

 

Column
width45%
Info
titleApplicability

This document applies to Sakai 2.6.0 and subsequent releases.

Information for previous Sakai releases is still available: Sakai 2.4 and the post-2.4 and 2.5 releases.

Column
width10%

 

Citations Dynamic Configuration Overview

Dynamic Configuration allows you to provide various authorization rules for different groups of Citations Helper users. This configuration method requires modifications to the default SiteOsidConfiguration API implementation, org.sakaiproject.citation.impl.SampleSiteOsidConfiguration.select an appropriate Citations configuration for each individual user – this is done on-the-fly, at runtime. The configuration is chosen based on user characteristics that reflect the needs of your institution. This might include campus affiliation, guest status, etc.

A custom Java implementation of the SiteOsidConfiguration API is required to set up a Dynamic Configuration.

Example Scenario

A simple scenario that suggests a dynamic configuration would be appropriate:

At my institution, users affiliated with West Campus use Sirsi SingleSearch, and users affiliated with East Campus use Ex Libris MetaLib.


To handle our the example scenario, we'll need two sets of XML configuration files, one set for SingleSearch and one another set for MetaLib, as well as .

We'll also need a site-specific implementation of the SiteOsidConfiguration API interface. The Our custom SiteOsidConfiguration implementation selects will select the appropriate configuration files at runtime, when the Citations Helper is invoked.

API Interface

The Citations code provides a Java interface that defines methods used by the Citations Helper to find appropriate configuration information for a given user. See:

    org.sakaiproject.citation.api.SiteOsidConfiguration

Implementation

A The SiteOsidConfiguration implementation picks the proper selects appropriate XML configuration files for the current user, . The selction is typically based on that various user 's contextattributes: campus and course affiliations, guest status, etc. – basically, whatever attributes make sense for your institution.

Default Implementation

The default SiteOsidConfiguration API implementation provided with the Citations Helper is available here:

    org.sakaiproject.citation.impl.SampleSiteOsidConfiguration

Anchor
decisions
decisions

This class needs to make makes three basic decisions:

  1. Which XML configuration file is appropriate for this user?

    The Java code returns the name of XML file that describes the proper configuration. See getConfigurationXml() in SampleSiteOsidConfiguration.

  2. Which databases are available to this user?

    The Java code returns the name of an XML file that describes the database hierarchy. See getDatabaseHierarchyXml() in SampleSiteOsidConfiguration.

  3. What groups (if any) does this user belong to?

    Groups allow the Citation Helper to decide which portions of the database hierarchy are available to the current user. In the Search Categories & Databases XML documentation, you will see that each defined database can have associated database-groups.

    See getGroupIds() in SampleSiteOsidConfiguration for a simple implementation.

Custom Implementation

A custom (or site specific) SiteOsidConfiguration implementation Your custom implementation of the SiteOsidConfiguration API needs to make the same three decisions outlined above.

It may be easiest to modify the default implementation, SampleSiteOsidConfiguration.java, with any changes required to address the needs at your site. Your updated code can be compiled and deployed using the normal Citations build procedure.

...

To establish a dynamic configuration, changes are made to sakai.properties. In addition, you 'll probably may need to create multiple sets of XML configuration and search category files.

...

In our example scenario, we'll need to provide the names of our configuration and search categories files in sakai.properties. One set is for East Campus, the other is for West Campus.

...

When setting up an XML configuration file, it's probably easiest to copy the sample XML configuration file, changing values to reflect your requirements.

...

You may also want to review the editing overview for Citations configuration files.


Note: The Java source code linked to from this page is in Sakai trunk. Be sure to review the code included with your Sakai release when making changes.