Skip to content
This repository

nabu is a digital media item management system that provides a catalog of audio and video items, metadata for these items, and information about the workflow status of the items.

branch: master
README.md

Nabu Catalog

Setting up your dev environment

This application has been configured with guard, it will ensure

  • Tests are run
  • Solr is running for dev and test
  • Development web server is started
  • All of the above is restarted when you edit files
bundle install
bundle exec spring rake db:create
bundle exec spring rake db:schema:load
RAILS_ENV=test bundle exec spring rake db:schema:load
bundle exec guard

Deployment

We are using Capistrano for deployment.

cap deploy

if necessary:

cap deploy:migrate
cap sunspot:reindex

Importing a production database into your development environment

ssh deploy@catalog.paradisec.org.au "mysqldump -u root nabu | gzip > nabu.sql.gz"
scp deploy@catalog.paradisec.org.au:nabu.sql.gz .
gzip -dc nabu.sql.gz | mysql -u root nabu_devel
spring rake sunspot:reindex

Production Tasks

import archive files

RAILS_ENV=production bundle exec rake archive:update_files

check if all files that have been uploaded are ok:

cd /srv/www/nabu/current
RAILS_ENV=production bundle exec rake --trace archive:update_files > log/update_files.log

check if all *-CAT-PDSC_ADMIN.xml files exist and create if necessary:

cd /srv/www/nabu/current
RAILS_ENV=production bundle exec rake --trace archive:admin_files > log/admin_files.log

NEW Ethnologue data

Download the latest version of the following tables from

http://www.ethnologue.com/codes/default.asp#downloading
  • CountryCodes.tab
  • LanguageIndex.tab

Copy them into the data directory, overwriting the existing files there.

Run the following rake tasks to import them (in this order):

bundle exec rake import:countries
bundle exec rake import:languages

All new countries will be added to the Nabu countries table. The new language codes of type "L" will be added to the Nabu language table. All mappings of language to countries will also be added to the countries_languages table.

Retire Ethnologue data

Download the latest version of the retired codes from

http://www-01.sil.org/iso639-3/download.asp#retiredDownloads
  • iso-639-3_Retirements.tab

Copy it into the data directory, overwriting the existing file there.

Run the following rake task to import them:

bundle exec rake import:retired

All existing codes that are retired are marked as such, incl name change. Where name changes occurred items in CollectionLanguage, ItemContentLanguage, ItemSubjectLanguage are updated with the replacement language code. Where splits happened, a message is printed.

OAI-PMH

OLAC available at:

The feeds that OLAC harvests:

Individual item:

RIF-CS available at:

testing:

gem install localtunnel
rbenv rehash
localtunnel 3000

use resulting server on an OAI repository explorer:

The feed that ANDS harvests:

Test at ANDS:

Feed for a single collection:

Setup Rollbar

You need to configure the rollbar API key to capture exceptions.

The first method is creating a file in the shared directory, which will be symlinked by cap.

echo ROLLBAR_API_KEY > /srv/www/nabu/shared/config/rollbar.txt

Alternatively you can pass it in as an environment variable at server start up, for example.

rails server ROLLBAR_ACCESS_TOKEN=ROLLBAR_API_KEY
Something went wrong with that request. Please try again.