<?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=Nuachary</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=Nuachary"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Nuachary"/>
	<updated>2026-07-04T17:42:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121142</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121142"/>
		<updated>2018-12-07T05:25:47Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(4).png]]&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(1).png]]&lt;br /&gt;
&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(3).png]]&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121141</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121141"/>
		<updated>2018-12-07T05:24:39Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(4).png]]&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(1).png]]&lt;br /&gt;
&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(3).png]]&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121140</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121140"/>
		<updated>2018-12-07T05:23:37Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(4).png]]&lt;br /&gt;
[[File:Image_(3).png]]&lt;br /&gt;
[[File:Image_(1).png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for per student&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for response time table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121139</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121139"/>
		<updated>2018-12-07T05:23:17Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(3).png]]&lt;br /&gt;
[[File:Image_(1).png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for per student&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for response time table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121138</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121138"/>
		<updated>2018-12-07T05:23:01Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(2).png]]&lt;br /&gt;
[[File:Image_(1).png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for per student&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for response time table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121137</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121137"/>
		<updated>2018-12-07T05:21:44Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(1).png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for per student&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for response time table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121136</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121136"/>
		<updated>2018-12-07T05:21:31Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image_(1).png.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for per student&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for response time table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
'''Files Changed:'''&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb -&lt;br /&gt;
This is the file for the review report. We have added the functionality of a toggle link below each student id in the first column. Clicking on this link will display the details of the reviews done by this student. On clicking again the details will disappear, giving the user the flexibility of viewing these details if need be. &lt;br /&gt;
The design makes use of the following models:&lt;br /&gt;
*	Participant&lt;br /&gt;
*	ResponseMap&lt;br /&gt;
*	ResponseTime&lt;br /&gt;
*	Assignment&lt;br /&gt;
*	Team&lt;br /&gt;
&lt;br /&gt;
First we fetch all the reviews done by the student by providing the user_id of the student to Participant which gives us the set of reviews done by that user. Then we iterate through these reviews. As reviews are based on the number of review rounds in the Assignment, we fetch the total number of review rounds for the current assignment from the Assignment model by fetching the current Assignment object using assignment id and then accessing the 'round_of_reviews' property of the object. The details of each review like the reviewer_id, reviewee_id , reviewed_object_id is stored in the ResponseMap model. We fetch the ResponseMap set for each such review from the ResponseMap by giving it reviewer_id and reviewed_object_id as the assignment id.&lt;br /&gt;
Now we iterate through this set of ResponseMaps. The data for the link reviewed and the time taken for each link is in ResponseTime model which is linked to the ResponseMap through map_id. We make use of this and for each ResponseMap we put in a loop to get all possible ResponseTime for every link reviewed by the student. Finally we display this whole thing in the form of a table with the headers:&lt;br /&gt;
*	 Team Reviewed : This is the team reviewed by the student. We get the team name by passing reviewee_id found in each ResponseMap to the Team model.&lt;br /&gt;
*	 Total Time(mins) : This is the total time spent by the student in reviewing this team. We have written custom Javascript functions to calculate total time by adding time spent on individual links.&lt;br /&gt;
*	 Round : This is the review round number for which this review has been performed.&lt;br /&gt;
*	 Links : This will give you a list of links one after the other which the student has reviewed. These links are found as entries in the ResponseTime model with other information as well.&lt;br /&gt;
*	 Time spent per link (mins) : This is the time spent in reviewing each link. Again we have written functions in embedded Ruby to calculate time in mins using the start and end times of reviewing this link.&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
'''UI and Manual Testing:'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Create an assignment and make sure it currently has its 'Review' phase going on.&lt;br /&gt;
&lt;br /&gt;
2. Add participants to the assignment and remember their names or ids.&lt;br /&gt;
&lt;br /&gt;
3. Logout&lt;br /&gt;
&lt;br /&gt;
Login as Student who is added to the assignment -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: studentXXXX&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Go to the newly added assignment in your pending tasks(the pending task should be that of reviewing).&lt;br /&gt;
&lt;br /&gt;
2. Ask for a team to review.&lt;br /&gt;
&lt;br /&gt;
3. Go to each link submitted by this team and review it. If needed, note down the time spent on each link.&lt;br /&gt;
&lt;br /&gt;
4. Logout.&lt;br /&gt;
&lt;br /&gt;
Login as Instructor -&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
username: instructor6&lt;br /&gt;
password: password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
1. Navigate to the 'Review Report' page of the assignment.&lt;br /&gt;
&lt;br /&gt;
2. Search for the above student in the table.&lt;br /&gt;
&lt;br /&gt;
3. Click on the link named 'Review time spent on task' below the student name.&lt;br /&gt;
&lt;br /&gt;
Expected - A new column should be added to the table with the information regarding the reviewed team and the time spent per link and in total.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121080</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121080"/>
		<updated>2018-12-06T21:24:43Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* We have added a link below the student ID in the first column of the review report page for each assignment.&lt;br /&gt;
* This is a toggle-able link and is available to each student details uniquely as shows below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for per student&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clicking on the link will toggle between showing/hiding a new column containing the review details to the table.&lt;br /&gt;
* The table contains the details regarding the team reviewed, round number of the review, total time spent on reviewing and time spent reviewing each link in the submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap for response time table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_(1).png&amp;diff=121074</id>
		<title>File:Image (1).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_(1).png&amp;diff=121074"/>
		<updated>2018-12-06T19:45:20Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_(3).png&amp;diff=121073</id>
		<title>File:Image (3).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_(3).png&amp;diff=121073"/>
		<updated>2018-12-06T19:45:09Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_(4).png&amp;diff=121072</id>
		<title>File:Image (4).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_(4).png&amp;diff=121072"/>
		<updated>2018-12-06T19:44:55Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121070</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121070"/>
		<updated>2018-12-06T19:26:26Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
  a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
  b.Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
  c.For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121069</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121069"/>
		<updated>2018-12-06T19:22:51Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&lt;br /&gt;
1.Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
    a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
    b.      Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
    c.       For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121056</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121056"/>
		<updated>2018-12-06T18:56:07Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
'''Algorithm:'''&lt;br /&gt;
&lt;br /&gt;
1.   Fetch all reviews of student from Participant by providing user_id of student&lt;br /&gt;
&lt;br /&gt;
2.   For a review in the reviews list do&lt;br /&gt;
&lt;br /&gt;
    a.       Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id&lt;br /&gt;
&lt;br /&gt;
    b.      Fetch the number of review rounds needed by the assignment from Assignment model&lt;br /&gt;
&lt;br /&gt;
    c.       For each response map in the response map list do&lt;br /&gt;
&lt;br /&gt;
        i.      For each round from 1 to number of rounds do&lt;br /&gt;
&lt;br /&gt;
            1.       Initialize map_total_time=0&lt;br /&gt;
&lt;br /&gt;
            2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number&lt;br /&gt;
&lt;br /&gt;
            3.       Initialize a count variable which will keep count of links. count = 0.&lt;br /&gt;
&lt;br /&gt;
            4.       For each link entry in the response time set do&lt;br /&gt;
&lt;br /&gt;
                a.       If current link is the first link being considered do&lt;br /&gt;
&lt;br /&gt;
                    i.      Print team being reviewed name using Team model and id as reviewee_id&lt;br /&gt;
&lt;br /&gt;
                    ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print the round&lt;br /&gt;
&lt;br /&gt;
                b.      Else&lt;br /&gt;
&lt;br /&gt;
                    i.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    ii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                    iii.      Print an empty space&lt;br /&gt;
&lt;br /&gt;
                c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.&lt;br /&gt;
&lt;br /&gt;
                d.      Add it to map_total_time which keeps tab of sum of time spent on all links&lt;br /&gt;
&lt;br /&gt;
                e.      Print link time&lt;br /&gt;
&lt;br /&gt;
            5.      Increment count&lt;br /&gt;
&lt;br /&gt;
            6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121051</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121051"/>
		<updated>2018-12-06T18:32:19Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121049</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121049"/>
		<updated>2018-12-06T18:28:35Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121048</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121048"/>
		<updated>2018-12-06T18:28:17Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Flowchart: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121047</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121047"/>
		<updated>2018-12-06T18:28:01Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Flowchart: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Review_time_flowchart_(1).png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Review_time_flowchart_(1).png&amp;diff=121045</id>
		<title>File:Review time flowchart (1).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Review_time_flowchart_(1).png&amp;diff=121045"/>
		<updated>2018-12-06T18:25:55Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121044</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121044"/>
		<updated>2018-12-06T18:23:52Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Flowchart: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:niharika8915_img2.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Niharika8915_img2.png&amp;diff=121043</id>
		<title>File:Niharika8915 img2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Niharika8915_img2.png&amp;diff=121043"/>
		<updated>2018-12-06T18:22:18Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121042</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121042"/>
		<updated>2018-12-06T18:21:04Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121041</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=121041"/>
		<updated>2018-12-06T18:20:18Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Objective of project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page.&lt;br /&gt;
This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to calculate and display the total time spent on the review per round.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
[[File:Review_time_flowchart_123.png]]&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Review_time_flowchart.png&amp;diff=121039</id>
		<title>File:Review time flowchart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Review_time_flowchart.png&amp;diff=121039"/>
		<updated>2018-12-06T18:15:25Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119871</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119871"/>
		<updated>2018-11-14T00:25:33Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flowchart: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119867</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119867"/>
		<updated>2018-11-14T00:24:44Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Flowchart:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.png]]&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119865</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119865"/>
		<updated>2018-11-14T00:24:13Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Flowchart:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1791_niharika.jpg]]&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Objective of project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 1:'''&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:'''&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objective 2:''' &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Solution:''' &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1791_niharika.png&amp;diff=119863</id>
		<title>File:E1791 niharika.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1791_niharika.png&amp;diff=119863"/>
		<updated>2018-11-14T00:21:59Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119858</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119858"/>
		<updated>2018-11-14T00:19:27Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
&lt;br /&gt;
* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
&lt;br /&gt;
* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119857</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119857"/>
		<updated>2018-11-14T00:18:22Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
&lt;br /&gt;
#* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
#* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
#* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
#* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
&lt;br /&gt;
#* Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
#* set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
#* For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119855</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119855"/>
		<updated>2018-11-14T00:17:37Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
&lt;br /&gt;
#* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
#* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
#* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
#* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
&lt;br /&gt;
1) Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
2) set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
3) For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119854</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119854"/>
		<updated>2018-11-14T00:17:11Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
#* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
#* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
#* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
#* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
1) Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
2) set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
3) For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119853</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119853"/>
		<updated>2018-11-14T00:16:34Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
#* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
#* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
#* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
#* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
&lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
1) Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
2) set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
3) For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119852</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119852"/>
		<updated>2018-11-14T00:15:49Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
#* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.&lt;br /&gt;
#* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
#* In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.&lt;br /&gt;
#* We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
1) Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time. &lt;br /&gt;
2) set_interval method in jquery that will call the record_end_time method to set the end time on each record.&lt;br /&gt;
3) For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files need to be changed: &lt;br /&gt;
/controllers/response_times_controller.rb&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119819</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119819"/>
		<updated>2018-11-13T23:34:35Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Database schema design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
#* Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'review_statistics'.&lt;br /&gt;
#* Review statistics will include all the statistics for each review done by a student.&lt;br /&gt;
#* We will display on the total time spent on each review by a student&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution: &lt;br /&gt;
&lt;br /&gt;
Files need to be changed:&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119813</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119813"/>
		<updated>2018-11-13T23:09:44Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Database schema design ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Objective of project:&lt;br /&gt;
Objective 1:&lt;br /&gt;
&lt;br /&gt;
The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
&lt;br /&gt;
Files needed to be changed:&lt;br /&gt;
&lt;br /&gt;
Objective 2: &lt;br /&gt;
Implement the auto-save feature after a fixed interval of time.&lt;br /&gt;
&lt;br /&gt;
Proposed Solution:&lt;br /&gt;
&lt;br /&gt;
Files need to be changed:&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119809</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119809"/>
		<updated>2018-11-13T23:02:34Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
*	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
*	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
*	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
*	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Database schema design'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119805</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119805"/>
		<updated>2018-11-13T23:00:57Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
To accomplish this goal, here are the general solutions designed and implemented in this project:&lt;br /&gt;
&lt;br /&gt;
	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
&lt;br /&gt;
	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
&lt;br /&gt;
	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
&lt;br /&gt;
	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Database schema design'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
  reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
[[File:E1791db_2018.jpg]]&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1791db_2018.jpg&amp;diff=119803</id>
		<title>File:E1791db 2018.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1791db_2018.jpg&amp;diff=119803"/>
		<updated>2018-11-13T22:58:01Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119799</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119799"/>
		<updated>2018-11-13T22:51:41Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the E1791 project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.&lt;br /&gt;
&lt;br /&gt;
In this project, we require to autosave the reviews given timely to avoid re-writing of the reviews in case of erroneously closing the window.&lt;br /&gt;
&lt;br /&gt;
Also, once the reviews are submitted, the review report page has a link to review details page which contains the above statistics. It becomes inconvenient to click on those links again and again to check the details. We will be merging the data of the details page on the current report page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Designed a database schema for logging the time a reviewer spend on a submission&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
	Designed and implemented dynamic partial components using Javascript and Ruby to open students’ submissions in new windows to view online&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
	Used DOM to control the windows holding review submission files or links, and record the open and close time.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
	Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions with visualization.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Database schema design'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
  reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;br /&gt;
&lt;br /&gt;
  [[File:E1791db_Fall18.jpg]]&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1791_Fall18db.jpg&amp;diff=119796</id>
		<title>File:E1791 Fall18db.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1791_Fall18db.jpg&amp;diff=119796"/>
		<updated>2018-11-13T22:49:08Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119793</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119793"/>
		<updated>2018-11-13T22:46:25Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Database shema design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
  reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119792</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119792"/>
		<updated>2018-11-13T22:46:11Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Database shcema design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and &lt;br /&gt;
  reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119790</id>
		<title>CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1872_Track_Time_Students_Look_At_Other_Submissions&amp;diff=119790"/>
		<updated>2018-11-13T22:45:46Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: Created page with &amp;quot;Database shcema design   For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id an...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Database shcema design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this project, the table submission_viewing_events stores all the time needed for each review submission event. The application records reviewer_id and reviewee_id, source_link for submitted links or file names, as well as time start_at and end_at, then store them in the table.&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119159</id>
		<title>E1838 Project Red</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119159"/>
		<updated>2018-11-09T23:59:12Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Issue #391  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. The aim of the project if to handle all the scenarios that can arise when the instructor is not specifying any directory name.&lt;br /&gt;
&lt;br /&gt;
=='''Issues to be fixed'''==&lt;br /&gt;
&lt;br /&gt;
Issue #391: In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. Please take a look at the Github issue for suggestions on how to solve this.&lt;br /&gt;
&lt;br /&gt;
Issue #1190: An issue with conflicting directories for copied assignments was fixed. You need to write the test to verify that this issue doesn’t recur. This test should check that the assignment directories for copied assignments are distinct from the original directories.&lt;br /&gt;
&lt;br /&gt;
Issue #1201: Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem. This needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Modified Files'''==&lt;br /&gt;
&lt;br /&gt;
1) /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
3) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Approach taken to resolve the issues'''==&lt;br /&gt;
&lt;br /&gt;
==='''Issue #391 '''===&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; When the instructor has not specified a directory path, there is no directory where the files can be stored.&lt;br /&gt;
-&amp;gt; Hence we allow only links to be submitted in such an assignment.&lt;br /&gt;
-&amp;gt; In the view of submitted content controller we disabled the button to upload files in such assignment where the directory path is null.&lt;br /&gt;
-&amp;gt; We displayed the message 'Fie submissions are disabled' whenever anyone tries to upload files to such assignment.&lt;br /&gt;
&lt;br /&gt;
Pseudo Code:&lt;br /&gt;
Added following logic in /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;% if @assignment.directory_path != &amp;quot;&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;% puts &amp;quot;Assign Directory: #{@assignment.directory_path}&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;%= submit_tag 'Upload file', class: 'btn btn-default' %&amp;gt;&lt;br /&gt;
      &amp;lt;% else %&amp;gt;&lt;br /&gt;
        &amp;lt;%= 'File Submissions are disabled' %&amp;gt;&lt;br /&gt;
      &amp;lt;%end%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
