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 use…
PHP XSLT JavaScript
Permalink
Failed to load latest commit information.
classes Disabled threaded merged record update at least until issues with Mon… Feb 27, 2017
conf Added an option for checking SolrCloud cluster state while indexing a… Jan 26, 2017
dbscripts Changed a couple of Mongo indexes to non-sparse since sparse causes p… May 5, 2014
mappings [ALLI-4754] NdlMarcRecord: added handling of usage rights. Jan 26, 2017
tests Added test sample files. Jan 27, 2016
transformations Removed obsolete LIDO XSL transformation (done in PHP). Aug 5, 2014
.gitignore Updated .gitignore. Jan 27, 2016
LICENSE Added LICENSE file. Feb 7, 2012
README.md Code style fixes. Feb 1, 2017
build.xml build.xml with a couple of php-ca-fixer targets, php-cs-fixer fixes a… Aug 11, 2015
cmdline.php Initial commit for switching from the deprecated mongo extenssion to … Nov 17, 2016
composer.json Updated dependency versions and composer.lock. Feb 22, 2017
composer.lock Updated composer.lock once more. Feb 22, 2017
datasources.php build.xml with a couple of php-ca-fixer targets, php-cs-fixer fixes a… Aug 11, 2015
export.php build.xml with a couple of php-ca-fixer targets, php-cs-fixer fixes a… Aug 11, 2015
harvest.php Refactored harvesting classes to have a common base class. Initial su… May 12, 2016
httpd-recman-oai-pmh.conf Updated the sample httpd conf files to support mod_authz. Sep 14, 2015
httpd-recman-preview.conf Updated the sample httpd conf files to support mod_authz. Sep 14, 2015
import.php build.xml with a couple of php-ca-fixer targets, php-cs-fixer fixes a… Aug 11, 2015
manage.php Clearer message when purgedeleted is run without --force. Nov 29, 2016
oai-pmh.php Initial commit for switching from the deprecated mongo extenssion to … Nov 17, 2016
preview.php Initial commit for switching from the deprecated mongo extenssion to … Nov 17, 2016
splitlog.php build.xml with a couple of php-ca-fixer targets, php-cs-fixer fixes a… Aug 11, 2015

README.md

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.

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.

  • Required PHP packages: php php-pear php-xml php-xsl php-devel php-mbstring php-intl

    yum install php php-pear php-xml php-devel php-mbstring php-intl

  • Required PHP packages for polygon simplification in NominatimGeocoder (optional):

    yum install geos geos-php

    With PHP 7 a recent version from https://git.osgeo.org/gogs/geos/php-geos may be required, and it will require yum install geos-devel to compile.

  • Required pecl modules: mongodb

    E.g. remi repos include a package for mongodb:

    yum install php70-php-pecl-mongodb

    Webtatic too:

    yum install php70w-pecl-mongodb

    If there's no package available, use pecl to install mongodb:

    yum install gcc make pecl install mongodb

    Either way, make sure it's at least v1.2.0. Earlier versions have problems with pcntl.

  • Add the extension=mongodb.so line to /etc/php.d/mongodb.ini

  • Required Pear modules: HTTP_Request2

    pear install HTTP_Request2

  • Install MongoDB from 10gen repositories (see http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages)

  • Adjust MongoDB settings as needed

  • Copy RecordManager to /usr/local/RecordManager/

  • Run composer install to install PHP dependencies

  • Create indexes with dbscripts/mongo.js

    mongo recman dbscripts/mongo.js

  • Copy conf/recordmanager.ini.sample to conf/recordmanager.ini and modify the settings to suit your needs.

  • Copy conf/datasources.ini.sample to conf/datasources.ini and modify the settings to suit your needs.

  • Start using the system by executing e.g.

    php harvest.php --source=datasource_id

    or

    php import.php --file=filename --source=datasource_id
    
  • Deduplicate harvested records:

    php manage.php --func=deduplicate

  • Update Solr index:

    php manage.php --func=updatesolr