Skip to content
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…
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf Fix encoding of MongoDB connection url in recordmanager.ini.sample. Apr 24, 2019
dbscripts Fix indexed column name for dedup collection. Sep 7, 2018
mappings Improvements to EAD3 indexing. (#23) Mar 19, 2019
src/RecordManager Add timezone indicator to some dates in log messages. Apr 24, 2019
tests Fix dedup key creation to not mess up UTF-8. Use UNICODE normalizatio… Jan 25, 2019
transformations [ALLI-5039] [ALLI-5042] NdlMarcRecord: Added support for Koha 952 fie… May 30, 2017
utils Add missing slash between dir and filename. Feb 13, 2019
.gitignore Updated .gitignore. Mar 24, 2017
.travis.yml Disable PHP 7.0 build in Travis. Nov 9, 2018
LICENSE Added LICENSE file. Feb 7, 2012
README.md
build.xml Massive refactoring of database handling, namespacing, class renaming… Jul 3, 2017
cmdline.php Check for and report errors when loading ini files. Mar 20, 2019
composer.json Downgrade mongodb for improved back-compatibility. Nov 9, 2018
composer.lock Downgrade mongodb for improved back-compatibility. Nov 9, 2018
datasources.php Check for and report errors when loading ini files. Mar 20, 2019
export.php Check for and report errors when loading ini files. Mar 20, 2019
harvest.php Check for and report errors when loading ini files. Mar 20, 2019
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 Check for and report errors when loading ini files. Mar 20, 2019
manage.php Check for and report errors when loading ini files. Mar 20, 2019
oai-pmh.php Check for and report errors when loading ini files. Mar 20, 2019
preview.php Check for and report errors when loading ini files. Mar 20, 2019
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.

General Installation

  • PHP 7.x is required.
  • Composer is required for dependencies. Run composer install in the directory where RecordManager is installed.
  • The following PHP modules are required: xml, xslt, mbstring, intl
  • The following PECL module is required: mongodb

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
    

    Note that as of September 2017 CentOS comes with geo 3.4.2 which has memory leaks and problems with polygon simplification, so building at least version 3.6.2 from source is recommended (see https://trac.osgeo.org/geos). With PHP 7 a recent version of GEOS PHP bindings from https://git.osgeo.org/gogs/geos/php-geos is required anyway. yum install geos-devel will be needed to compile the bindings unless GEOS is installed from source.

  • 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

  • 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
    
You can’t perform that action at this time.