CSC/ECE 517 Fall 2013/oss E812 amp: Difference between revisions
Line 38: | Line 38: | ||
'''Push gem''' <br/> | '''Push gem''' <br/> | ||
In order to make this gem available to everyone, we need to push the gem using : </ | In order to make this gem available to everyone, we need to push the gem using : <br/> | ||
gem push automated_metareview-0.0.2.gem | gem push automated_metareview-0.0.2.gem | ||
Line 47: | Line 47: | ||
OR | OR | ||
You can check in the list of available gems:</ | You can check in the list of available gems:<br/> | ||
gem list -r automated_metareview | gem list -r automated_metareview | ||
Revision as of 22:26, 30 October 2013
Intrdouction
This article is a report about our Open Source project(Expertiza) - Turn automated_metareview folder into a gem . It explains the design considerations, steps followed, issues faced while setting up Expertiza. It explains how our team manages to create a new Gem file, and test it on the existing Expertiza system.
Project Description
Existing Expertiza system had automated_metareview.rb class which was using the text processing functionality from automated_metareview directory. "automated_metareview" directory had 18 files which included features like spell checker, plagiarism check and the review tone.
What it does: Gives automatic feedback to a reviewer, using NLP text analysis, to help the reviewer improve the review.
What needs to be done: We had to convert automated_metareview directory into a gem so that it can be used with other review systems.
Our goal was to remove the automated_metareview directory from existing Expertiza system. Include all those features in the Gem, and then import the functionality from the Gem file.
Motivation
The features of Automated metareview were integrated in the existing Expertiza system. If these features were converted into a gem, then these can be used in other review systems, wherein the reviewer will get an automated feedback about the review and he/she can change the review based on the results of automated metreview results. Thus by creating a gem file, other systems can install the gem and get access to all features of automated metareview, thereby increasing reusability.
Design
Steps to create Gem
We have turned the automated_metareview feature into a gem called “automated_metareview” which could be used in other review systems. Here is the basic structure of our gem:
Lib: code of automated_metareview package is placed in this folder. It contains all the 18 files.
Automated_metareview.rb : This file gets loaded when require’automated_metareview’ is run. That one file is in charge of setting up your gem’s code and API.
Automated_metareview.gemspec : This file gives details of the gem, author, version and other details.
Build and Install Gem:
You can build a gem from gemspec using the following command:
gem build automated_metareview.gemspec
Install the generated gem locally to test it out.
gem install automated_metareview-0.0.2
Push gem
In order to make this gem available to everyone, we need to push the gem using :
gem push automated_metareview-0.0.2.gem
This gem is now available for installation by anyone. This can be viewed in http://rubygems.org/gems/automated_metareview
OR
You can check in the list of available gems:
gem list -r automated_metareview
Steps to install and use Gem
In order to use the gem please follow the below steps:
1. Run the following command to install the gem
gem install automated_metareview-0.0.2
OR Add following line in gemfile
gem ‘automated_metareview-0.0.2’
Run following command:
bundle install
2. Add following line in the code where you want to use the gem:
require ‘automated_metareview-0.0.2’
Example:
Future Work
The current implementation has a few method calls very specific to Expertiza. We can change these methods so that they can be used in any other system. We generalized a few methods, so that it can be used in systems similar to Expertiza. But we can generalize it more such that we can seperate functionalities like Spell checker , plagiarism check in separate gem file.
Appendix: Setup Issues
1. There were a lot of problems with the master branch of expertiza.
2. There were many missing routes.
3. We faced a number of problems installing Aspell dictionary on windows.
4. There are a number of steps which need to be followed to activate the metareview feature.
5. The automated meta review feature is partly implemented using java due to which there are a number of dependencies. To overcome these dependencies we need to install multiple jar files such as joda-time.jar,stanford-segmenter.jar etc.
6. No concrete documentation about the working of the meta review functionality is available due to which a lot of time was required to get the feature running.
References
<references/>