Lagotto 3.6.2

Lagotto 3.6.2 was released on October 10, 2014 with the following features:

  • improved caching of the admin dashboard
  • optimized SQL queries for listing articles

Lagotto 3.6

Lagotto 3.6 was released on October 8, 2014 with the following features and bugfixes:

  • added publisher information to articles and enabled import of publisher information from CrossRef
  • list articles by publisher
  • enabled publisher-specific source configuration for CrossRef and PMC Usage Stats
  • associate user accounts with publishers, and allow these users to change publisher-specific source configuration
  • Upgrade to Rails 3.2.19
  • fixed problem with generation of monthly reports for counter, pmc and mendeley
  • many small bug fixes

Users upgrading from earlier versions need to make the following changes:

  • Add at least one publisher, and associate at least one user account with this publisher (in the account profile for admin/staff accounts, by an admin for user accounts)
  • Add publisher-specific settings to the CrossRef and PMC source. Add Openurl username to CrossRef if you plan to collect citation counts for articles where you are not the publisher.

Lagotto 3.5

With this release the ALM application was renamed to Lagotto and the license changed
from Apache 2.0 to a MIT license. Lagotto 3.5 was released on September 14, 2014
with the following features and bugfixes:

  • updated automated installation with Chef/Vagrant to use Ubuntu 14.04 and Nginx, and simplified and tested the Chef cookbook
  • updated the manual installation instructions, and added a new page with deployment instructions
  • fixed a bug with caching JSONP API responses
  • improved caching of the admin dashboard by moving to model caching for slow queries

ALM 3.4.8

ALM 3.4.8 was released on August 28, 2014 with the following bugfix:

  • don't send email alerts for delayed_job errors

ALM 3.4.2

ALM 3.4.2 was released on August 24, 2014 with the following bugfix:

  • fixed issue with caching of the admin panel

ALM 3.4

ALM 3.4 was released on August 22, 2014 with the following new features:

  • better caching of the admin panel
  • simplified admin panel navigation, and more information made available to regular users
  • publisher model with support for automated article import via CrossRef API
  • more granular error reporting with levels INFO, WARN, ERRORand FATAL
  • Alerts API for admin users
  • new /heartbeat API endpoint to check application health
  • many bug fixes

To enable the automated daily article import via CrossRef API, add the following line to config/settings.yml:

import: member

To import articles manually, leave import empty; or use one of the following options for automated daily import via cron:

  • import: all: All DOIs updated the last day
  • import: sample: A random sample of 20 from all DOIs updated the last day
  • import: member: All DOIs from the publishers in the publisher admin interface, updated the last day
  • import: member_sample: A random sample of 20 from all DOIs from the publishers in the publisher admin interface, updated the last day

Publishers can now be added in the admin interface. The only functionality is currently the automated article import described above.

For admin users alerts are now available via API, use the /api/v4/alerts endpoint and basic authentication. More details in the API documentation.

There is one configuration change in error reporting: the disabled_source_report has been renamed to fatal_error_report, as an immediate email will now be sent for all errors with severity FATAL. To rename the report template in the database, run this rake task once (using the appropriate RAILS_ENV):

bundle exec rake mailer:rename_report RAILS_ENV=production

ALM 3.3.19

ALM 3.3.19 was released on August 18, 2014 with the following new feature:

  • set background worker priority individually for every source

ALM 3.3.14

ALM 3.3.14 was released on August 15, 2014 with the following bugfix:

  • fixed bug with oEmbed functionality

ALM 3.3.12

ALM 3.3.12 was released on August 13, 2014 with the following new feature:

  • added rake task to delete CouchDB history documents (which are no longer needed). Use START_DATE and END_DATE.
bundle exec rake couchdb:histories:delete START_DATE=2014-01-01

ALM 3.3.8

ALM 3.3.8 was released on August 8, 2014 with the following bugfix:

  • unescape URLs in the oembed controller

ALM 3.3.5

ALM 3.3.5 was released on August 5, 2014 with the following bugfix:

  • handle larger delayed_job payloads (up to 16 MB)

ALM 3.3.2

ALM 3.3.2 was released on August 3, 2014 with the following bugfixes:

  • fixed a problem where the same cached response was used by both the v3 and v5 API
  • fixed a bug where some dates from events where incorrently formatted

ALM 3.3.1

ALM 3.3.1 was released on July 31, 2014 with the following bugfix:

  • allow import of articles that contain non utf-8 characters in the title

