eXtensibleCatalog / OAI-Toolkit

Synchronize MARC metadata in most ILSs with XC
5 stars 1 forks source link

Allow a single OAI repo the ability to be harvested for a subset of its records based on organization code (i.e., the 003 MARC field or "repository_code") #96

Closed patrickzurek closed 8 years ago

patrickzurek commented 8 years ago

JIRA issue created by: Chris Delis (cedelis) Originally opened: 2012-09-14 12:03 PM

Issue body: It is sometimes useful to be able to: 1) create a single repo for multiple organizations, yet 2) allow these individual organizations the ability to harvest only their own records.

patrickzurek commented 8 years ago

JIRA Comment by user: Chris Delis (cedelis) JIRA Timestamp: 2012-09-14 12:18 PM

Comment body:

In trunk, rev. 521.

This allows administrators the ability to use a single OAI Toolkit to serve all of its records, including multiple organizations' records, while also setting up other instances of OAI Toolkit to serve subsets of its records based on orgCode. The OAI Toolkit already allows you to install multiple versions of the application on a single machine; we take this further by adding an additional parameter, orgCodeFilter, which filters out all records that do NOT match this value.

FYI: I decided to follow this method of implementation instead of making use of OAI-PMH "sets" for two reasons: 1) It was much easier to do, given the current architecture, and 2) this method allows an administrator the ability to expose an organization's records to that particular organization (while we can still use the combined repo (containing multiple organizations' records) internally (and not exposed publicly to anyone). This use case is useful for consortia who wish to set up MetadataServicesToolkit to harvest the OAI repo of the consortium, while still allowing individual organizations (which may or may not also be using MetadataServicesToolkit) to harvest only their own records. Of course one could set up individual OAI Toolkits (and OAI servers) for each individual organization, but this feature allows an administrator a way to do this much more easily and much more efficiently.