CSC/ECE 517 Fall 2017/E1785 OSS project Beige: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
 
(40 intermediate revisions by 3 users not shown)
Line 5: Line 5:
=='''Problem Statement'''==
=='''Problem Statement'''==
*The following problems need to be handled in this project:
*The following problems need to be handled in this project:
**The reviewer need to know which submission is the latest one so they could choose the right one to review in the next round.
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.
**The delay of the comfirm email to the reviewer about their submissions' revision.


=='''Files modified in Current Project'''==
=='''Files modified in Current Project'''==
*dominant files were modified for the project:
*1)app/controllers/student_review_controller.rb
**add a method in model response to get a timestamp from github.
*2)app/views/student_review/_responses.html.erb
**modifying corresponding part in the student_review/responses.html.erb to show the update information.
===''ResponseModel''===
This modle is responsible for students' review work of their peers.Specificly,the model is responsible for the review page which could show all the submissions of participants and reviewer could make their review for every submissions. What we do in this model is achiveing some functions and making coressponding changes to help the review page shows which submission was upgraded and the exactly time of the upgrade about the submission so that reviewer could know which submissions are updated since he/she submitted the review when the second review cycle starts.


=='''Solutions Implemented and Delivered'''==
=='''Solutions Implemented and Delivered'''==
*1.USing OAuth token to access the github repositpry and get the latest commit time.
In order to know whether someone's submission has been updated or not ,we need to acquire the last review time and the latest submission update time.If the submission time is later than the last review time ,it shows that the submission has been updated after previous review so we would show that submission time on the review page to notify reviewers about the update. In our case ,the submission update time includes 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
[[File:2.png]]
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.
*2.Getting the last review time in the previous round and comparing with the commit time got above.Then showing the upgrade information if the commit time is later than the last review time.
[[File:4.png]]
[[File:1.pgn]]


=='''Automated Testing using RSPEC'''==
*'''1.get the last review time. (here sorted_reponse[0] is the last review )
[[File:r1.png]]


=='''Testing from UI'''==
[[File:r2.png]]
<br style="clear: left"/>
*'''2.Use OAuth token to access the github repositpry and get the latest commit time.'''
[[File:1511.png]]
*'''3.Compare Github update time with last review time
[[File:r3.png]]
*'''4.get link or file update time through submission record and  compare the submission update time with last review time.'''
[[File:r4.png]]
*'''5.show update information on the reviewer page '''
[[File:r5.png]]
 
*'''Screenshots Of The Implemented Features'''
[[File:r6.jpg]]
 
<br style="clear: left"/>


=='''References'''==
=='''References'''==
*[http://developer.github.com/v3/ Github Api]
*[http://octokit.github.io/octokit.rb/ Ruby toolkit]

Latest revision as of 02:02, 9 November 2017

E1785.UI features related to revision time

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 someone's submission has been updated or not ,we need to acquire the last review time and the latest submission update time.If the submission time is later than the last review time ,it shows that the submission has been updated after previous review so we would show that submission time on the review page to notify reviewers about the update. In our case ,the submission update time includes 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 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

  • Screenshots Of The Implemented Features


References