ALM 3.3

ALM 3.3 was released on July 29, 2014 with the following features:

  • import of articles via the CrossRef API
  • support for oEmbed
  • performance improvements
  • better handling of not found errors
  • better support for multiple ALM servers

ALM 3.2

ALM 3.2 was released on July 1, 2014 with the following features:

  • removed all dependencies on retrieval_histories table (which will be dropped in a future release)
  • finished work on v5 API (first released in ALM 2.14), which should now be stable
  • search Twitter by DOI or URL
  • added brakeman security scanner to continuous integration setup
  • bug fixes

ALM 3.1

ALM 3.1 was released on May 23, 2014 with the following features:

  • display of all events for an article by date
  • many bug fixes

ALM 3.0

ALM 3.0 was released on May 8, 2014 with the following features:

  • rewrite of all sources
  • rewrite of backend processing of source API responses
  • daily and monthly visualizations for all sources
  • standardized events in CSL format
  • Rails 3.2.18

ALM 2.14

ALM 2.14 was released on April 24, 2014 with the following new features:

  • extensive refactoring of background workers for sources
  • fixed some open issues with displaying information using the d3.js library (and included Jasmine Javascript unit tests)
  • full support for using the pmid or pmcid instead of the doi as required persistent identifier for every article
  • improved support for Capistrano 3
  • many bug fixes

ALM 2.13.2

ALM 2.13.2 was released on March 27, 2014 with a focus on bug fixes:

  • OAuth2 authentication for Mendeley
  • switch to Scopus REST API (from SOAP)
  • partial publication dates (year or year-month)
  • limit number of active workers per source
  • better monitoring of background workers and jobs
  • Rails 3.2.17


Migrate to new date format (year, month, day):

bundle exec rake db:articles:date_parts RAILS_ENV=production

Add number of workers in config/settings.yml:

defaults: &defaults
  workers: 3

Update Mendeley configuration (after getting client ID and secret from Mendeley):


Url with type{id}/?type=%{doc_type}

Url with title{title}/?items=10

Authentication url

Related articles url{id}

Client id


Add Scopus source (after getting api_key and insttoken from Scopus):



ALM 2.12.1

ALM 2.12.1 was released on February 10, 2014 with the following changes:

  • hotfix for Facebook source
  • added Postgres support (with big help from @CottageLabs)
  • queue articles by publication date
  • changed how we get the canonical URL for a DOI
  • updated documentation, in particular how we setup ALM


Update Facebook configuration:

URL{access_token}&q=select url, share_count, like_count, comment_count, click_count, total_count from link_stat where url = '%{query_url}'

ALM 2.11.2

ALM 2.11.2 was released on January 22, 2014. Changes in this release include:

  • sources, status and api_requests in the admin dashboard are loaded via cached API requests for better performance
  • included performance improvements from @CottageLabs, in particular additional MySQL indexes
  • included ALM visualization code from @jalperin
  • upgraded to Bootstrap 3, many small visual changes in the frontend
  • added Twitter source
  • added monthly CSV report that is automatically generated
  • fixed bug that could cause wrong login credentials


Update CouchDB design docs (needed for reports):

curl -X PUT -d @design-doc/reports.json 'http://localhost:5984/alm/_design/reports'

Remove HTML and XML from article titles:

bundle exec db:articles:sanitize_title

ALM 2.10.1

ALM 2.10.1 was released on November 13, 2013 with the following features:

  • improve dashboard performance
  • improve reporting
  • merged DOI import code from CrossRef

ALM 2.9.15

ALM 2.9.15 was released on November 3, 2013. This release contains fixes for the mailer functionality and two new reports:

  • status report
  • disabled source report

A new source has been added:

  • DataCite

ALM 2.9.7

ALM 2.9.7 was released on October 3, 2013. This release fixes many small bugs of the 2.9 release and adds the following new sources:

  • PMC Europe Citations
  • PMC Europe Database Links
  • Reddit
  • OpenEdition

ALM 2.9

ALM 2.9 was released on September 16, 2013. This version contains numerous bug fixes, and some important parts of the application were refactored

  • all HTTP calls to external APIs now use the Faraday library, with automatic JSON decoding and central error logging
  • the duration of responses from external APIs is now logged and displayed
  • XML parsing was cleaned up and consolidated into the nokogiri gem
  • background processing has been simplified
  • the automatic installation with Vagrant was improved and the documentation updated