If the assignment directory path is specified by the instructor then the button to upload files will be displayed else the warning message 'File submissions are disabled will be displayed'.&lt;br /&gt;
&lt;br /&gt;
==='''Issue #1201'''===&lt;br /&gt;
Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem.&lt;br /&gt;
&lt;br /&gt;
Approach taken to solve the issue:&lt;br /&gt;
Logic for Auto generation of the directory names:&lt;br /&gt;
Append assignment_name, assignment_id, course_id to make the directory name unique.&lt;br /&gt;
&lt;br /&gt;
Files modified: &lt;br /&gt;
&lt;br /&gt;
/app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
/app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
Pseudo code:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;assignment_form[check_validate]&amp;quot; /&amp;gt; File submissions are allowed? &amp;lt;/td&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Explanation: Added a checkbox in the view for creating an assignment. An instructor can select if file submissions are allowed. If he selects 'yes' then if the instructor has given an empty directory path, the name of the directory for the assignment will be auto generated.&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
   &lt;br /&gt;
      if quesparams[:assignment][:directory_path] == &amp;quot;&amp;quot; and quesparams[:check_validate] == &amp;quot;on&amp;quot;&lt;br /&gt;
        quesparams[:assignment][:directory_path] = &amp;quot;#{quesparams[:assignment][:name]}_#{quesparams[:assignment][:id]}_#{quesparams[:assignment][:course_id]}&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
