<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ytrived</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ytrived"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Ytrived"/>
	<updated>2026-08-21T13:20:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121531</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121531"/>
		<updated>2018-12-16T02:28:53Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade/comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will create a database called grading_history in the system contains elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into the database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create an entry saves into the database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
Expected view for submission list&lt;br /&gt;
[[File:E1869-Screenshot-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for review report&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for grade record&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Files Changed'''==&lt;br /&gt;
&lt;br /&gt;
===Files Added===&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
 '''This is a model for grading audit trail, containing attributes of grading history'''&lt;br /&gt;
*app/controllers/grading_history_controller.rb&lt;br /&gt;
 '''This is a controller for grading audit trail, it can add grading history into the system'''&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
 '''This is a view for grading audit trail, it will display all grading histories of a submission/review'''&lt;br /&gt;
&lt;br /&gt;
===Files Modified===&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''Add code to call methods in grading_history_controller.rb to create new grading history'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as an instructor&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3. Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4. Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as an instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4. Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Actual Implementation'''==&lt;br /&gt;
===Actual View===&lt;br /&gt;
Actual view for submission list&lt;br /&gt;
[[File:E1869-Actual-1.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review report&lt;br /&gt;
[[File:E1869-Actual-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for submission grade record&lt;br /&gt;
[[File:E1869-Actual-2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review grade record&lt;br /&gt;
[[File:E1869-Actual-4.png]]&lt;br /&gt;
===Actual Code Change===&lt;br /&gt;
==Files Added==&lt;br /&gt;
*app/controllers/grades_controller.rb https://bit.ly/2Cg9WzR&lt;br /&gt;
'''&lt;br /&gt;
Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
 &lt;br /&gt;
*app/controllers/grading_histories_controller.rb https://bit.ly/2RY5xa6&lt;br /&gt;
'''&lt;br /&gt;
Calls the grading history view after validaing Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb https://bit.ly/2QywzZc&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb https://bit.ly/2PHKNRY&lt;br /&gt;
'''&lt;br /&gt;
Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb https://bit.ly/2SPNR0e &lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb https://bit.ly/2S5EI3J&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121530</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121530"/>
		<updated>2018-12-16T02:25:49Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will create a database called grading_history in the system contains elements instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create a entry saves into database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
Expected view for submission list&lt;br /&gt;
[[File:E1869-Screenshot-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for review report&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for grade record&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Files Changed'''==&lt;br /&gt;
&lt;br /&gt;
===Files Added===&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
 '''This is a model for grading audit trail, containing attributes of grading history'''&lt;br /&gt;
*app/controllers/grading_history_controller.rb&lt;br /&gt;
 '''This is a controller for grading audit trail, it can add grading history into the system'''&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
 '''This is a view for grading audit trail, it will display all grading histories of a submission/review'''&lt;br /&gt;
&lt;br /&gt;
===Files Modified===&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''Add code to call methods in grading_history_controller.rb to create new grading history'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Actual Implementation'''==&lt;br /&gt;
===Actual View===&lt;br /&gt;
Actual view for submission list&lt;br /&gt;
[[File:E1869-Actual-1.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review report&lt;br /&gt;
[[File:E1869-Actual-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for submission grade record&lt;br /&gt;
[[File:E1869-Actual-2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review grade record&lt;br /&gt;
[[File:E1869-Actual-4.png]]&lt;br /&gt;
===Actual Code Change===&lt;br /&gt;
==Files Added==&lt;br /&gt;
*app/controllers/grades_controller.rb https://bit.ly/2Cg9WzR&lt;br /&gt;
'''&lt;br /&gt;
Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
 &lt;br /&gt;
*app/controllers/grading_histories_controller.rb https://bit.ly/2RY5xa6&lt;br /&gt;
'''&lt;br /&gt;
Calls the grading history view after validaing Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb https://bit.ly/2QywzZc&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb https://bit.ly/2PHKNRY&lt;br /&gt;
'''&lt;br /&gt;
Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb https://bit.ly/2SPNR0e &lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb https://bit.ly/2S5EI3J&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121529</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121529"/>
		<updated>2018-12-16T02:24:48Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Files Added */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will create a database called grading_history in the system contains elements instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create a entry saves into database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
Expected view for submission list&lt;br /&gt;
[[File:E1869-Screenshot-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for review report&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for grade record&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Files Changed'''==&lt;br /&gt;
&lt;br /&gt;
===Files Added===&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
 '''This is a model for grading audit trail, containing attributes of grading history'''&lt;br /&gt;
*app/controllers/grading_history_controller.rb&lt;br /&gt;
 '''This is a controller for grading audit trail, it can add grading history into the system'''&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
 '''This is a view for grading audit trail, it will display all grading histories of a submission/review'''&lt;br /&gt;
&lt;br /&gt;
===Files Modified===&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''Add code to call methods in grading_history_controller.rb to create new grading history'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Actual Implementation'''==&lt;br /&gt;
===Actual View===&lt;br /&gt;
Actual view for submission list&lt;br /&gt;
[[File:E1869-Actual-1.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review report&lt;br /&gt;
[[File:E1869-Actual-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for submission grade record&lt;br /&gt;
[[File:E1869-Actual-2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review grade record&lt;br /&gt;
[[File:E1869-Actual-4.png]]&lt;br /&gt;
===Actual Code Change===&lt;br /&gt;
==Files Added==&lt;br /&gt;
*app/controllers/grades_controller.rb https://bit.ly/2Cg9WzR&lt;br /&gt;
'''&lt;br /&gt;
Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
 &lt;br /&gt;
*app/controllers/grading_histories_controller.rb https://bit.ly/2RY5xa6&lt;br /&gt;
'''&lt;br /&gt;
Calls the grading history view after validaing Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb https://bit.ly/2QywzZc&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb https://bit.ly/2PHKNRY&lt;br /&gt;
'''&lt;br /&gt;
Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb https://bit.ly/2SPNR0e &lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb https://bit.ly/2S5EI3J&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files Modified==&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''&lt;br /&gt;
  def save_grade_and_comment_for_submission&lt;br /&gt;
    participant = AssignmentParticipant.find_by(id: params[:participant_id])&lt;br /&gt;
    @team = participant.team&lt;br /&gt;
    @team.grade_for_submission = params[:grade_for_submission]&lt;br /&gt;
    @team.comment_for_submission = params[:comment_for_submission]&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: participant.assignment.id,&lt;br /&gt;
 +                           grading_type: &amp;quot;Submission&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: @team.id,&lt;br /&gt;
 +                           grade: @team.grade_for_submission,&lt;br /&gt;
 +                           comment: @team.comment_for_submission)&lt;br /&gt;
      @team.save&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'assignments', action: 'list_submissions', id: @team.parent_id&lt;br /&gt;
  end'''&lt;br /&gt;
* app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
 def save_grade_and_comment_for_reviewer&lt;br /&gt;
    review_grade = ReviewGrade.find_by(participant_id: params[:participant_id])&lt;br /&gt;
    review_grade = ReviewGrade.create(participant_id: params[:participant_id]) if review_grade.nil?&lt;br /&gt;
    review_grade.grade_for_reviewer = params[:grade_for_reviewer] if params[:grade_for_reviewer]&lt;br /&gt;
    review_grade.comment_for_reviewer = params[:comment_for_reviewer] if params[:comment_for_reviewer]&lt;br /&gt;
    review_grade.review_graded_at = Time.now&lt;br /&gt;
    review_grade.reviewer_id = session[:user].id&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: params[:assignment_id],&lt;br /&gt;
 +                           grading_type: &amp;quot;Review&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: Participant.find(params[:participant_id]).user_id,&lt;br /&gt;
 +                           grade: params[:grade_for_reviewer],&lt;br /&gt;
 +                           comment: params[:comment_for_reviewer])&lt;br /&gt;
      review_grade.save!&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'review_mapping', action: 'response_report', id: params[:assignment_id]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 132          &amp;lt;td align = 'left'&amp;gt;&lt;br /&gt;
 133            &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: Participant.where(id: r.id).pluck(:user_id).first) %&amp;gt;&lt;br /&gt;
 134          &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 75       &amp;lt;td width=&amp;quot;10%&amp;quot;&amp;gt;&lt;br /&gt;
 77          &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: team.id) %&amp;gt;&lt;br /&gt;
 79       &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121528</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121528"/>
		<updated>2018-12-16T02:23:19Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Files Added */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will create a database called grading_history in the system contains elements instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create a entry saves into database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
Expected view for submission list&lt;br /&gt;
[[File:E1869-Screenshot-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for review report&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for grade record&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Files Changed'''==&lt;br /&gt;
&lt;br /&gt;
===Files Added===&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
 '''This is a model for grading audit trail, containing attributes of grading history'''&lt;br /&gt;
*app/controllers/grading_history_controller.rb&lt;br /&gt;
 '''This is a controller for grading audit trail, it can add grading history into the system'''&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
 '''This is a view for grading audit trail, it will display all grading histories of a submission/review'''&lt;br /&gt;
&lt;br /&gt;
===Files Modified===&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''Add code to call methods in grading_history_controller.rb to create new grading history'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Actual Implementation'''==&lt;br /&gt;
===Actual View===&lt;br /&gt;
Actual view for submission list&lt;br /&gt;
[[File:E1869-Actual-1.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review report&lt;br /&gt;
[[File:E1869-Actual-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for submission grade record&lt;br /&gt;
[[File:E1869-Actual-2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review grade record&lt;br /&gt;
[[File:E1869-Actual-4.png]]&lt;br /&gt;
===Actual Code Change===&lt;br /&gt;
==Files Added==&lt;br /&gt;
*app/controllers/grades_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
Creates a Grading History Record for every Submission grade edited by the instructor for a Team. https://bit.ly/2Cg9WzR&lt;br /&gt;
'''&lt;br /&gt;
 &lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
Calls the grading history view after validaing Submission and Review Type.https://bit.ly/2RY5xa6&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Creates a Grading History Record for every Review grade edited by the instructor for a Student.https://bit.ly/2QywzZc&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
Model for Grading History.https://bit.ly/2PHKNRY&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Review Grading History. Inherits Grading History.https://bit.ly/2SPNR0e &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Submission Grading History. Inherits Grading History.https://bit.ly/2S5EI3J&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files Modified==&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''&lt;br /&gt;
  def save_grade_and_comment_for_submission&lt;br /&gt;
    participant = AssignmentParticipant.find_by(id: params[:participant_id])&lt;br /&gt;
    @team = participant.team&lt;br /&gt;
    @team.grade_for_submission = params[:grade_for_submission]&lt;br /&gt;
    @team.comment_for_submission = params[:comment_for_submission]&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: participant.assignment.id,&lt;br /&gt;
 +                           grading_type: &amp;quot;Submission&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: @team.id,&lt;br /&gt;
 +                           grade: @team.grade_for_submission,&lt;br /&gt;
 +                           comment: @team.comment_for_submission)&lt;br /&gt;
      @team.save&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'assignments', action: 'list_submissions', id: @team.parent_id&lt;br /&gt;
  end'''&lt;br /&gt;
* app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
 def save_grade_and_comment_for_reviewer&lt;br /&gt;
    review_grade = ReviewGrade.find_by(participant_id: params[:participant_id])&lt;br /&gt;
    review_grade = ReviewGrade.create(participant_id: params[:participant_id]) if review_grade.nil?&lt;br /&gt;
    review_grade.grade_for_reviewer = params[:grade_for_reviewer] if params[:grade_for_reviewer]&lt;br /&gt;
    review_grade.comment_for_reviewer = params[:comment_for_reviewer] if params[:comment_for_reviewer]&lt;br /&gt;
    review_grade.review_graded_at = Time.now&lt;br /&gt;
    review_grade.reviewer_id = session[:user].id&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: params[:assignment_id],&lt;br /&gt;
 +                           grading_type: &amp;quot;Review&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: Participant.find(params[:participant_id]).user_id,&lt;br /&gt;
 +                           grade: params[:grade_for_reviewer],&lt;br /&gt;
 +                           comment: params[:comment_for_reviewer])&lt;br /&gt;
      review_grade.save!&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'review_mapping', action: 'response_report', id: params[:assignment_id]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 132          &amp;lt;td align = 'left'&amp;gt;&lt;br /&gt;
 133            &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: Participant.where(id: r.id).pluck(:user_id).first) %&amp;gt;&lt;br /&gt;
 134          &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 75       &amp;lt;td width=&amp;quot;10%&amp;quot;&amp;gt;&lt;br /&gt;
 77          &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: team.id) %&amp;gt;&lt;br /&gt;
 79       &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121527</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121527"/>
		<updated>2018-12-16T02:22:37Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Files Added */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will create a database called grading_history in the system contains elements instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create a entry saves into database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
Expected view for submission list&lt;br /&gt;
[[File:E1869-Screenshot-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for review report&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for grade record&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Files Changed'''==&lt;br /&gt;
&lt;br /&gt;
===Files Added===&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
 '''This is a model for grading audit trail, containing attributes of grading history'''&lt;br /&gt;
*app/controllers/grading_history_controller.rb&lt;br /&gt;
 '''This is a controller for grading audit trail, it can add grading history into the system'''&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
 '''This is a view for grading audit trail, it will display all grading histories of a submission/review'''&lt;br /&gt;
&lt;br /&gt;
===Files Modified===&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''Add code to call methods in grading_history_controller.rb to create new grading history'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Actual Implementation'''==&lt;br /&gt;
===Actual View===&lt;br /&gt;
Actual view for submission list&lt;br /&gt;
[[File:E1869-Actual-1.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review report&lt;br /&gt;
[[File:E1869-Actual-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for submission grade record&lt;br /&gt;
[[File:E1869-Actual-2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review grade record&lt;br /&gt;
[[File:E1869-Actual-4.png]]&lt;br /&gt;
===Actual Code Change===&lt;br /&gt;
==Files Added==&lt;br /&gt;
*app/controllers/grades_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
Creates a Grading History Record for every Submission grade edited by the instructor for a Team. https://bit.ly/2Cg9WzR&lt;br /&gt;
'''&lt;br /&gt;
 &lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
Calls the grading history view after validaing Submission and Review Type.https://bit.ly/2RY5xa6&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Creates a Grading History Record for every Review grade edited by the instructor for a Student.https://bit.ly/2QywzZc&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
Model for Grading History.https://bit.ly/2PHKNRY&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Review Grading History. Inherits Grading History.https://bit.ly/2SPNR0e &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
Model containing specifics of Submission Grading History. Inherits Grading History.https://bit.ly/2S5EI3J&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files Modified==&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''&lt;br /&gt;
  def save_grade_and_comment_for_submission&lt;br /&gt;
    participant = AssignmentParticipant.find_by(id: params[:participant_id])&lt;br /&gt;
    @team = participant.team&lt;br /&gt;
    @team.grade_for_submission = params[:grade_for_submission]&lt;br /&gt;
    @team.comment_for_submission = params[:comment_for_submission]&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: participant.assignment.id,&lt;br /&gt;
 +                           grading_type: &amp;quot;Submission&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: @team.id,&lt;br /&gt;
 +                           grade: @team.grade_for_submission,&lt;br /&gt;
 +                           comment: @team.comment_for_submission)&lt;br /&gt;
      @team.save&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'assignments', action: 'list_submissions', id: @team.parent_id&lt;br /&gt;
  end'''&lt;br /&gt;
* app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
 def save_grade_and_comment_for_reviewer&lt;br /&gt;
    review_grade = ReviewGrade.find_by(participant_id: params[:participant_id])&lt;br /&gt;
    review_grade = ReviewGrade.create(participant_id: params[:participant_id]) if review_grade.nil?&lt;br /&gt;
    review_grade.grade_for_reviewer = params[:grade_for_reviewer] if params[:grade_for_reviewer]&lt;br /&gt;
    review_grade.comment_for_reviewer = params[:comment_for_reviewer] if params[:comment_for_reviewer]&lt;br /&gt;
    review_grade.review_graded_at = Time.now&lt;br /&gt;
    review_grade.reviewer_id = session[:user].id&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: params[:assignment_id],&lt;br /&gt;
 +                           grading_type: &amp;quot;Review&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: Participant.find(params[:participant_id]).user_id,&lt;br /&gt;
 +                           grade: params[:grade_for_reviewer],&lt;br /&gt;
 +                           comment: params[:comment_for_reviewer])&lt;br /&gt;
      review_grade.save!&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'review_mapping', action: 'response_report', id: params[:assignment_id]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 132          &amp;lt;td align = 'left'&amp;gt;&lt;br /&gt;
 133            &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: Participant.where(id: r.id).pluck(:user_id).first) %&amp;gt;&lt;br /&gt;
 134          &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 75       &amp;lt;td width=&amp;quot;10%&amp;quot;&amp;gt;&lt;br /&gt;
 77          &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: team.id) %&amp;gt;&lt;br /&gt;
 79       &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121526</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=121526"/>
		<updated>2018-12-16T02:20:16Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Files Added */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will create a database called grading_history in the system contains elements instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create a entry saves into database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
Expected view for submission list&lt;br /&gt;
[[File:E1869-Screenshot-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for review report&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expected view for grade record&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Files Changed'''==&lt;br /&gt;
&lt;br /&gt;
===Files Added===&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
 '''This is a model for grading audit trail, containing attributes of grading history'''&lt;br /&gt;
*app/controllers/grading_history_controller.rb&lt;br /&gt;
 '''This is a controller for grading audit trail, it can add grading history into the system'''&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
 '''This is a view for grading audit trail, it will display all grading histories of a submission/review'''&lt;br /&gt;
&lt;br /&gt;
===Files Modified===&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''Add code to call methods in grading_history_controller.rb to create new grading history'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
 '''Add code to support view changes for Grade Record'''&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Actual Implementation'''==&lt;br /&gt;
===Actual View===&lt;br /&gt;
Actual view for submission list&lt;br /&gt;
[[File:E1869-Actual-1.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review report&lt;br /&gt;
[[File:E1869-Actual-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for submission grade record&lt;br /&gt;
[[File:E1869-Actual-2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actual view for review grade record&lt;br /&gt;
[[File:E1869-Actual-4.png]]&lt;br /&gt;
===Actual Code Change===&lt;br /&gt;
==Files Added==&lt;br /&gt;
*app/controllers/grades_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
https://bit.ly/2Cg9WzR &lt;br /&gt;
&lt;br /&gt;
Creates a Grading History Record for every Submission grade edited by the instructor for a Team.&lt;br /&gt;
'''&lt;br /&gt;
 &lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
https://bit.ly/2RY5xa6&lt;br /&gt;
&lt;br /&gt;
Calls the grading history view after validaing Submission and Review Type.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
https://bit.ly/2QywzZc&lt;br /&gt;
Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
https://bit.ly/2PHKNRY&lt;br /&gt;
Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
https://bit.ly/2SPNR0e &lt;br /&gt;
Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb&lt;br /&gt;
'''&lt;br /&gt;
https://bit.ly/2S5EI3J&lt;br /&gt;
Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files Modified==&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
 '''&lt;br /&gt;
  def save_grade_and_comment_for_submission&lt;br /&gt;
    participant = AssignmentParticipant.find_by(id: params[:participant_id])&lt;br /&gt;
    @team = participant.team&lt;br /&gt;
    @team.grade_for_submission = params[:grade_for_submission]&lt;br /&gt;
    @team.comment_for_submission = params[:comment_for_submission]&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: participant.assignment.id,&lt;br /&gt;
 +                           grading_type: &amp;quot;Submission&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: @team.id,&lt;br /&gt;
 +                           grade: @team.grade_for_submission,&lt;br /&gt;
 +                           comment: @team.comment_for_submission)&lt;br /&gt;
      @team.save&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'assignments', action: 'list_submissions', id: @team.parent_id&lt;br /&gt;
  end'''&lt;br /&gt;
* app/controllers/review_mapping_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
 def save_grade_and_comment_for_reviewer&lt;br /&gt;
    review_grade = ReviewGrade.find_by(participant_id: params[:participant_id])&lt;br /&gt;
    review_grade = ReviewGrade.create(participant_id: params[:participant_id]) if review_grade.nil?&lt;br /&gt;
    review_grade.grade_for_reviewer = params[:grade_for_reviewer] if params[:grade_for_reviewer]&lt;br /&gt;
    review_grade.comment_for_reviewer = params[:comment_for_reviewer] if params[:comment_for_reviewer]&lt;br /&gt;
    review_grade.review_graded_at = Time.now&lt;br /&gt;
    review_grade.reviewer_id = session[:user].id&lt;br /&gt;
    begin&lt;br /&gt;
 +     GradingHistory.create(instructor_id: session[:user].id,&lt;br /&gt;
 +                           assignment_id: params[:assignment_id],&lt;br /&gt;
 +                           grading_type: &amp;quot;Review&amp;quot;,&lt;br /&gt;
 +                           grade_receiver_id: Participant.find(params[:participant_id]).user_id,&lt;br /&gt;
 +                           grade: params[:grade_for_reviewer],&lt;br /&gt;
 +                           comment: params[:comment_for_reviewer])&lt;br /&gt;
      review_grade.save!&lt;br /&gt;
    rescue StandardError&lt;br /&gt;
      flash[:error] = $ERROR_INFO&lt;br /&gt;
    end&lt;br /&gt;
    redirect_to controller: 'review_mapping', action: 'response_report', id: params[:assignment_id]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 132          &amp;lt;td align = 'left'&amp;gt;&lt;br /&gt;
 133            &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: Participant.where(id: r.id).pluck(:user_id).first) %&amp;gt;&lt;br /&gt;
 134          &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
'''&lt;br /&gt;
 75       &amp;lt;td width=&amp;quot;10%&amp;quot;&amp;gt;&lt;br /&gt;
 77          &amp;lt;%= link_to &amp;quot;Grading History&amp;quot;, grading_histories_path(grade_receiver_id: team.id) %&amp;gt;&lt;br /&gt;
 79       &amp;lt;/td&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=120275</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=120275"/>
		<updated>2018-11-20T04:12:34Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Testing Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: has a database contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructon&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=120274</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=120274"/>
		<updated>2018-11-20T04:12:14Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Testing Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: has a database contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
For “Review grade”:&lt;br /&gt;
 &lt;br /&gt;
1.Log in as instructon&lt;br /&gt;
&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
 &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=120273</id>
		<title>CSC/E1869 GRADING AUDIT TRAIL</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/E1869_GRADING_AUDIT_TRAIL&amp;diff=120273"/>
		<updated>2018-11-20T04:09:51Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: has a database contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: saves a new entry into database every time a review grade or submission grade is saved&lt;br /&gt;
:View: displays current submission or review's grading history. An existing example of this is submission record in the system.&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
For “Review grade”: &lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
2.Navigate to Manage -&amp;gt; Assignments &lt;br /&gt;
3.Click on Review Report&lt;br /&gt;
A report with following details will show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
4.Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For “Submission grade”:&lt;br /&gt;
1.Log in as instructor&lt;br /&gt;
2. Navigate to Manage -&amp;gt; Assignments &lt;br /&gt;
3.Click on View Submission -&amp;gt; History&lt;br /&gt;
A report with following details whill show up:&lt;br /&gt;
	Timestamp, Instructor Id, Assignment id, Grade type, Student id, Grade, Comment&lt;br /&gt;
4Every time an instructor edits or comments on the grade the report is updated with the new entry and timestamp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=119170</id>
		<title>CSC/ECE 517 Fall 2018 E1832. OSS Project Orange: Author feedback (rejoinder) enhancements</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=119170"/>
		<updated>2018-11-10T00:15:27Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===Background===&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the students to peer review other students submission. It also allows Participant of a Team to provide feedback for the review. Apart from that, it allows the instructor to view the summary report of reviews received and feedbacks given by each participant of a team.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
In current system the author feedback is send by individual team members. It&lt;br /&gt;
would be better if one team send one single rejoinder to the review and all members&lt;br /&gt;
could see and edit it. Also there are real usability issues with regards to how students can&lt;br /&gt;
even navigate to the place where feedback can be given to reviewers. The UI needs to&lt;br /&gt;
be more user friendly.&lt;br /&gt;
&lt;br /&gt;
In Summary report for assignment for instructors, the author feedback&lt;br /&gt;
section lists feedback from all team members. You should change this to list the team’s&lt;br /&gt;
collective feedback to its reviewers to a particular assignment&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
&lt;br /&gt;
* Refactor “new_feedback” actions for adding team as reviewer for Rejoinder.&lt;br /&gt;
* Refactor all the actions in response controllers to pass the participant id.&lt;br /&gt;
* Refactor author feedback tab in summary report view for the instructor.  &lt;br /&gt;
* Change in the summary report of assignment for the instructor to display teams feedbacks.&lt;br /&gt;
* In the author-feedback tab on the heat grid, fixed reviewers names on top row.  &lt;br /&gt;
* Summary reports navigation to the page where feedbacks are given to reviewers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
1.Team rejoinder.&lt;br /&gt;
* controllers/response_controller.rb&lt;br /&gt;
*views/grades/_reviews.html.erb&lt;br /&gt;
*views/response/response.html.erb&lt;br /&gt;
*models/vm_question_response.rb&lt;br /&gt;
*models/assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
2.Navigation Issue fixes&lt;br /&gt;
*views/response/view.html.erb&lt;br /&gt;
&lt;br /&gt;
3.Author feedback tab of summary report: &lt;br /&gt;
*models/response_map.rb&lt;br /&gt;
*models/team.rb&lt;br /&gt;
*helpers/grades_helper.rb&lt;br /&gt;
*views/grades/_author_feedback_tab.html.erb&lt;br /&gt;
&lt;br /&gt;
4.Heatgrid top raw reviewer name fix:&lt;br /&gt;
*views/grades/_view_heatgrid.html.erb&lt;br /&gt;
&lt;br /&gt;
====Solutions Implemented and Delivered====&lt;br /&gt;
&lt;br /&gt;
*Changed per participant feedback display author feedback view to per team: &lt;br /&gt;
&lt;br /&gt;
[[File:author_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Added &amp;quot;give feedback&amp;quot; and edit feedback functionality in the review view.&lt;br /&gt;
[[File:view_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Edited grade helper to use a questionnaire to use team ID for reviews in case of a feedback.&lt;br /&gt;
[[File:grades_helper.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Refactored new_feedback method to add team ID as the reviewer Id in the response map.&lt;br /&gt;
&lt;br /&gt;
[[File:New_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Fixed a bug where a wrong assessment was being returned for a feedback because the map was searched on participant id instead of reviewee id.&lt;br /&gt;
So added a new method which will return a feedback assessment.&lt;br /&gt;
&lt;br /&gt;
[[File:response_map.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Fixed the existing test cases for the review feedback by a team instead of a team member.&lt;br /&gt;
====Test Plan====&lt;br /&gt;
*Should test that if there is no rejoinder for the review then it redirects to new author feedback page.  &lt;br /&gt;
&lt;br /&gt;
*Tests that the other teammate is able to edit.&lt;br /&gt;
&lt;br /&gt;
*The page is redirecting back to the View-&amp;gt;review.&lt;br /&gt;
&lt;br /&gt;
*Tests that the rejoinder by a participant of a team is saved properly.&lt;br /&gt;
&lt;br /&gt;
====Tests====&lt;br /&gt;
&lt;br /&gt;
Context 'when current response is nil' do&lt;br /&gt;
      it 'redirects to response#new page' do&lt;br /&gt;
        allow(FeedbackResponseMap).to receive(:where).with(reviewed_object_id: 1, reviewer_id: 1).and_return([])&lt;br /&gt;
        params = {id: 1, participant_id: 1}&lt;br /&gt;
        session = {user: instructor}&lt;br /&gt;
        get :new_feedback, params, session&lt;br /&gt;
        expect(response).to redirect_to('/response/new?id=2&amp;amp;participant_id=1&amp;amp;return=feedback')&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
describe '#feedback' do&lt;br /&gt;
    it 'returns corrsponding author feedback responses given by current participant' do&lt;br /&gt;
       allow(FeedbackResponseMap).to receive(:get_feedback_assessments_for).with(participant.team).and_return([response])&lt;br /&gt;
      expect(participant.feedback).to eq([response])&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=119166</id>
		<title>CSC/ECE 517 Fall 2018 E1832. OSS Project Orange: Author feedback (rejoinder) enhancements</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=119166"/>
		<updated>2018-11-10T00:10:10Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===Background===&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the students to peer review other students submission. It also allows Participant of a Team to provide feedback for the review. Apart from that, it allows the instructor to view the summary report of reviews received and feedbacks given by each participant of a team.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
In current system the author feedback is send by individual team members. It&lt;br /&gt;
would be better if one team send one single rejoinder to the review and all members&lt;br /&gt;
could see and edit it. Also there are real usability issues with regards to how students can&lt;br /&gt;
even navigate to the place where feedback can be given to reviewers. The UI needs to&lt;br /&gt;
be more user friendly.&lt;br /&gt;
&lt;br /&gt;
In Summary report for assignment for instructors, the author feedback&lt;br /&gt;
section lists feedback from all team members. You should change this to list the team’s&lt;br /&gt;
collective feedback to its reviewers to a particular assignment&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
&lt;br /&gt;
* Refactor “new_feedback” actions for adding team as reviewer for Rejoinder.&lt;br /&gt;
* Refactor all the actions in response controllers to pass the participant id.&lt;br /&gt;
* Refactor author feedback tab in summary report view for the instructor.  &lt;br /&gt;
* Change in the summary report of assignment for the instructor to display teams feedbacks.&lt;br /&gt;
* In the author-feedback tab on the heat grid, fixed reviewers names on top row.  &lt;br /&gt;
* Summary reports navigation to the page where feedbacks are given to reviewers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
1.Team rejoinder.&lt;br /&gt;
* controllers/response_controller.rb&lt;br /&gt;
*views/grades/_reviews.html.erb&lt;br /&gt;
*views/response/response.html.erb&lt;br /&gt;
*models/vm_question_response.rb&lt;br /&gt;
*models/assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
2.Navigation Issue fixes&lt;br /&gt;
*views/response/view.html.erb&lt;br /&gt;
&lt;br /&gt;
3.Author feedback tab of summary report: &lt;br /&gt;
*models/response_map.rb&lt;br /&gt;
*models/team.rb&lt;br /&gt;
*helpers/grades_helper.rb&lt;br /&gt;
*views/grades/_author_feedback_tab.html.erb&lt;br /&gt;
&lt;br /&gt;
4.Heatgrid top raw reviewer name fix:&lt;br /&gt;
*views/grades/_view_heatgrid.html.erb&lt;br /&gt;
&lt;br /&gt;
====Solutions Implemented and Delivered====&lt;br /&gt;
&lt;br /&gt;
*Changed per participant feedback display author feedback view to per team: &lt;br /&gt;
&lt;br /&gt;
[[File:author_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Added &amp;quot;give feedback&amp;quot; and edit feedback functionality in the review view.&lt;br /&gt;
[[File:view_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Edited grade helper to use a questionnaire to use team ID for reviews in case of a feedback.&lt;br /&gt;
[[File:grades_helper.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Refactored new_feedback method to add team ID as the reviewer Id in the response map.&lt;br /&gt;
&lt;br /&gt;
[[File:New_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Fixed a bug where a wrong assessment was being returned for a feedback because the map was searched on participant id instead of reviewee id.&lt;br /&gt;
So added a new method which will return a feedback assessment.&lt;br /&gt;
&lt;br /&gt;
[[File:response_map.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Fixed the existing test cases for the review feedback by a team instead of a team member.&lt;br /&gt;
====Test Plan====&lt;br /&gt;
*Should test that if there is no rejoinder for the review then it redirects to new author feedback page.  &lt;br /&gt;
&lt;br /&gt;
*Tests that the other teammate is able to edit.&lt;br /&gt;
&lt;br /&gt;
*The page is redirecting back to the View-&amp;gt;review.&lt;br /&gt;
&lt;br /&gt;
*Tests that the rejoinder by a participant of a team is saved properly.&lt;br /&gt;
&lt;br /&gt;
====Tests====&lt;br /&gt;
&lt;br /&gt;
1.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
context 'when current response is nil' do&lt;br /&gt;
      it 'redirects to response#new page' do&lt;br /&gt;
        allow(FeedbackResponseMap).to receive(:where).with(reviewed_object_id: 1, reviewer_id: 1).and_return([])&lt;br /&gt;
        params = {id: 1, participant_id: 1}&lt;br /&gt;
        session = {user: instructor}&lt;br /&gt;
        get :new_feedback, params, session&lt;br /&gt;
        expect(response).to redirect_to('/response/new?id=2&amp;amp;participant_id=1&amp;amp;return=feedback')&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
2.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;describe '#feedback' do&lt;br /&gt;
    it 'returns corrsponding author feedback responses given by current participant' do&lt;br /&gt;
       allow(FeedbackResponseMap).to receive(:get_feedback_assessments_for).with(participant.team).and_return([response])&lt;br /&gt;
      expect(participant.feedback).to eq([response])&lt;br /&gt;
    end&lt;br /&gt;
  end&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=119165</id>
		<title>CSC/ECE 517 Fall 2018 E1832. OSS Project Orange: Author feedback (rejoinder) enhancements</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=119165"/>
		<updated>2018-11-10T00:08:22Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===Background===&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the students to peer review other students submission. It also allows Participant of a Team to provide feedback for the review. Apart from that, it allows the instructor to view the summary report of reviews received and feedbacks given by each participant of a team.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
In current system the author feedback is send by individual team members. It&lt;br /&gt;
would be better if one team send one single rejoinder to the review and all members&lt;br /&gt;
could see and edit it. Also there are real usability issues with regards to how students can&lt;br /&gt;
even navigate to the place where feedback can be given to reviewers. The UI needs to&lt;br /&gt;
be more user friendly.&lt;br /&gt;
&lt;br /&gt;
In Summary report for assignment for instructors, the author feedback&lt;br /&gt;
section lists feedback from all team members. You should change this to list the team’s&lt;br /&gt;
collective feedback to its reviewers to a particular assignment&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
&lt;br /&gt;
* Refactor “new_feedback” actions for adding team as reviewer for Rejoinder.&lt;br /&gt;
* Refactor all the actions in response controllers to pass the participant id.&lt;br /&gt;
* Refactor author feedback tab in summary report view for the instructor.  &lt;br /&gt;
* Change in the summary report of assignment for the instructor to display teams feedbacks.&lt;br /&gt;
* In the author-feedback tab on the heat grid, fixed reviewers names on top row.  &lt;br /&gt;
* Summary reports navigation to the page where feedbacks are given to reviewers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
1.Team rejoinder.&lt;br /&gt;
* controllers/response_controller.rb&lt;br /&gt;
*views/grades/_reviews.html.erb&lt;br /&gt;
*views/response/response.html.erb&lt;br /&gt;
*models/vm_question_response.rb&lt;br /&gt;
*models/assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
2.Navigation Issue fixes&lt;br /&gt;
*views/response/view.html.erb&lt;br /&gt;
&lt;br /&gt;
3.Author feedback tab of summary report: &lt;br /&gt;
*models/response_map.rb&lt;br /&gt;
*models/team.rb&lt;br /&gt;
*helpers/grades_helper.rb&lt;br /&gt;
*views/grades/_author_feedback_tab.html.erb&lt;br /&gt;
&lt;br /&gt;
4.Heatgrid top raw reviewer name fix:&lt;br /&gt;
*views/grades/_view_heatgrid.html.erb&lt;br /&gt;
&lt;br /&gt;
====Solutions Implemented and Delivered====&lt;br /&gt;
&lt;br /&gt;
*Changed per participant feedback display author feedback view to per team: &lt;br /&gt;
&lt;br /&gt;
[[File:author_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Added &amp;quot;give feedback&amp;quot; and edit feedback functionality in the review view.&lt;br /&gt;
[[File:view_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Edited grade helper to use a questionnaire to use team ID for reviews in case of a feedback.&lt;br /&gt;
[[File:grades_helper.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Refactored new_feedback method to add team ID as the reviewer Id in the response map.&lt;br /&gt;
&lt;br /&gt;
[[File:New_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Fixed a bug where a wrong assessment was being returned for a feedback because the map was searched on participant id instead of reviewee id.&lt;br /&gt;
So added a new method which will return a feedback assessment.&lt;br /&gt;
&lt;br /&gt;
[[File:response_map.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Fixed the existing test cases for the review feedback by a team instead of a team member.&lt;br /&gt;
====Test Plan====&lt;br /&gt;
*Should test that if there is no rejoinder for the review then it redirects to new author feedback page.  &lt;br /&gt;
&lt;br /&gt;
*Tests that the other teammate is able to edit.&lt;br /&gt;
&lt;br /&gt;
*The page is redirecting back to the View-&amp;gt;review.&lt;br /&gt;
&lt;br /&gt;
*Tests that the rejoinder by a participant of a team is saved properly.&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=118281</id>
		<title>CSC/ECE 517 Fall 2018 E1832. OSS Project Orange: Author feedback (rejoinder) enhancements</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=118281"/>
		<updated>2018-11-02T22:37:18Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===Background===&lt;br /&gt;
Expertiza provides a dashboard for all the Assignments corresponding to a course and provides absolute control to the Instructors and Teaching Assistant. In addition to Assignments, it encompasses peer reviews where in participants are allowed to provide feedback anonymously about each other's work thereby providing scope for better outcome.&lt;br /&gt;
&lt;br /&gt;
Assignments in Expertiza have their association with many other components like Courses,Reviews,Participants and Scores. The Assignment controller in specific performs various other actions in addition to the CRUD operations applied on its model. These actions sew up the association of an assignment with others like courses etc. There exists an Assignment Form model which acts as a wrapper for the Assignment and provides further control.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
In current system the author feedback is send by individual team members. It&lt;br /&gt;
would be better if one team send one single rejoinder to the review and all members&lt;br /&gt;
could see and edit it. Also there are real usability issues with regards to how students can&lt;br /&gt;
even navigate to the place where feedback can be given to reviewers. The UI needs to&lt;br /&gt;
be more user friendly.&lt;br /&gt;
&lt;br /&gt;
In Summary report for assignment for instructors, the author feedback&lt;br /&gt;
section lists feedback from all team members. You should change this to list the team’s&lt;br /&gt;
collective feedback to its reviewers to a particular assignment&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
* Refactor edit and update method&lt;br /&gt;
* Remove irrelevant comments from the create action.&lt;br /&gt;
* associate_assignment_with_course and remove_assignment_from_course logic should be moved to model.&lt;br /&gt;
* Change to new redirect method rather using controller and action explicitly.&lt;br /&gt;
* Refactor the update_due_dates from Assignment Form. using the DRY principle&lt;br /&gt;
* Refactor code to follow the ruby style guide and Rails4 syntax.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Refactor “new_feedback” actions for adding team as reviewer for Rejoinder.&lt;br /&gt;
* Refactor all the actions in response controllers to pass the participant id.&lt;br /&gt;
* Refactor author feedback tab in summary report view for the instructor.  &lt;br /&gt;
* Change in the summary report of assignment for the instructor to display teams feedbacks.&lt;br /&gt;
* In the author-feedback tab on the heat grid, fixed reviewers names on top row.  &lt;br /&gt;
* Summary reports navigation to the page where feedbacks are given to reviewers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
1.Team rejoinder.&lt;br /&gt;
* controllers/response_controller.rb&lt;br /&gt;
*views/grades/_reviews.html.erb&lt;br /&gt;
*views/response/response.html.erb&lt;br /&gt;
*models/vm_question_response.rb&lt;br /&gt;
*models/assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
2.Navigation Issue fixes&lt;br /&gt;
*views/response/view.html.erb&lt;br /&gt;
&lt;br /&gt;
3.Author feedback tab of summary report: &lt;br /&gt;
*models/response_map.rb&lt;br /&gt;
*models/team.rb&lt;br /&gt;
*helpers/grades_helper.rb&lt;br /&gt;
*views/grades/_author_feedback_tab.html.erb&lt;br /&gt;
&lt;br /&gt;
4.Heatgrid top raw reviewer name fix:&lt;br /&gt;
*views/grades/_view_heatgrid.html.erb&lt;br /&gt;
&lt;br /&gt;
====Solutions Implemented and Delivered====&lt;br /&gt;
&lt;br /&gt;
*Changed per participant feedback display author feedback view to per team: &lt;br /&gt;
&lt;br /&gt;
[[File:author_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Added &amp;quot;give feedback&amp;quot; and edit feedback functionality in the review view.&lt;br /&gt;
[[File:view_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Edited grade helper to use a questionnaire to use team ID for reviews in case of a feedback.&lt;br /&gt;
[[File:grades_helper.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Refactored new_feedback method to add team ID as the reviewer Id in the response map.&lt;br /&gt;
&lt;br /&gt;
[[File:New_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Fixed a bug where a wrong assessment was being returned for a feedback because the map was searched on participant id instead of reviewee id.&lt;br /&gt;
So added a new method which will return a feedback assessment.&lt;br /&gt;
&lt;br /&gt;
[[File:response_map.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Fixed the existed test cases for the fixes we made.&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=118278</id>
		<title>CSC/ECE 517 Fall 2018 E1832. OSS Project Orange: Author feedback (rejoinder) enhancements</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=118278"/>
		<updated>2018-11-02T22:32:59Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===Background===&lt;br /&gt;
Expertiza provides a dashboard for all the Assignments corresponding to a course and provides absolute control to the Instructors and Teaching Assistant. In addition to Assignments, it encompasses peer reviews where in participants are allowed to provide feedback anonymously about each other's work thereby providing scope for better outcome.&lt;br /&gt;
&lt;br /&gt;
Assignments in Expertiza have their association with many other components like Courses,Reviews,Participants and Scores. The Assignment controller in specific performs various other actions in addition to the CRUD operations applied on its model. These actions sew up the association of an assignment with others like courses etc. There exists an Assignment Form model which acts as a wrapper for the Assignment and provides further control.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
In current system the author feedback is send by individual team members. It&lt;br /&gt;
would be better if one team send one single rejoinder to the review and all members&lt;br /&gt;
could see and edit it. Also there are real usability issues with regards to how students can&lt;br /&gt;
even navigate to the place where feedback can be given to reviewers. The UI needs to&lt;br /&gt;
be more user friendly.&lt;br /&gt;
&lt;br /&gt;
In Summary report for assignment for instructors, the author feedback&lt;br /&gt;
section lists feedback from all team members. You should change this to list the team’s&lt;br /&gt;
collective feedback to its reviewers to a particular assignment&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
* Refactor edit and update method&lt;br /&gt;
* Remove irrelevant comments from the create action.&lt;br /&gt;
* associate_assignment_with_course and remove_assignment_from_course logic should be moved to model.&lt;br /&gt;
* Change to new redirect method rather using controller and action explicitly.&lt;br /&gt;
* Refactor the update_due_dates from Assignment Form. using the DRY principle&lt;br /&gt;
* Refactor code to follow the ruby style guide and Rails4 syntax.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Refactor “new_feedback” actions for adding team as reviewer for Rejoinder.&lt;br /&gt;
* Refactor all the actions in response controllers to pass the participant id.&lt;br /&gt;
* Refactor author feedback tab in summary report view for the instructor.  &lt;br /&gt;
* Change in the summary report of assignment for the instructor to display teams feedbacks.&lt;br /&gt;
* In the author-feedback tab on the heat grid, fixed reviewers names on top row.  &lt;br /&gt;
* Summary reports navigation to the page where feedbacks are given to reviewers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
1.Team rejoinder.&lt;br /&gt;
* controllers/response_controller.rb&lt;br /&gt;
*views/grades/_reviews.html.erb&lt;br /&gt;
*views/response/response.html.erb&lt;br /&gt;
*models/vm_question_response.rb&lt;br /&gt;
*models/assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
2.Navigation Issue fixes&lt;br /&gt;
*views/response/view.html.erb&lt;br /&gt;
&lt;br /&gt;
3.Author feedback tab of summary report: &lt;br /&gt;
*models/response_map.rb&lt;br /&gt;
*models/team.rb&lt;br /&gt;
*helpers/grades_helper.rb&lt;br /&gt;
*views/grades/_author_feedback_tab.html.erb&lt;br /&gt;
&lt;br /&gt;
4.Heatgrid top raw reviewer name fix:&lt;br /&gt;
*views/grades/_view_heatgrid.html.erb&lt;br /&gt;
&lt;br /&gt;
====Solutions Implemented and Delivered====&lt;br /&gt;
&lt;br /&gt;
*Changed per participant feedback display author feedback view to per team: &lt;br /&gt;
&lt;br /&gt;
[[File:author_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Added &amp;quot;give feedback&amp;quot; and edit feedback functionality in the review view.&lt;br /&gt;
[[File:view_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Edited grade helper to use a questionnaire to use team ID for reviews in case of a feedback.&lt;br /&gt;
[[File:grades_helper.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Refactored new_feedback method to add team ID as the reviewer Id in the response map.&lt;br /&gt;
&lt;br /&gt;
[[File:New_feedback.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Fixed a bug where a wrong assessment was being returned for a feedback because the map was searched on participant id instead of reviewee id.&lt;br /&gt;
So added a new method which will return a feedback assessment.&lt;br /&gt;
&lt;br /&gt;
[[File:response_map.jpg]]&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:View_feedback.jpg&amp;diff=118264</id>
		<title>File:View feedback.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:View_feedback.jpg&amp;diff=118264"/>
		<updated>2018-11-02T22:17:46Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Response_map.jpg&amp;diff=118263</id>
		<title>File:Response map.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Response_map.jpg&amp;diff=118263"/>
		<updated>2018-11-02T22:17:38Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:New_feedback.jpg&amp;diff=118262</id>
		<title>File:New feedback.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:New_feedback.jpg&amp;diff=118262"/>
		<updated>2018-11-02T22:17:28Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Grades_helper.jpg&amp;diff=118261</id>
		<title>File:Grades helper.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Grades_helper.jpg&amp;diff=118261"/>
		<updated>2018-11-02T22:17:19Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Author_feedback.jpg&amp;diff=118260</id>
		<title>File:Author feedback.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Author_feedback.jpg&amp;diff=118260"/>
		<updated>2018-11-02T22:17:07Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Newfeedback.jpg&amp;diff=118249</id>
		<title>File:Newfeedback.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Newfeedback.jpg&amp;diff=118249"/>
		<updated>2018-11-02T22:03:04Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: uploaded a new version of &amp;amp;quot;File:Newfeedback.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Newfeedback.jpg&amp;diff=118244</id>
		<title>File:Newfeedback.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Newfeedback.jpg&amp;diff=118244"/>
		<updated>2018-11-02T21:57:20Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:1.Newfeedback.PNG&amp;diff=118238</id>
		<title>File:1.Newfeedback.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:1.Newfeedback.PNG&amp;diff=118238"/>
		<updated>2018-11-02T21:55:14Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: uploaded a new version of &amp;amp;quot;File:1.Newfeedback.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:1.Newfeedback.PNG&amp;diff=118230</id>
		<title>File:1.Newfeedback.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:1.Newfeedback.PNG&amp;diff=118230"/>
		<updated>2018-11-02T21:50:08Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=118192</id>
		<title>CSC/ECE 517 Fall 2018 E1832. OSS Project Orange: Author feedback (rejoinder) enhancements</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018_E1832._OSS_Project_Orange:_Author_feedback_(rejoinder)_enhancements&amp;diff=118192"/>
		<updated>2018-11-02T21:23:54Z</updated>

		<summary type="html">&lt;p&gt;Ytrived: Created page with &amp;quot;==Introduction== ===Background=== Expertiza provides a dashboard for all the Assignments corresponding to a course and provides absolute control to the Instructors and Teaching A...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===Background===&lt;br /&gt;
Expertiza provides a dashboard for all the Assignments corresponding to a course and provides absolute control to the Instructors and Teaching Assistant. In addition to Assignments, it encompasses peer reviews where in participants are allowed to provide feedback anonymously about each other's work thereby providing scope for better outcome.&lt;br /&gt;
&lt;br /&gt;
Assignments in Expertiza have their association with many other components like Courses,Reviews,Participants and Scores. The Assignment controller in specific performs various other actions in addition to the CRUD operations applied on its model. These actions sew up the association of an assignment with others like courses etc. There exists an Assignment Form model which acts as a wrapper for the Assignment and provides further control.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
In current system the author feedback is send by individual team members. It&lt;br /&gt;
would be better if one team send one single rejoinder to the review and all members&lt;br /&gt;
could see and edit it. Also there are real usability issues with regards to how students can&lt;br /&gt;
even navigate to the place where feedback can be given to reviewers. The UI needs to&lt;br /&gt;
be more user friendly.&lt;br /&gt;
&lt;br /&gt;
In Summary report for assignment for instructors, the author feedback&lt;br /&gt;
section lists feedback from all team members. You should change this to list the team’s&lt;br /&gt;
collective feedback to its reviewers to a particular assignment&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
* Refactor edit and update method&lt;br /&gt;
* Remove irrelevant comments from the create action.&lt;br /&gt;
* associate_assignment_with_course and remove_assignment_from_course logic should be moved to model.&lt;br /&gt;
* Change to new redirect method rather using controller and action explicitly.&lt;br /&gt;
* Refactor the update_due_dates from Assignment Form. using the DRY principle&lt;br /&gt;
* Refactor code to follow the ruby style guide and Rails4 syntax.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Refactor “new_feedback” actions for adding team as reviewer for Rejoinder.&lt;br /&gt;
* Refactor all the actions in response controllers to pass the participant id.&lt;br /&gt;
* Refactor author feedback tab in summary report view for the instructor.  &lt;br /&gt;
* Change in the summary report of assignment for the instructor to display teams feedbacks.&lt;br /&gt;
* In the author-feedback tab on the heat grid, fixed reviewers names on top row.  &lt;br /&gt;
* Summary reports navigation to the page where feedbacks are given to reviewers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
1.Team rejoinder.&lt;br /&gt;
* controllers/response_controller.rb&lt;br /&gt;
*views/grades/_reviews.html.erb&lt;br /&gt;
*views/response/response.html.erb&lt;br /&gt;
*models/vm_question_response.rb&lt;br /&gt;
*models/assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
2.Navigation Issue fixes&lt;br /&gt;
*views/response/view.html.erb&lt;br /&gt;
&lt;br /&gt;
3.Author feedback tab of summary report: &lt;br /&gt;
*models/response_map.rb&lt;br /&gt;
*models/team.rb&lt;br /&gt;
*helpers/grades_helper.rb&lt;br /&gt;
*views/grades/_author_feedback_tab.html.erb&lt;br /&gt;
&lt;br /&gt;
4.Heatgrid top raw reviewer name fix:&lt;br /&gt;
*views/grades/_view_heatgrid.html.erb&lt;/div&gt;</summary>
		<author><name>Ytrived</name></author>
	</entry>
</feed>