Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
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
Failed to load latest commit information.
app Issue #431: Change how essences are returned to enable media seeking.
config Revert "Commit config files for deployment."
data Added a task for retired language codes.
db Issue #419: Fix CSV upload by changing session store to active_record…
doc Move from ffprobe to avprobe.
lib Issue #392: Modify the XLS import script to read names from a comma d…
log Add a rails 3.1rc5 template
public Fix up some Nabu spreadsheet import issues.
script Upgrade to rails 3.2.6
solr/conf Increase ngram size for identifier search to 10 ngrams instead of 5,
spec Issue #410: Add depositor download reports.
vendor/assets Fix encoding bug with searches (closes #297)
.gitignore Add ngram filtering to the index (fixes #150)
.rspec Start using spring
Capfile Compile asstes
Gemfile Issue #419: Fix CSV upload by changing session store to active_record…
Gemfile.lock Issue #419: Fix CSV upload by changing session store to active_record…
Guardfile Start using spring
LICENSE Create LICENSE
README.md Staging deployment Changes
Rakefile Add a rails 3.1rc5 template
TODO.md Removed some items that are done.
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.