BibliographyPlugin » History » Version 12

Luis Figueira, 2012-07-11 04:26 PM
added info on nokogiri

1 1 Luis Figueira
h1. Bibliography Plugin Documentation
2 1 Luis Figueira
3 6 Luis Figueira
We're developing a Plugin to manage project's and user's bibliographical entries. In the issue tracker it is named _feature_36_.
4 1 Luis Figueira
5 4 Chris Cannam
* [[BibliographyOngoingReviewNotes|Ongoing miscellaneous review notes]] from testing during development
6 1 Luis Figueira
* [[BibliographyPluginAlphaVersion|Plugin's Alpha Version Requisites and Notes]]
7 6 Luis Figueira
8 6 Luis Figueira
9 6 Luis Figueira
h2. Objective and Philosophy
10 6 Luis Figueira
11 6 Luis Figueira
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.
12 6 Luis Figueira
13 7 Luis Figueira
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.
14 1 Luis Figueira
15 7 Luis Figueira
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. 
16 7 Luis Figueira
17 1 Luis Figueira
h2. Plugin Architecture
18 7 Luis Figueira
19 7 Luis Figueira
h3. Permissions
20 8 Luis Figueira
21 7 Luis Figueira
The following permissions were created: 
22 7 Luis Figueira
23 7 Luis Figueira
* view
24 7 Luis Figueira
* add
25 7 Luis Figueira
* edit
26 7 Luis Figueira
* delete  
27 7 Luis Figueira
28 1 Luis Figueira
29 1 Luis Figueira
h3. Models
30 1 Luis Figueira
31 1 Luis Figueira
h4. Publications
32 1 Luis Figueira
33 1 Luis Figueira
h4. Bibtex_Entries
34 1 Luis Figueira
35 1 Luis Figueira
h4. Authors
36 1 Luis Figueira
37 1 Luis Figueira
h4. Authorships
38 1 Luis Figueira
39 1 Luis Figueira
Model that "ties" the authors and publications models together. It contains relation-specific information: 
40 1 Luis Figueira
41 1 Luis Figueira
* @name_on_paper@: author's name on that specific publication;
42 1 Luis Figueira
* @order@: author's order in that publication;
43 1 Luis Figueira
* @institution@: author's institution when the publication was published;
44 1 Luis Figueira
* @email@: author's email on that specific publication.
45 1 Luis Figueira
46 1 Luis Figueira
47 1 Luis Figueira
h3. Relationships
48 1 Luis Figueira
49 1 Luis Figueira
NOTE: upload the class UML. 
50 1 Luis Figueira
51 1 Luis Figueira
52 1 Luis Figueira
h3. Tying it all togheter
53 1 Luis Figueira
54 2 Luis Figueira
This is the complete documentation used to create the plugin:
55 2 Luis Figueira
http://www.redmine.org/projects/redmine/wiki/Hooks
56 1 Luis Figueira
57 2 Luis Figueira
h3. Views
58 1 Luis Figueira
59 2 Luis Figueira
There should be two main ways to browse publications:
60 2 Luis Figueira
61 2 Luis Figueira
# General
62 2 Luis Figueira
# Project 
63 2 Luis Figueira
64 2 Luis Figueira
h4. General Publications View
65 2 Luis Figueira
66 3 Luis Figueira
All the publications published in the website.
67 3 Luis Figueira
68 2 Luis Figueira
h4. Project Publications View
69 1 Luis Figueira
70 1 Luis Figueira
All the publications related to a specific project.
71 1 Luis Figueira
72 1 Luis Figueira
h4. My Publications
73 1 Luis Figueira
74 1 Luis Figueira
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
75 2 Luis Figueira
76 12 Luis Figueira
h2. Bibtex Parsing and necessary gems
77 12 Luis Figueira
78 12 Luis Figueira
* bibtex parsing we're using the @bibtex-ruby@ gem; 
79 12 Luis Figueira
* formatting: @citeproc-ruby@ gem
80 12 Luis Figueira
** need to have @libiconv@ installed
81 12 Luis Figueira
*** needs nokogiri gem: http://nokogiri.org/tutorials/installing_nokogiri.html
82 1 Luis Figueira
 
83 9 Chris Cannam
h2. Deployment note
84 9 Chris Cannam
85 9 Chris Cannam
After running the migrations, you need to seed the publication types:
86 9 Chris Cannam
87 10 Chris Cannam
@rake redmine:plugins:redmine_bibliography:seed_bibtex_entry_types@