Overview
DocumentStore for OLE is a content management system with features like checkin, checkout, versioning, locking etc for library records such as Bibliographic, Item, Holdings, Patron, License etc. Most of the records are in XML format but the documentstore is format agnostic in that it stores the content as is without any type conversion. Furthermore indexing of the stored data is also supported for efficient search and retrieval. Although the documentstore is an independent system that comes with basic UI to enable supported operations, majority of interaction happens from OLE such as ingest of new records, editing of existing records and search and retrievals.
Core Technologies
DocumentStore for OLE uses Apache Jackrabbit 2.0 for content storage and Apache Solr 3.0 for indexing and searching.
Architecture
The architecture was designed primarily around the need to store various document types, formats and the volume. Jackrabbit is a content hierarchy of "items". An item can be a node or a property (stores the actual value). For example if one were to store the first name, middle name and and the last name of the person in jackrabbit, there will be a node for person with properties for first name, middle name and last name as properties that store the actual value. In comparison to a traditional RDBMS, nodes can be thought of as tables and properties as columns that have the actual values.
Even though the architecture is flexible i.e. at the time of setup implementors can specify the content hierarchy of the data, the default content hierarchy has been setup assuming three levels i.e document category, document type and document forma as shown in the diagram below;
|
1 - Denotes the 1st level of content hierarchy under the root node which represents document categories. Here its is "Work" |
|
|
L1 - This denotes level 1 where you can have up to 1K nodes. Total number of MARC records at L1 Jackrabbit recommends small number of nodes per parent node for efficiency. |
|
|
L1 - This denotes leve 1 with up to 1K nodes. |