Explanation: If the check box is checked, it will pass the value &amp;quot;on&amp;quot; to the assignment controller and the directory name will be auto generated.&lt;br /&gt;
&lt;br /&gt;
[[File:Blank_Diagram.jpeg]]&lt;br /&gt;
&lt;br /&gt;
==''' How to Test '''==&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #391 : https://youtu.be/OVVknOBkG6Y&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #404 : https://youtu.be/uvnamlY2&lt;br /&gt;
&lt;br /&gt;
==''' Test Plan'''==&lt;br /&gt;
=='''issue #391 and issue #1201 '''==&lt;br /&gt;
&lt;br /&gt;
Steps to test Issue #391 and #1201&lt;br /&gt;
&lt;br /&gt;
1) Login as Instructor&lt;br /&gt;
&lt;br /&gt;
2) Click on Manage , select assignments.&lt;br /&gt;
&lt;br /&gt;
3) New public assignment/ New private assignment&lt;br /&gt;
&lt;br /&gt;
4) Fill in the details &lt;br /&gt;
&lt;br /&gt;
5) Select if you want to allow file submissions&lt;br /&gt;
&lt;br /&gt;
6) If 'yes', then file directory name will be auto generated as 'assignment_name'_'assignment_id'_'course_name'&lt;br /&gt;
&lt;br /&gt;
7) If 'no'&lt;br /&gt;
&lt;br /&gt;
8) Login as a student and you can see that only links can be submitted and file submissions are disabled since the directory is not specified&lt;br /&gt;
&lt;br /&gt;
==''' Automated tests for Issue #1190 '''==&lt;br /&gt;
&lt;br /&gt;
Following RSPEC Code is added to assignments_controller_spec.rb:&lt;br /&gt;
&lt;br /&gt;
The below code RSPEC snippet tests for the issue where in the assignment which is duplicated does not have the same directory for submissions as the original assignment.&lt;br /&gt;
&lt;br /&gt;
     context 'when new assignment directory is same as old' do&lt;br /&gt;
      it 'should show an error and redirect to assignments#edit page' do&lt;br /&gt;
        allow(new_assignment).to receive(:save).and_return(true)&lt;br /&gt;
        allow(Assignment).to receive(:find).with(2).and_return(new_assignment)&lt;br /&gt;
        params = {id: 1}&lt;br /&gt;
        get :copy, params&lt;br /&gt;
        expect(flash[:note]).to eq(&amp;quot;Warning: The submission directory for the copy of this assignment will be the same as the submission directory &amp;quot;\&lt;br /&gt;
          &amp;quot;for the existing assignment. This will allow student submissions to one assignment to overwrite submissions to the other assignment. &amp;quot;\&lt;br /&gt;
          &amp;quot;If you do not want this to happen, change the submission directory in the new copy of the assignment.&amp;quot;)&lt;br /&gt;
        expect(flash[:error]).to eq('The assignment was not able to be copied. Please check the original assignment for missing information.')&lt;br /&gt;
        expect(response).to redirect_to('/tree_display/list')&lt;br /&gt;
      end&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119158</id>
		<title>E1838 Project Red</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119158"/>
		<updated>2018-11-09T23:58:26Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* issue #391 and issue #1201  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. The aim of the project if to handle all the scenarios that can arise when the instructor is not specifying any directory name.&lt;br /&gt;
