Umlaut is software for libraries (the kind with books).
It could be described as a front-end layer on top of an existing OpenURL knowledge base. But it's actually quite a bit more than that.
It could also be described as: a just-in-time aggregator of "last mile" specific-citation services, taking input as OpenURL, and providing both an HTML UI and an api suite for embedding Umlaut services in other products. What do you mean by this?
Umlaut is distributed as a ruby Rails engine gem. It's a very heavyweight engine, the point of distro'ing as a gem is to make it easy to keep local config/customization/enhancement seperate from distro, not so much to let you 'mix in' Umlaut to an already existing complex app.
For complete step-by-step install instructions suitable even for the neophyte, see: https://github.com/team-umlaut/umlaut/wiki/Installation.
The Rails/Umlaut super-concise expert summary is:
$ rails generate umlaut:install
mysql database strongly encouraged, sqlite3 probably won't work.
Umlaut uses multi-threaded concurrency in a way incompatible with development-mode class reloading. You need cache_classes=false even in dev, the Umlaut install generator changes this for you.
Only spotty test coverage, sorry, but we're trying to improve. Don't trust if all tests pass everythings good, but if tests fail, that's an unacceptable commit. Try to add tests with new features, although we understand when nobody can figure out a good way to test (esp our legacy architecture).
Run tests with
Tests are with plain old Test::Unit, please.
Tests use the vcr gem where appropriate. See
gem skeleton was created with
rails plugin new, which creates a dummy app
that tests are run in context of, at
You can join the umlaut listserv at: http://rubyforge.org/mail/?group_id=4382