CSC/ECE 517 Fall 2017/E1785 OSS project Beige
This page provides a description of the Expertiza based OSS project.
About Expertiza
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.
Problem Statement
- The following problems need to be handled in this project:
Currently, when someone reviews a submission at the next review round(second or third review round), (s)he can't see when that submission was last updated. But a reviewer needs to know when a submission was last updated, because only submissions that are updated need to be re-reviewed.So, reviewers should be told the updated submissions and their latest submission time.
Files modified in Current Project
- 1)app/controllers/student_review_controller.rb
- 2)app/views/student_review/_responses.html.erb
Solutions Implemented and Delivered
In order to know whether her someone's submission has updated or not ,we need to acquire last review time and latest submission update time,if the submission time is later than the last review time ,this means that submission has updated after previous review,then we would show that submission time on the review page to notify reviewers about the update. In our case ,the submission update time include link or file update time and Github update time . we found expertiza has a Submission record which has the time of submitting and removing file or link.So we could get link or file update time through submission record. Github update time is actually its latest commit time which can be acquired using OAuth token to access the github repository to get it.there's review timestamp in expertiza database ,every time you update(save or submit) a review, at that moment the time would be stored in database. we use updated_at method to get the latest review update time that is our last review time.
- 1.get the last review time. (here sorted_reponse[0] is the last review )
- 2.Use OAuth token to access the github repositpry and get the latest commit time.
- 3.Compare Github time update time with last review time
- 4.get link or file update time through submission record and compare the submission update time with last review time.
- 5.show update information on the reviewer page