Skip to content
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.
Ruby HTML CSS CoffeeScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app Merge pull request #538 from nabu-catalog/feature/noticket-slow-saving
config add mimetype autocomplete
data Added a task for retired language codes.
db Issue #377 WIP: Get rid of non-existent attribute
doc Move from ffprobe to avprobe.
lib Issue #347: Implement transcoding for videos to video/webm
log Add a rails 3.1rc5 template
public Fix up some Nabu spreadsheet import issues.
script Upgrade to rails 3.2.6
solr/conf Fix #452 search failure for long words. Done by increasing max ngram …
spec Issue #347: Implement transcoding for videos to video/webm
vendor/assets Fix encoding bug with searches (closes #297)
.gitignore Update DOI metadata generation to include parent relations. Update sp…
.rspec Start using spring
.rubocop.yml NOTICKET add RuboCop: Install RuboCop and created todo
.rubocop_todo.yml Issue #535 WIP: Fix RuboCop offenses
Capfile Compile asstes
Gemfile Issue #347: Implement transcoding for videos to video/webm
Gemfile.lock Issue #347: Implement transcoding for videos to video/webm
Guardfile Start using spring
LICENSE Create LICENSE
README.md Staging deployment Changes
Rakefile Add a rails 3.1rc5 template
TODO.md
config.ru Add a rails 3.1rc5 template
help.txt Add help file for common commands.

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

delete a collection with all its items:

cd /srv/www/nabu/current
RAILS_ENV=production bundle exec rake archive:delete_collection[PA1]


# 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):

``` bash
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.