The major new feature in this release is error tracking via filters. Filters can easily be added and customized, and they will generate a daily error report that is sent out via email

ALM 2.8

ALM 2.8 was released on July 22, 2013. The development work focused on user account management.

User accounts

Prior to this release, the ALM application allowed only a single user account. We can now have multiple user accounts, plus different roles for them:

  • API user - to obtain an API key
  • staff - read-only access to the admin dashboard
  • admin - full access to the admin dashboard

A new user admin dashboard facilitates user management.

Social login

To facilitate account management for users and ALM admins, new user accounts can only be created via social login with one of these services:

The ALM application can be configured to use one of these services (but not both), or to use the old system of only a single admin user. The documentation has been updated to reflect these changes.

API keys

Now that API keys are created within the ALM application, we can check for valid API keys in every API request. This is currently only done to allow access to private sources for admins, and to enable create/update/delete in the REST API. For security reasons create/update/delete only works from requests originating from the same computer.


The documentation in the wiki is now included in the application, making it easier for users to find documentation. We use the github-markdown gem for this. The documentation has been updated with the changes in ALM 2.8, and other updates.

Other Changes

Many small changes and bug fixes. We now use memcached for caching, and we added to cron jobs to clean up temporary tables (error_messages and api_requests).

ALM 2.7

ALM 2.7 was released on May 16, 2013. The development work focused on adding Javascript libraries that talk to the ALM API and can be embedded in other web sites.

Javascript single article visualizations

We added visualizations for single articles using the d3.js library, including time-based visualizations by day, month and year. We have created a new Github repository that will hold all future work on Javascript libraries talking to the ALM API. To make these visualizations easier we made two changes to the v3 ALM API:

  • added signposts (views, shares, bookmarks, citations) as summary information
  • added metrics by day, month and year for every source

Other Changes

We have made it easier to install the ALM application by adding and testing support for Amazon AWS via Vagrant. We added rake tasks to seed or delete articles, and to delete resolved errors and old API requests. Many small bugs were fixed and the ALM application was updated to use the latest Rails version (3.2.13).

ALM 2.6

ALM 2.6 was released on March 19, 2013. The development work focused on two areas: API performance and easy installation.

API Performance

The API code was refactored, adding the Draper Decorator between the model and the RABL Views. We added caching, using Russian Doll fragment caching as described here. It required some extra work to make this work with RABL and Draper. We also added a visualization of API requests to the admin dashboard, using d3.js and the crossfiler library.

Easy Installation

To make it easier to install the ALM application, we have updated and throughoutly tested the manual installation instructions, updated the Chef / Vagrant automated installation (now using Ubuntu 12.04 and linking directly to the Chef Cookbook repository), and provided a VMware image of ALM application (535 MB download, username/password: alm). The VMware image file is still experimental and feedback is appreciated.

An updated version of Vagrant (1.1) was released days after ALM 2.6, and this version now supports VMware and AWS. We will support these platforms in a future ALM release to again make it easier to test or install the ALM application.

Other Changes

This release includes many small fixes and improvements. Of particular interest are the RSS feeds for the most popular articles by source, published in the last 7 days, 30 days, 12 months, or all-time. The RSS feeds are link from the most-cited lists for each source, e.g. here.

ALM 2.5

ALM 2.5 was released on February 1st, 2013.

  • admin dashboard
  • First visualizations based on d3.js
  • RSS feeds
  • Rails 3.2.11

ALM 2.4

ALM 2.4 was released on December 20, 2012.

In this release we added a new source (ScienceSeeker, a blog aggregator), fix many errors with sources and added tests for background and Rake tasks.

ALM 2.3

ALM 2.3 was released on October 30, 2012.

  • updated API (v3)

ALM 2.2

ALM 2.2 was released on October 5, 2012.

  • added Twitter Bootstrap CSS framework
  • many small bug fixes and tweaks
  • Rails 3.2.8

ALM 2.1

ALM 2.1 was released on September 13, 2012.

  • moved source code to Github
  • added Rspec and Cucumber test coverage
  • added installation script using Vagrant and Chef
  • added Wikipedia source
  • Rails 3.2.7

ALM 2.0

ALM 2.0 was released on July 31, 2012.

  • Ruby 1.9.3 and Rails 3.2.3
  • switched from workling/starling to delayed_job for workers
  • major refactoring of background processes
  • store source data in CouchDB