&lt;br /&gt;
=='''Issues to be fixed'''==&lt;br /&gt;
&lt;br /&gt;
Issue #391: In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. Please take a look at the Github issue for suggestions on how to solve this.&lt;br /&gt;
&lt;br /&gt;
Issue #1190: An issue with conflicting directories for copied assignments was fixed. You need to write the test to verify that this issue doesn’t recur. This test should check that the assignment directories for copied assignments are distinct from the original directories.&lt;br /&gt;
&lt;br /&gt;
Issue #1201: Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem. This needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Modified Files'''==&lt;br /&gt;
&lt;br /&gt;
1) /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
3) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Approach taken to resolve the issues'''==&lt;br /&gt;
&lt;br /&gt;
==='''Issue #391 '''===&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; When the instructor has not specified a directory path, there is no directory where the files can be stored.&lt;br /&gt;
-&amp;gt; Hence we allow only links to be submitted in such an assignment.&lt;br /&gt;
-&amp;gt; In the view of submitted content controller we disabled the button to upload files in such assignment where the directory path is null.&lt;br /&gt;
-&amp;gt; We displayed the message 'Fie submissions are disabled' whenever anyone tries to upload files to such assignment.&lt;br /&gt;
&lt;br /&gt;
Pseudo Code:&lt;br /&gt;
    Added following logic in /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;% if @assignment.directory_path != &amp;quot;&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;% puts &amp;quot;Assign Directory: #{@assignment.directory_path}&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;%= submit_tag 'Upload file', class: 'btn btn-default' %&amp;gt;&lt;br /&gt;
      &amp;lt;% else %&amp;gt;&lt;br /&gt;
        &amp;lt;%= 'File Submissions are disabled' %&amp;gt;&lt;br /&gt;
      &amp;lt;%end%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
If the assignment directory path is specified by the instructor then the button to upload files will be displayed else the warning message 'File submissions are disabled will be displayed'.&lt;br /&gt;
&lt;br /&gt;
==='''Issue #1201'''===&lt;br /&gt;
Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem.&lt;br /&gt;
&lt;br /&gt;
Approach taken to solve the issue:&lt;br /&gt;
Logic for Auto generation of the directory names:&lt;br /&gt;
Append assignment_name, assignment_id, course_id to make the directory name unique.&lt;br /&gt;
&lt;br /&gt;
Files modified: &lt;br /&gt;
&lt;br /&gt;
/app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
/app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
Pseudo code:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;assignment_form[check_validate]&amp;quot; /&amp;gt; File submissions are allowed? &amp;lt;/td&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Explanation: Added a checkbox in the view for creating an assignment. An instructor can select if file submissions are allowed. If he selects 'yes' then if the instructor has given an empty directory path, the name of the directory for the assignment will be auto generated.&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
   &lt;br /&gt;
      if quesparams[:assignment][:directory_path] == &amp;quot;&amp;quot; and quesparams[:check_validate] == &amp;quot;on&amp;quot;&lt;br /&gt;
        quesparams[:assignment][:directory_path] = &amp;quot;#{quesparams[:assignment][:name]}_#{quesparams[:assignment][:id]}_#{quesparams[:assignment][:course_id]}&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
