CSC/ECE 517 Fall 2014/OSS E1451 las: Difference between revisions
Line 36: | Line 36: | ||
3. Execute 'rails generate delayed_job:active_record' | 3. Execute 'rails generate delayed_job:active_record' | ||
This will create a delalyed_job file in /bin directory. | |||
4. Execute 'rails generate delayed:upgrade' if delayed_job has been created before.<br> | 4. Execute 'rails generate delayed:upgrade' if delayed_job has been created before.<br> |
Revision as of 20:13, 29 October 2014
E1451 - Create Mailers for All Email Messages
Introduction
Expertiza<ref name="expertiza>Expertiza http://wikis.lib.ncsu.edu/index.php/Expertiza</ref>, an open source web application designed to carry out multiple peer review processes for learning and education purpose, has been used by CSC517 Object Oriented Programming Languages and Systems course at NC State University as the main project management tool. The latest "Rails 4" branch of Expertiza, although combined with various enhancements from the past two years, is seriously broken, from data migration to key feature implementation. Part of the reason has been the design strategy and code changes by various teams. The Expertiza Emailer team, consisting of three students, aims to restore the e-mailer and e-mail messages capability from Projects E701 and E729, and bring back the new features created by Project E916. Significant amount of time has been spent on correcting bugs and errors in the program before the email features can be restored, and therefore this wiki also documents the changes our team has made and provides a guideline for future development and enhancement.
Project Requirements
1. Restore features and functions in Expertiza that trigger email messages
2. Create mailers for all email messages for both asynchronous events and synchronous events
3. All emails should be sent via ActionMailer
4. Emails should have different class
Modification to Existing Code
Data migration issue
Assignment Controller
Synchronous Emailer
Asynchronous Emailer
Rspec test cases
Installation Steps
Because asynchronous events require a daemon running in the background and the new Delayed Job for Rails 4 has additional fields, the following steps are recommended.
1. Install Expertiza and execute 'bundle install'
2. Create database and perform data migration using 'rake db:migrate'
3. Execute 'rails generate delayed_job:active_record'
This will create a delalyed_job file in /bin directory.
4. Execute 'rails generate delayed:upgrade' if delayed_job has been created before.
5. Start the delayed_job server by executing
RAILS_ENV=production bin/delayed_job start
Known Issues and Future Work
References
<references/>