BibliographyPlugin » History » Version 19

« Previous - Version 19/20 (diff) - Next » - Current version
Luis Figueira, 2013-10-09 12:41 PM


Bibliography Plugin Documentation

We're developing a Plugin to manage project's and user's bibliographical entries. In the issue tracker it is named feature_36.

Objective and Philosophy

Projects hosted on code.soundsoftware.ac.uk are usually associated with academic publications (papers, articles, etc). These often offer a strong theoretical background to the code that's being hosted on this site, and many times are the only way users can understand what's happening under the hood for a specific project. On the other hand many researchers are now adopting a "reproducible research" philosophy, in which they not only publish the paper/article itself, but also the code and/or data that supports such publication.

The main idea behind this module is to be able to provide a service that ties both features together, making it easy for researchers to make their source code and publications available on the same platform.

Since Redmine is a project-oriented platform, it makes sense that the publications can only be created, edited, deleted, etc in the project's scope.

Plugin Architecture

Permissions

The following permissions were created:

  • view
  • add
  • edit
  • delete

Models

Publications

Bibtex_Entries

Authors

Authorships

Model that "ties" the authors and publications models together. It contains relation-specific information:

  • name_on_paper: author's name on that specific publication;
  • order: author's order in that publication;
  • institution: author's institution when the publication was published;
  • email: author's email on that specific publication.

Relationships

NOTE: upload the class UML.

Tying it all togheter

This is the complete documentation used to create the plugin:
http://www.redmine.org/projects/redmine/wiki/Hooks

Views

There should be two main ways to browse publications:

  1. General
  2. Project

General Publications View

All the publications published in the website.

Project Publications View

All the publications related to a specific project.

My Publications

In the My Page, there should be a "box" with a list of all the publications added by the user and/or publications where the user is an author

Bibtex Parsing: necessary gems

Installation instructions (tested on eclectus, as root)

  gem install bibtex-ruby

  apt-get install libxslt-dev libxml2-dev
  apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8
  apt-get install libreadline-ruby1.8 libruby1.8 libopenssl-ruby
  gem install nokogiri

  gem install citeproc-ruby 

Deployment notes

Migrations

  rake db:migrate:plugin NAME=redmine_bibliography VERSION=version

After running the migrations, you need to seed the publication types:

  rake redmine:plugins:redmine_bibliography:seed_bibtex_entry_types

Tests

Running test file directly using the rails runner:

ruby -I test plugins/redmine_bibliography/test/unit/author_test.rb