NatLibFi / RecordManager

A metadata record management system written in PHP, intended to be used in conjunction with VuFind or another Solr-based discovery interface. Provides import, export, harvesting (OAI-PMH), normalization, deduplication and Solr index update functionality with support for multiple metadata formats. Also includes an OAI-PMH provider that can be used to access the data stored in RecordManager database. Functionality driven by simple command line programs for easy automation.
GNU General Public License v2.0
47 stars 31 forks source link

RecordManager

RecordManager is a metadata record management system intended to be used in conjunction with VuFind. It can also be used as an OAI-PMH repository and a generic metadata management utility.

See the RecordManager wiki for more information and OAI-PMH provider setup.

For a stable version, see the stable branch.

General Installation

Database Support

RecordManager can be used with MySQL, MariaDB or MongoDB.

With MongoDB, the minimum supported version is 3.6. The mongodb PECL module, version 1.15.0 or later, is required (see below for examples on installation).

MongoDB is recommended for a large number of records (typically tens of millions), though it may require more system resources than MySQL or MariaDB.

Upgrading

See CHANGELOG.md for information on changes and anything affecting backward-compatibility.

Generally upgrading should be straightforward by replacing the old version with the new one and running composer install (or php /path/to/composer.phar install). With MongoDB you need to manually check that all indexes are present (see dbscripts/mongo.js). With MySQL/MariaDB make sure all tables are present (see dbscripts/mysql.sql).

Installation Notes on CentOS 7

These are quick instructions on how to set up RecordManager. Please refer to the wiki pages for more information on the configuration and setup of RecordManager.

Autocomplete for Commands (BASH only)

See ./console --help completion to see how you can enable autocompletion of commands with bash.

Creating Additional Modules

RecordManager supports modules that can modify and add new functionality. Active modules are specified in conf/modules.config.php. You can copy the provided conf/modules.config.php.sample to conf/modules.config.php and modify it accordingly.

A minimal module ("Sample" in this example) consists of the following file:

src/RecordManager/Sample/Module.php

The file needs to contain a Module class that provides the module configuration:

<?php
namespace RecordManager\Sample;

class Module
{
    public function getConfig()
    {
        return [];
    }
}

This, alone, doesn't really do anything. Please see the Customizing RecordManager wiki page for further information. See also the Finna module for an example of a module that does a number of different things.