Explanation: If the check box is checked, it will pass the value &amp;quot;on&amp;quot; to the assignment controller and the directory name will be auto generated.&lt;br /&gt;
&lt;br /&gt;
[[File:Blank_Diagram.jpeg]]&lt;br /&gt;
&lt;br /&gt;
==''' How to Test '''==&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #391 : https://youtu.be/OVVknOBkG6Y&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #404 : https://youtu.be/uvnamlY2&lt;br /&gt;
&lt;br /&gt;
==''' Test Plan'''==&lt;br /&gt;
=='''issue #391 and issue #1201 '''==&lt;br /&gt;
&lt;br /&gt;
Steps to test Issue #391 and #1201&lt;br /&gt;
&lt;br /&gt;
1) Login as Instructor&lt;br /&gt;
&lt;br /&gt;
2) Click on Manage , select assignments.&lt;br /&gt;
&lt;br /&gt;
3) New public assignment/ New private assignment&lt;br /&gt;
&lt;br /&gt;
4) Fill in the details &lt;br /&gt;
&lt;br /&gt;
5) Select if you want to allow file submissions&lt;br /&gt;
&lt;br /&gt;
6) If 'yes', then file directory name will be auto generated as 'assignment_name'_'assignment_id'_'course_name'&lt;br /&gt;
&lt;br /&gt;
7) If 'no'&lt;br /&gt;
&lt;br /&gt;
8) Login as a student and you can see that only links can be submitted and file submissions are disabled since the directory is not specified&lt;br /&gt;
&lt;br /&gt;
==''' Automated tests for Issue #1190 '''==&lt;br /&gt;
&lt;br /&gt;
Following RSPEC Code is added to assignments_controller_spec.rb:&lt;br /&gt;
&lt;br /&gt;
The below code RSPEC snippet tests for the issue where in the assignment which is duplicated does not have the same directory for submissions as the original assignment.&lt;br /&gt;
&lt;br /&gt;
     context 'when new assignment directory is same as old' do&lt;br /&gt;
      it 'should show an error and redirect to assignments#edit page' do&lt;br /&gt;
        allow(new_assignment).to receive(:save).and_return(true)&lt;br /&gt;
        allow(Assignment).to receive(:find).with(2).and_return(new_assignment)&lt;br /&gt;
        params = {id: 1}&lt;br /&gt;
        get :copy, params&lt;br /&gt;
        expect(flash[:note]).to eq(&amp;quot;Warning: The submission directory for the copy of this assignment will be the same as the submission directory &amp;quot;\&lt;br /&gt;
          &amp;quot;for the existing assignment. This will allow student submissions to one assignment to overwrite submissions to the other assignment. &amp;quot;\&lt;br /&gt;
          &amp;quot;If you do not want this to happen, change the submission directory in the new copy of the assignment.&amp;quot;)&lt;br /&gt;
        expect(flash[:error]).to eq('The assignment was not able to be copied. Please check the original assignment for missing information.')&lt;br /&gt;
        expect(response).to redirect_to('/tree_display/list')&lt;br /&gt;
      end&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119156</id>
		<title>E1838 Project Red</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119156"/>
		<updated>2018-11-09T23:56:58Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /*  Automated tests for Issue #1190  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. The aim of the project if to handle all the scenarios that can arise when the instructor is not specifying any directory name.&lt;br /&gt;
&lt;br /&gt;
=='''Issues to be fixed'''==&lt;br /&gt;
&lt;br /&gt;
Issue #391: In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. Please take a look at the Github issue for suggestions on how to solve this.&lt;br /&gt;
&lt;br /&gt;
Issue #1190: An issue with conflicting directories for copied assignments was fixed. You need to write the test to verify that this issue doesn’t recur. This test should check that the assignment directories for copied assignments are distinct from the original directories.&lt;br /&gt;
&lt;br /&gt;
Issue #1201: Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem. This needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Modified Files'''==&lt;br /&gt;
&lt;br /&gt;
1) /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
3) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Approach taken to resolve the issues'''==&lt;br /&gt;
&lt;br /&gt;
==='''Issue #391 '''===&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; When the instructor has not specified a directory path, there is no directory where the files can be stored.&lt;br /&gt;
-&amp;gt; Hence we allow only links to be submitted in such an assignment.&lt;br /&gt;
-&amp;gt; In the view of submitted content controller we disabled the button to upload files in such assignment where the directory path is null.&lt;br /&gt;
-&amp;gt; We displayed the message 'Fie submissions are disabled' whenever anyone tries to upload files to such assignment.&lt;br /&gt;
&lt;br /&gt;
Pseudo Code:&lt;br /&gt;
    Added following logic in /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;% if @assignment.directory_path != &amp;quot;&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;% puts &amp;quot;Assign Directory: #{@assignment.directory_path}&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;%= submit_tag 'Upload file', class: 'btn btn-default' %&amp;gt;&lt;br /&gt;
      &amp;lt;% else %&amp;gt;&lt;br /&gt;
        &amp;lt;%= 'File Submissions are disabled' %&amp;gt;&lt;br /&gt;
      &amp;lt;%end%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
If the assignment directory path is specified by the instructor then the button to upload files will be displayed else the warning message 'File submissions are disabled will be displayed'.&lt;br /&gt;
&lt;br /&gt;
==='''Issue #1201'''===&lt;br /&gt;
Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem.&lt;br /&gt;
&lt;br /&gt;
Approach taken to solve the issue:&lt;br /&gt;
Logic for Auto generation of the directory names:&lt;br /&gt;
Append assignment_name, assignment_id, course_id to make the directory name unique.&lt;br /&gt;
&lt;br /&gt;
Files modified: &lt;br /&gt;
&lt;br /&gt;
/app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
/app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
Pseudo code:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;assignment_form[check_validate]&amp;quot; /&amp;gt; File submissions are allowed? &amp;lt;/td&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Explanation: Added a checkbox in the view for creating an assignment. An instructor can select if file submissions are allowed. If he selects 'yes' then if the instructor has given an empty directory path, the name of the directory for the assignment will be auto generated.&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
   &lt;br /&gt;
      if quesparams[:assignment][:directory_path] == &amp;quot;&amp;quot; and quesparams[:check_validate] == &amp;quot;on&amp;quot;&lt;br /&gt;
        quesparams[:assignment][:directory_path] = &amp;quot;#{quesparams[:assignment][:name]}_#{quesparams[:assignment][:id]}_#{quesparams[:assignment][:course_id]}&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
Explanation: If the check box is checked, it will pass the value &amp;quot;on&amp;quot; to the assignment controller and the directory name will be auto generated.&lt;br /&gt;
&lt;br /&gt;
[[File:Blank_Diagram.jpeg]]&lt;br /&gt;
&lt;br /&gt;
==''' How to Test '''==&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #391 : https://youtu.be/OVVknOBkG6Y&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #404 : https://youtu.be/uvnamlY2&lt;br /&gt;
&lt;br /&gt;
==''' Test Plan'''==&lt;br /&gt;
=='''issue #391 and issue #1201 '''==&lt;br /&gt;
&lt;br /&gt;
Steps to test Issue #391 and #1201&lt;br /&gt;
&lt;br /&gt;
1) Login as Instructor&lt;br /&gt;
&lt;br /&gt;
2) Click on Manage , select assignments.&lt;br /&gt;
&lt;br /&gt;
3) New public assignment/ New private assignment&lt;br /&gt;
&lt;br /&gt;
4) Fill in the details &lt;br /&gt;
&lt;br /&gt;
5) Select if you want to allow file submissions&lt;br /&gt;
&lt;br /&gt;
6) If 'yes', then file directory name will be auto generated as assignment_name+assignment_id+course_name&lt;br /&gt;
&lt;br /&gt;
7) If 'no'&lt;br /&gt;
&lt;br /&gt;
8) Login as a student and you can see that only links can be submitted and file submissions are disabled since the directory is not specified&lt;br /&gt;
&lt;br /&gt;
==''' Automated tests for Issue #1190 '''==&lt;br /&gt;
&lt;br /&gt;
Following RSPEC Code is added to assignments_controller_spec.rb:&lt;br /&gt;
&lt;br /&gt;
The below code RSPEC snippet tests for the issue where in the assignment which is duplicated does not have the same directory for submissions as the original assignment.&lt;br /&gt;
&lt;br /&gt;
     context 'when new assignment directory is same as old' do&lt;br /&gt;
      it 'should show an error and redirect to assignments#edit page' do&lt;br /&gt;
        allow(new_assignment).to receive(:save).and_return(true)&lt;br /&gt;
        allow(Assignment).to receive(:find).with(2).and_return(new_assignment)&lt;br /&gt;
        params = {id: 1}&lt;br /&gt;
        get :copy, params&lt;br /&gt;
        expect(flash[:note]).to eq(&amp;quot;Warning: The submission directory for the copy of this assignment will be the same as the submission directory &amp;quot;\&lt;br /&gt;
          &amp;quot;for the existing assignment. This will allow student submissions to one assignment to overwrite submissions to the other assignment. &amp;quot;\&lt;br /&gt;
          &amp;quot;If you do not want this to happen, change the submission directory in the new copy of the assignment.&amp;quot;)&lt;br /&gt;
        expect(flash[:error]).to eq('The assignment was not able to be copied. Please check the original assignment for missing information.')&lt;br /&gt;
        expect(response).to redirect_to('/tree_display/list')&lt;br /&gt;
      end&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119155</id>
		<title>E1838 Project Red</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=119155"/>
		<updated>2018-11-09T23:56:24Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. The aim of the project if to handle all the scenarios that can arise when the instructor is not specifying any directory name.&lt;br /&gt;
&lt;br /&gt;
=='''Issues to be fixed'''==&lt;br /&gt;
&lt;br /&gt;
Issue #391: In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. Please take a look at the Github issue for suggestions on how to solve this.&lt;br /&gt;
&lt;br /&gt;
Issue #1190: An issue with conflicting directories for copied assignments was fixed. You need to write the test to verify that this issue doesn’t recur. This test should check that the assignment directories for copied assignments are distinct from the original directories.&lt;br /&gt;
&lt;br /&gt;
Issue #1201: Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem. This needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Modified Files'''==&lt;br /&gt;
&lt;br /&gt;
1) /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
3) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Approach taken to resolve the issues'''==&lt;br /&gt;
&lt;br /&gt;
==='''Issue #391 '''===&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; When the instructor has not specified a directory path, there is no directory where the files can be stored.&lt;br /&gt;
-&amp;gt; Hence we allow only links to be submitted in such an assignment.&lt;br /&gt;
-&amp;gt; In the view of submitted content controller we disabled the button to upload files in such assignment where the directory path is null.&lt;br /&gt;
-&amp;gt; We displayed the message 'Fie submissions are disabled' whenever anyone tries to upload files to such assignment.&lt;br /&gt;
&lt;br /&gt;
Pseudo Code:&lt;br /&gt;
    Added following logic in /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;% if @assignment.directory_path != &amp;quot;&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;% puts &amp;quot;Assign Directory: #{@assignment.directory_path}&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;%= submit_tag 'Upload file', class: 'btn btn-default' %&amp;gt;&lt;br /&gt;
      &amp;lt;% else %&amp;gt;&lt;br /&gt;
        &amp;lt;%= 'File Submissions are disabled' %&amp;gt;&lt;br /&gt;
      &amp;lt;%end%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
If the assignment directory path is specified by the instructor then the button to upload files will be displayed else the warning message 'File submissions are disabled will be displayed'.&lt;br /&gt;
&lt;br /&gt;
==='''Issue #1201'''===&lt;br /&gt;
Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem.&lt;br /&gt;
&lt;br /&gt;
Approach taken to solve the issue:&lt;br /&gt;
Logic for Auto generation of the directory names:&lt;br /&gt;
Append assignment_name, assignment_id, course_id to make the directory name unique.&lt;br /&gt;
&lt;br /&gt;
Files modified: &lt;br /&gt;
&lt;br /&gt;
/app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
/app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
Pseudo code:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;assignment_form[check_validate]&amp;quot; /&amp;gt; File submissions are allowed? &amp;lt;/td&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Explanation: Added a checkbox in the view for creating an assignment. An instructor can select if file submissions are allowed. If he selects 'yes' then if the instructor has given an empty directory path, the name of the directory for the assignment will be auto generated.&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
   &lt;br /&gt;
      if quesparams[:assignment][:directory_path] == &amp;quot;&amp;quot; and quesparams[:check_validate] == &amp;quot;on&amp;quot;&lt;br /&gt;
        quesparams[:assignment][:directory_path] = &amp;quot;#{quesparams[:assignment][:name]}_#{quesparams[:assignment][:id]}_#{quesparams[:assignment][:course_id]}&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
Explanation: If the check box is checked, it will pass the value &amp;quot;on&amp;quot; to the assignment controller and the directory name will be auto generated.&lt;br /&gt;
&lt;br /&gt;
[[File:Blank_Diagram.jpeg]]&lt;br /&gt;
&lt;br /&gt;
==''' How to Test '''==&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #391 : https://youtu.be/OVVknOBkG6Y&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #404 : https://youtu.be/uvnamlY2&lt;br /&gt;
&lt;br /&gt;
==''' Test Plan'''==&lt;br /&gt;
=='''issue #391 and issue #1201 '''==&lt;br /&gt;
&lt;br /&gt;
Steps to test Issue #391 and #1201&lt;br /&gt;
&lt;br /&gt;
1) Login as Instructor&lt;br /&gt;
&lt;br /&gt;
2) Click on Manage , select assignments.&lt;br /&gt;
&lt;br /&gt;
3) New public assignment/ New private assignment&lt;br /&gt;
&lt;br /&gt;
4) Fill in the details &lt;br /&gt;
&lt;br /&gt;
5) Select if you want to allow file submissions&lt;br /&gt;
&lt;br /&gt;
6) If 'yes', then file directory name will be auto generated as assignment_name+assignment_id+course_name&lt;br /&gt;
&lt;br /&gt;
7) If 'no'&lt;br /&gt;
&lt;br /&gt;
8) Login as a student and you can see that only links can be submitted and file submissions are disabled since the directory is not specified&lt;br /&gt;
&lt;br /&gt;
==''' Automated tests for Issue #1190 '''==&lt;br /&gt;
&lt;br /&gt;
Following RSPEC Code is added to assignments_controller_spec.rb:&lt;br /&gt;
&lt;br /&gt;
The below code RSPEC snippet tests for the issue where in the assignment which is duplicated does not have the same directory for submissions as the original assignment.&lt;br /&gt;
&lt;br /&gt;
     context 'when new assignment directory is same as old' do&lt;br /&gt;
      it 'should show an error and redirect to assignments#edit page' do&lt;br /&gt;
        allow(new_assignment).to receive(:save).and_return(true)&lt;br /&gt;
        allow(Assignment).to receive(:find).with(2).and_return(new_assignment)&lt;br /&gt;
        params = {id: 1}&lt;br /&gt;
        get :copy, params&lt;br /&gt;
&lt;br /&gt;
        expect(flash[:note]).to eq(&amp;quot;Warning: The submission directory for the copy of this assignment will be the same as the submission directory &amp;quot;\&lt;br /&gt;
          &amp;quot;for the existing assignment. This will allow student submissions to one assignment to overwrite submissions to the other assignment. &amp;quot;\&lt;br /&gt;
          &amp;quot;If you do not want this to happen, change the submission directory in the new copy of the assignment.&amp;quot;)&lt;br /&gt;
        expect(flash[:error]).to eq('The assignment was not able to be copied. Please check the original assignment for missing information.')&lt;br /&gt;
        expect(response).to redirect_to('/tree_display/list')&lt;br /&gt;
&lt;br /&gt;
      end&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=118931</id>
		<title>E1838 Project Red</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=118931"/>
		<updated>2018-11-08T23:46:28Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Issue #1201 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. The aim of the project if to handle all the scenarios that can arise when the instructor is not specifying any directory name.&lt;br /&gt;
&lt;br /&gt;
=='''Issues to be fixed'''==&lt;br /&gt;
&lt;br /&gt;
Issue #391: In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. Please take a look at the Github issue for suggestions on how to solve this.&lt;br /&gt;
&lt;br /&gt;
Issue #1190: An issue with conflicting directories for copied assignments was fixed. You need to write the test to verify that this issue doesn’t recur. This test should check that the assignment directories for copied assignments are distinct from the original directories.&lt;br /&gt;
&lt;br /&gt;
Issue #1201: Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem. This needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Modified Files'''==&lt;br /&gt;
&lt;br /&gt;
1) /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
3) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Approach taken to resolve the issues'''==&lt;br /&gt;
&lt;br /&gt;
==='''Issue #391 '''===&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; When the instructor has not specified a directory path, there is no directory where the files can be stored.&lt;br /&gt;
-&amp;gt; Hence we allow only links to be submitted in such an assignment.&lt;br /&gt;
-&amp;gt; In the view of submitted content controller we disabled the button to upload files in such assignment where the directory path is null.&lt;br /&gt;
-&amp;gt; We displayed the message 'Fie submissions are disabled' whenever anyone tries to upload files to such assignment.&lt;br /&gt;
&lt;br /&gt;
Pseudo Code:&lt;br /&gt;
    Added following logic in /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;% if @assignment.directory_path != &amp;quot;&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;% puts &amp;quot;Assign Directory: #{@assignment.directory_path}&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;%= submit_tag 'Upload file', class: 'btn btn-default' %&amp;gt;&lt;br /&gt;
      &amp;lt;% else %&amp;gt;&lt;br /&gt;
        &amp;lt;%= 'File Submissions are disabled' %&amp;gt;&lt;br /&gt;
      &amp;lt;%end%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
If the assignment directory path is specified by the instructor then the button to upload files will be displayed else the warning message 'File submissions are disabled will be displayed'.&lt;br /&gt;
&lt;br /&gt;
==='''Issue #1201'''===&lt;br /&gt;
Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem.&lt;br /&gt;
&lt;br /&gt;
Approach taken to solve the issue:&lt;br /&gt;
Logic for Auto generation of the directory names:&lt;br /&gt;
Append assignment_name, assignment_id, course_id to make the directory name unique.&lt;br /&gt;
&lt;br /&gt;
Files modified: &lt;br /&gt;
&lt;br /&gt;
/app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
/app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
Pseudo code:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;assignment_form[check_validate]&amp;quot; /&amp;gt; File submissions are allowed? &amp;lt;/td&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Explanation: Added a checkbox in the view for creating an assignment. An instructor can select if file submissions are allowed. If he selects 'yes' then if the instructor has given an empty directory path, the name of the directory for the assignment will be auto generated.&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
   &lt;br /&gt;
      if quesparams[:assignment][:directory_path] == &amp;quot;&amp;quot; and quesparams[:check_validate] == &amp;quot;on&amp;quot;&lt;br /&gt;
        quesparams[:assignment][:directory_path] = &amp;quot;#{quesparams[:assignment][:name]}_#{quesparams[:assignment][:id]}_#{quesparams[:assignment][:course_id]}&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
Explanation: If the check box is checked, it will pass the value &amp;quot;on&amp;quot; to the assignment controller and the directory name will be auto generated.&lt;br /&gt;
&lt;br /&gt;
[[File:Blank_Diagram.jpeg]]&lt;br /&gt;
&lt;br /&gt;
==''' How to Test '''==&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #391 : https://youtu.be/OVVknOBkG6Y&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #404 : https://youtu.be/uvnamlY2&lt;br /&gt;
&lt;br /&gt;
==''' Test Plan'''==&lt;br /&gt;
=='''issue #391 and issue #1201 '''==&lt;br /&gt;
&lt;br /&gt;
Steps to test Issue #391 and #1201&lt;br /&gt;
&lt;br /&gt;
1) Login as Instructor&lt;br /&gt;
&lt;br /&gt;
2) Click on Manage , select assignments.&lt;br /&gt;
&lt;br /&gt;
3) New public assignment/ New private assignment&lt;br /&gt;
&lt;br /&gt;
4) Fill in the details &lt;br /&gt;
&lt;br /&gt;
5) Select if you want to allow file submissions&lt;br /&gt;
&lt;br /&gt;
6) If 'yes', then file directory name will be auto generated as assignment_name+assignment_id+course_name&lt;br /&gt;
&lt;br /&gt;
7) If 'no'&lt;br /&gt;
&lt;br /&gt;
8) Login as a student and you can see that only links can be submitted and file submissions are disabled since the directory is not specified&lt;br /&gt;
&lt;br /&gt;
==''' Automated tests for Issue #391 and #404 '''==&lt;br /&gt;
&lt;br /&gt;
Following RSPEC Code is added to assignment_spec.rb:&lt;br /&gt;
&lt;br /&gt;
1) To check if the directory storage path specified by the user is a part of any other submissions directory we check if the assignment.directory_path is a part of any existing directory path:&lt;br /&gt;
    1)describe 'check_directory_path' do:&lt;br /&gt;
    2)    it 'returns false if directory path already in use' do:&lt;br /&gt;
    3)        @assignment = create(:assignment)&lt;br /&gt;
    4)        expect(@assignment.check_directory_path).to eql(false)&lt;br /&gt;
    5)    end&lt;br /&gt;
    6)end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) To check that an assignment object cannot be saved until a submission directory path is provided for that assignment:&lt;br /&gt;
&lt;br /&gt;
 1)it 'is not valid without directory_path' do&lt;br /&gt;
 2)    assignment.directory_path = nil&lt;br /&gt;
 3)    assignment.should_not be_valid&lt;br /&gt;
 4)end&lt;br /&gt;
&lt;br /&gt;
3)  To check if after assigning course to an assignment is the directory path updated to contain the course path:&lt;br /&gt;
&lt;br /&gt;
 1)it 'should contain course in path name' do&lt;br /&gt;
 2)    @assignment = create(:assignment)&lt;br /&gt;
 3)    @assignment.directory_path = Course.first.directory_path.to_s + &amp;quot;/finaltest&amp;quot;&lt;br /&gt;
 4)    expect(@assignment.directory_path).to include(Course.first.directory_path)&lt;br /&gt;
 5)end&lt;br /&gt;
** To test the changes clone the following repository https://github.com/daxamin/expertiza .&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=118930</id>
		<title>E1838 Project Red</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1838_Project_Red&amp;diff=118930"/>
		<updated>2018-11-08T23:46:15Z</updated>

		<summary type="html">&lt;p&gt;Nuachary: /* Issue #1201 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. The aim of the project if to handle all the scenarios that can arise when the instructor is not specifying any directory name.&lt;br /&gt;
&lt;br /&gt;
=='''Issues to be fixed'''==&lt;br /&gt;
&lt;br /&gt;
Issue #391: In Expertiza, if the instructor doesn’t specify the assignment directory for a submission, the directory defaults to the home directory. This can lead to multiple assignment submissions being in the same place and creating confusion. Please take a look at the Github issue for suggestions on how to solve this.&lt;br /&gt;
&lt;br /&gt;
Issue #1190: An issue with conflicting directories for copied assignments was fixed. You need to write the test to verify that this issue doesn’t recur. This test should check that the assignment directories for copied assignments are distinct from the original directories.&lt;br /&gt;
&lt;br /&gt;
Issue #1201: Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem. This needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Modified Files'''==&lt;br /&gt;
&lt;br /&gt;
1) /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
3) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=='''Approach taken to resolve the issues'''==&lt;br /&gt;
&lt;br /&gt;
==='''Issue #391 '''===&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; When the instructor has not specified a directory path, there is no directory where the files can be stored.&lt;br /&gt;
-&amp;gt; Hence we allow only links to be submitted in such an assignment.&lt;br /&gt;
-&amp;gt; In the view of submitted content controller we disabled the button to upload files in such assignment where the directory path is null.&lt;br /&gt;
-&amp;gt; We displayed the message 'Fie submissions are disabled' whenever anyone tries to upload files to such assignment.&lt;br /&gt;
&lt;br /&gt;
Pseudo Code:&lt;br /&gt;
    Added following logic in /app/views/submitted_content/_submitted_files.html.erb&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;% if @assignment.directory_path != &amp;quot;&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;% puts &amp;quot;Assign Directory: #{@assignment.directory_path}&amp;quot; %&amp;gt;&lt;br /&gt;
        &amp;lt;%= submit_tag 'Upload file', class: 'btn btn-default' %&amp;gt;&lt;br /&gt;
      &amp;lt;% else %&amp;gt;&lt;br /&gt;
        &amp;lt;%= 'File Submissions are disabled' %&amp;gt;&lt;br /&gt;
      &amp;lt;%end%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
If the assignment directory path is specified by the instructor then the button to upload files will be displayed else the warning message 'File submissions are disabled will be displayed'.&lt;br /&gt;
&lt;br /&gt;
==='''Issue #1201'''===&lt;br /&gt;
Expertiza has the feature to auto generate the directory names for submissions from the assignment name. However, this may be concerning if two assignments have the same name, in which case the submission folders would be the same and this would again create a problem.&lt;br /&gt;
&lt;br /&gt;
Approach taken to solve the issue:&lt;br /&gt;
Logic for Auto generation of the directory names:&lt;br /&gt;
Append assignment_name, assignment_id, course_id to make the directory name unique.&lt;br /&gt;
&lt;br /&gt;
Files modified: &lt;br /&gt;
&lt;br /&gt;
/app/controllers/assignment_controller.rb&lt;br /&gt;
&lt;br /&gt;
/app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
1) /app/views/assignments/edit/_general.html.erb&lt;br /&gt;
&lt;br /&gt;
Pseudo code:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;assignment_form[check_validate]&amp;quot; /&amp;gt; File submissions are allowed? &amp;lt;/td&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Explanation: Added a checkbox in the view for creating an assignment. An instructor can select if file submissions are allowed. If he selects 'yes' then if the instructor has given an empty directory path, the name of the directory for the assignment will be auto generated.&lt;br /&gt;
&lt;br /&gt;
2) /app/controllers/assignment_controller.rb&lt;br /&gt;
   &lt;br /&gt;
      if quesparams[:assignment][:directory_path] == &amp;quot;&amp;quot; and quesparams[:check_validate] == &amp;quot;on&amp;quot;&lt;br /&gt;
        quesparams[:assignment][:directory_path] = &amp;quot;#{quesparams[:assignment][:name]}_#{quesparams[:assignment][:id]}_#{quesparams[:assignment][:course_id]}&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
Explanation: If the check box is checked, it will pass the value &amp;quot;on&amp;quot; to the assignment controller and the directory name will be auto generated.&lt;br /&gt;
&lt;br /&gt;
[[File:Blank_Diagram.jpeg]]&lt;br /&gt;
&lt;br /&gt;
==''' How to Test '''==&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #391 : https://youtu.be/OVVknOBkG6Y&lt;br /&gt;
&lt;br /&gt;
Link to ScreenCast Bug #404 : https://youtu.be/uvnamlY2&lt;br /&gt;
&lt;br /&gt;
==''' Test Plan'''==&lt;br /&gt;
=='''issue #391 and issue #1201 '''==&lt;br /&gt;
&lt;br /&gt;
Steps to test Issue #391 and #1201&lt;br /&gt;
&lt;br /&gt;
1) Login as Instructor&lt;br /&gt;
&lt;br /&gt;
2) Click on Manage , select assignments.&lt;br /&gt;
&lt;br /&gt;
3) New public assignment/ New private assignment&lt;br /&gt;
&lt;br /&gt;
4) Fill in the details &lt;br /&gt;
&lt;br /&gt;
5) Select if you want to allow file submissions&lt;br /&gt;
&lt;br /&gt;
6) If 'yes', then file directory name will be auto generated as assignment_name+assignment_id+course_name&lt;br /&gt;
&lt;br /&gt;
7) If 'no'&lt;br /&gt;
&lt;br /&gt;
8) Login as a student and you can see that only links can be submitted and file submissions are disabled since the directory is not specified&lt;br /&gt;
&lt;br /&gt;
==''' Automated tests for Issue #391 and #404 '''==&lt;br /&gt;
&lt;br /&gt;
Following RSPEC Code is added to assignment_spec.rb:&lt;br /&gt;
&lt;br /&gt;
1) To check if the directory storage path specified by the user is a part of any other submissions directory we check if the assignment.directory_path is a part of any existing directory path:&lt;br /&gt;
    1)describe 'check_directory_path' do:&lt;br /&gt;
    2)    it 'returns false if directory path already in use' do:&lt;br /&gt;
    3)        @assignment = create(:assignment)&lt;br /&gt;
    4)        expect(@assignment.check_directory_path).to eql(false)&lt;br /&gt;
    5)    end&lt;br /&gt;
    6)end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) To check that an assignment object cannot be saved until a submission directory path is provided for that assignment:&lt;br /&gt;
&lt;br /&gt;
 1)it 'is not valid without directory_path' do&lt;br /&gt;
 2)    assignment.directory_path = nil&lt;br /&gt;
 3)    assignment.should_not be_valid&lt;br /&gt;
 4)end&lt;br /&gt;
&lt;br /&gt;
3)  To check if after assigning course to an assignment is the directory path updated to contain the course path:&lt;br /&gt;
&lt;br /&gt;
 1)it 'should contain course in path name' do&lt;br /&gt;
 2)    @assignment = create(:assignment)&lt;br /&gt;
 3)    @assignment.directory_path = Course.first.directory_path.to_s + &amp;quot;/finaltest&amp;quot;&lt;br /&gt;
 4)    expect(@assignment.directory_path).to include(Course.first.directory_path)&lt;br /&gt;
 5)end&lt;br /&gt;
** To test the changes clone the following repository https://github.com/daxamin/expertiza .&lt;/div&gt;</summary>
		<author><name>Nuachary</name></author>
	</entry>
</feed>