<?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=Tnanda</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=Tnanda"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Tnanda"/>
	<updated>2026-05-13T04:41:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125040</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125040"/>
		<updated>2019-05-08T17:09:47Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires_controller_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be Demo Video]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125039</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125039"/>
		<updated>2019-05-08T17:09:15Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires_controller_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125038</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125038"/>
		<updated>2019-05-08T17:08:45Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Specs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires_controller_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125037</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125037"/>
		<updated>2019-05-08T17:08:14Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125036</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125036"/>
		<updated>2019-05-08T17:07:58Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125035</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125035"/>
		<updated>2019-05-08T17:07:09Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Views */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/9bc76076b1739f2d2ddaff74782ea6f1a046f38a submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125034</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125034"/>
		<updated>2019-05-08T17:05:52Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Controllers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456/commits/2bd9590d18b56d0fcc8850f729a00370cd23190f submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125033</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125033"/>
		<updated>2019-05-08T17:03:08Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Controllers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1456 questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125030</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=125030"/>
		<updated>2019-05-08T16:55:18Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
This project has been extended and reworked under Independent Study in Spring 2019. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124959</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124959"/>
		<updated>2019-05-07T16:55:25Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
&lt;br /&gt;
*https://www.youtube.com/watch?v=t11JQUEqUKg&amp;amp;feature=youtu.be&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124958</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124958"/>
		<updated>2019-05-07T16:52:55Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124245</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124245"/>
		<updated>2019-04-24T19:56:03Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Motivation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124244</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124244"/>
		<updated>2019-04-24T19:55:55Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* What needs to be done? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* The new questionnaire must be linked to the second-round questionnaire.&lt;br /&gt;
* The new questionnaire must be part of the team's submission records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124243</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124243"/>
		<updated>2019-04-24T19:54:21Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Criteria for completion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* Every new question must be linked to the second-round questionnaire.&lt;br /&gt;
* Every new question must be linked to the author’s submission&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Planning Questionnaire.&lt;br /&gt;
# Create a form for the Assignment Team to add Questions to a Questionnaire that are specific to that Submission in the second round of submission.&lt;br /&gt;
# Append Revision Planning Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124242</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124242"/>
		<updated>2019-04-24T19:50:16Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* demo video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* Every new question must be linked to the second-round questionnaire.&lt;br /&gt;
* Every new question must be linked to the author’s submission&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Improvement Questionnaire.&lt;br /&gt;
# Create a form for a Assignment Team to add Questions to a Questionnaire that are specific to that Submission.&lt;br /&gt;
# Append Revision Improvement Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124241</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124241"/>
		<updated>2019-04-24T19:49:52Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* Every new question must be linked to the second-round questionnaire.&lt;br /&gt;
* Every new question must be linked to the author’s submission&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Improvement Questionnaire.&lt;br /&gt;
# Create a form for a Assignment Team to add Questions to a Questionnaire that are specific to that Submission.&lt;br /&gt;
# Append Revision Improvement Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for rounds.&lt;br /&gt;
## Add topics to the assignment&lt;br /&gt;
# Set 2 rounds of submissions and reviews.&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Signup for topic and form team.&lt;br /&gt;
# Make submissions in round 1 submission.&lt;br /&gt;
# Move to round 1 review stage.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Make submissions in round 1 and review it.&lt;br /&gt;
# Move to round 2 submission stage&lt;br /&gt;
# Impersonate student1.&lt;br /&gt;
# Submit a revision plan in the 'Your Work' handle.&lt;br /&gt;
# Repeat above two steps for student2.&lt;br /&gt;
# Move to round 2 review.&lt;br /&gt;
# Impersonate student2.&lt;br /&gt;
# Verify that revision plan questions are added to the review by student1'team and submit the review.&lt;br /&gt;
# impersonate student1.&lt;br /&gt;
# Repeat the above two steps for student1.&lt;br /&gt;
# Verify that review has been received on the revision plan questions after assignment is finished.&lt;br /&gt;
&lt;br /&gt;
=== demo video ===&lt;br /&gt;
[https://www.youtube.com/watch?v=J1QeUd0b7RQ E1875]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124240</id>
		<title>E1875 Revision Planning Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1875_Revision_Planning_Tool&amp;diff=124240"/>
		<updated>2019-04-24T19:42:53Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== What's it about? ==&lt;br /&gt;
In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work.  Then in the second round, reviewers rate how well authors have followed their suggestions.  We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews.  That is, authors would say what they were planning to do to improve their work.  Then second-round reviewers would assess how well they did it.  In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission.  We are interested in having this implemented and used in a class so that we can study its effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== What needs to be done? ==&lt;br /&gt;
* Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:&lt;br /&gt;
** A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.&lt;br /&gt;
** One or more questions for every proposed improvement. Example:&lt;br /&gt;
*** How effectively did feature X address / solve issues a, b and c?&lt;br /&gt;
*** Did modification of feature Y resolve error d?&lt;br /&gt;
* Every new question must be linked to the second-round questionnaire.&lt;br /&gt;
* Every new question must be linked to the author’s submission&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
In the 2nd round of reviews, the Author should be able to add a statement to direct towards Author selected improvements from Round 1 to Round 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Motivation ==&lt;br /&gt;
The OSS and Final projects are different for every team. From a reviewers perspective, not all questions make sense for all projects. The motivation behind this project is:&lt;br /&gt;
* Questions unique to each project gives the reviewers a perspective on the author’s objectives.&lt;br /&gt;
* Allow the Author to get feedback on whether or not they accomplished their self-directed goal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Criteria for completion ==&lt;br /&gt;
# Direct user to Revision Improvement Questionnaire.&lt;br /&gt;
# Create a form for a Assignment Team to add Questions to a Questionnaire that are specific to that Submission.&lt;br /&gt;
# Append Revision Improvement Questionnaire to 2nd Round Review Questionnaire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI mockups ===&lt;br /&gt;
The first image shows a mockup of what the Author will see on the submission page to submit new additional questions for review. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875U1_1.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Second is a view of what the reviewer will see. It should blend in with the review questions submitted by the instructor for all similar projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:E1875UI_2.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
&lt;br /&gt;
==== Controllers ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a7ee7dddd7aedbc0b814d98f0cb34c25 grades_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-b41fa84d1ee0c03c4e301f977fbe453d questionnaires_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7786ab741930f6bace28b7e5da61b8d6 response_controller.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-33d668958529875af7029d78e37aff60 submitted_content_controller.rb]&lt;br /&gt;
&lt;br /&gt;
==== Views ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-2213cf9074761b4121a9fb3ddcce6145 questionnaires/_questionnaire.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-6b83ba9473bd5cc58d3b7c620235a6c0 submitted_content/edit.html.erb]&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a983bfc492e6d1982c673bc208afe459 answer.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3dffd0131e1a14847e8c98376bae4984 questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-f2caf2e29f94ec94cb27bdb86ec85d40 response.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-85f51952994f8162980c605efd60db44 revision_review_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c6f2a3b3452f5a9effa4a2b023ed2322 submission_record.rb]&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-c2ba560985d8d1ea9184e04d71bf2c83 20181123004154_add_submission_record_to_questionnaire.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-1acd2e7e27a227829d5d14a91c863bb6 schema.rb]&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-ebb9ab8d49abf2b40d4aad426dad68e5 grades_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-df286dc963f50de24c47bacfb0b3a143 questionnaires_controller_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-3a17ddf9d828caa60f11423f20fb88a9 factories.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-7d95010cdfe370a461e216ba1d724392 assignment_submission_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-a68a7982922073b9602c0fd6097e0bd2 answer_spec.rb]&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-e162432910d3b3b29b3c9711d6e818bb revision_review_questionnaire_spec.rb]&lt;br /&gt;
&lt;br /&gt;
==== config ====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1302/files#diff-21497849d8f00507c9c8dcaf6288b136 routes.rb]&lt;br /&gt;
&lt;br /&gt;
== Test Plan and Demo ==&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
# Login as 'super_administrator2' with password 'password'.&lt;br /&gt;
# Make an assignment with the name 'Assignment1'. &lt;br /&gt;
# Make the following selections:&lt;br /&gt;
## Review Strategy: Allow authors to add to rubric.&lt;br /&gt;
## Rubric: Rubric varies by round.&lt;br /&gt;
## Add participants: Add existing students - student1, student2&lt;br /&gt;
## Due Dates: Add deadlines for round 1 and round 2&lt;br /&gt;
# Set 2 rounds of submissions and reviews in RPT.&lt;br /&gt;
# impersonate abc.&lt;br /&gt;
# submit for round 1.&lt;br /&gt;
# move to round 1 review stage.&lt;br /&gt;
# impersonate xyz.&lt;br /&gt;
# add review as xyz.&lt;br /&gt;
# move to round 2 submission stage&lt;br /&gt;
# impersonate abc.&lt;br /&gt;
# submit a revision plan through the submission page.&lt;br /&gt;
# move to round 2 review.&lt;br /&gt;
# impersonate xyz.&lt;br /&gt;
# verify that revision plan wuestions are added to the review and submit the review.&lt;br /&gt;
# impersonate abc.&lt;br /&gt;
# verify that review has been received on the revision plan questions.&lt;br /&gt;
&lt;br /&gt;
=== demo video ===&lt;br /&gt;
[https://www.youtube.com/watch?v=J1QeUd0b7RQ E1875]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121299</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121299"/>
		<updated>2018-12-08T01:31:36Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
A key component of Expertiza is peer reviews, which provide feedback to authors so that they can improve their work. Expertiza also supports grading of these reviews to ensure students write quality reviews, helping them learn more about the assignment by looking at their peers' work. In addition, Expertiza allows for metareviews, which are reviews the authors of the original work write for the reviews of their original work. This author feedback is useful for grading the reviews because it indicates how helpful this review was to the authors of the original work. The objective of this project is to add metareview or author feedback information to the review report page, which shows a summary of all the reviews written by the students for an assignment.&lt;br /&gt;
&lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== User Interface Enhancements ==&lt;br /&gt;
&lt;br /&gt;
In the page &amp;quot;Review report for Design exercise&amp;quot; (Log in as an instructor then go to Manage -&amp;gt; Assignments -&amp;gt; View review report.), we are planning to add one more column to show the average ratings for the author feedback for a student's review of a particular assignment. The logic for calculating the average score for the metareviews would be similar to already implemented logic for the &amp;quot;Score Awarded/Average Score&amp;quot; column. Below is the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
== Controller-level Logic ==&lt;br /&gt;
&lt;br /&gt;
The following method shows the code logic we are planning to write for calculating the average scores for the feedback given by authors for the reviews of their work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 def calculate_avg_score_by_feedback(question_answers, q_max_score)&lt;br /&gt;
      # get score and summary of answers for each question&lt;br /&gt;
      # only include divide the valid_answer_sum with the number of valid answers&lt;br /&gt;
&lt;br /&gt;
      valid_answer_counter = 0&lt;br /&gt;
      question_score = 0.0&lt;br /&gt;
      question_answers.each do |ans|&lt;br /&gt;
        # calculate score per question&lt;br /&gt;
        unless ans.answer.nil?&lt;br /&gt;
          question_score += ans.answer&lt;br /&gt;
          valid_answer_counter += 1&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      if valid_answer_counter &amp;gt; 0 and q_max_score &amp;gt; 0&lt;br /&gt;
        # convert the score in percentage&lt;br /&gt;
        question_score /= (valid_answer_counter * q_max_score)&lt;br /&gt;
        question_score = question_score.round(2) * 100&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      question_score&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relevant Database Tables ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for this feature. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire are saved in the Answers table below based on the Question ID. Now, in order to know if the answer is a feedback by team members or a review by reviewer, the mapping for the Answers table is done by the response_id which is a foreign key to the Response table. This Response table gives us the map_id which maps to a response map table. Now, the response map table gives us information on the reviewer_id, reviewee_id, reviewed_object_id (which is the ID for the assignment being reviewed) and the type (whether it's a teammate review, author feedback, a regular review, etc.). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a previous reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions for the corresponding ReviewScores table. Below are excerpts from the [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza database documentation] which describe the database tables relevant to our design.&lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UML Flow-Chart ==&lt;br /&gt;
&lt;br /&gt;
[[File:UML-progress.png]]&lt;br /&gt;
&lt;br /&gt;
== Files That Will be Changed ==&lt;br /&gt;
&lt;br /&gt;
1. To calculate the average author feedback score: https://github.com/jainmohit1/expertiza/blob/master/app/models/on_the_fly_calc.rb&lt;br /&gt;
&lt;br /&gt;
2. To populate the average author feedback score for the view: https://github.com/jainmohit1/expertiza/blob/master/app/controllers/review_mapping_controller.rb&lt;br /&gt;
&lt;br /&gt;
3. To add a field in the view: https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
4. To add a field in the partial : https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
5. To add a field in the partial:  https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
We added functionality in the on_the_fly_calc.rb file in Models. The methods in consideration are:&amp;lt;br&amp;gt;&lt;br /&gt;
1. compute_author_feedback_scores&amp;lt;br&amp;gt;&lt;br /&gt;
2. calc_avg_feedback_score(response)&amp;lt;br&amp;gt;&lt;br /&gt;
3. calc_feedback_scores_sum&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first method fetches the Feedback Response from ResponseMaps table based on the responses given earlier. Responses means the reviews given. Each feedback is saved to ResponseMap table with type = 'FeedbackResponseMap'. The feedback is fetched according to the assignment id, the reviewer who gave the review for that assignment and the reviews in each round. For each feedback response, we get the weight of the answer(feedback) submitted by author from Answer table and the weight of each answer from Questions table for the FeedbackQuestionnaire in consideration which we fetched from Questionnaire table. We calculate by taking an average of all feedbacks given by all team members to the reviews that they got. Following is the code snippet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def compute_author_feedback_scores&lt;br /&gt;
    @author_feedback_scores = {}&lt;br /&gt;
    @response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', self.id, 'ReviewResponseMap')&lt;br /&gt;
    rounds = self.rounds_of_reviews&lt;br /&gt;
    (1..rounds).each do |round|&lt;br /&gt;
      @response_maps.each do |response_map|&lt;br /&gt;
        response = Response.where('map_id = ?', response_map.id)&lt;br /&gt;
        response = response.select {|response| response.round == round }&lt;br /&gt;
        @round = round&lt;br /&gt;
        @response_map = response_map&lt;br /&gt;
        calc_avg_feedback_score(response) unless response.empty?&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    @author_feedback_scores&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_avg_feedback_score(response)&lt;br /&gt;
  # Retrieve the author feedback response maps for the teammates reviewing the review of their work.&lt;br /&gt;
  author_feedback_response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', response.first.id, 'FeedbackResponseMap')&lt;br /&gt;
  author_feedback_response_maps.each do |author_feedback_response_map|&lt;br /&gt;
    @corresponding_response = Response.where('map_id = ?', author_feedback_response_map.id)&lt;br /&gt;
    next if @corresponding_response.empty?&lt;br /&gt;
    calc_feedback_scores_sum&lt;br /&gt;
  end&lt;br /&gt;
  # Divide the sum of the author feedback scores for this review by their number to get the&lt;br /&gt;
  # average.&lt;br /&gt;
&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !author_feedback_response_maps.empty?&lt;br /&gt;
    @author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id] /= author_feedback_response_maps.count&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_feedback_scores_sum&lt;br /&gt;
  @respective_scores = {}&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp; !@author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
    @respective_scores = @author_feedback_scores[@response_map.reviewer_id][@round]&lt;br /&gt;
  end&lt;br /&gt;
  author_feedback_questionnaire_id = feedback_questionnaire_id(@corresponding_response)&lt;br /&gt;
  @questions = Question.where('questionnaire_id = ?', author_feedback_questionnaire_id)&lt;br /&gt;
  # Calculate the score of the author feedback review.&lt;br /&gt;
  calc_review_score&lt;br /&gt;
  # Compute the sum of the author feedback scores for this review.&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] = 0 if @respective_scores[@response_map.reviewee_id].nil?&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] += @this_review_score&lt;br /&gt;
  # The reviewer is the metareviewee whose review the authors or teammates are reviewing.&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id] = {} if @author_feedback_scores[@response_map.reviewer_id].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = {} if @author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = @respective_scores&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== View ==&lt;br /&gt;
&lt;br /&gt;
We added another column to show the average author feedback score for each student who reviewed and for each team the student reviewed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;td align = 'left' &amp;gt;&lt;br /&gt;
          &amp;lt;% @response_maps.each_with_index do |ri, index| %&amp;gt;&lt;br /&gt;
            &amp;lt;% if Team.where(id: ri.reviewee_id).length &amp;gt; 0 %&amp;gt;&lt;br /&gt;
                &amp;lt;%@team = Team.find(ri.reviewee_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;%= render partial: 'team_feedback_score',  locals: {bgcolor: @bgcolor, team_id: @team.id, reviewer_id: r.id} %&amp;gt;&lt;br /&gt;
            &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
We plan to test the response report page (/review_mapping/response_report?id={:assignmentID}) to make sure the new field (average author feedback) exists.&lt;br /&gt;
&lt;br /&gt;
Using [http://rspec.info/ RSpec] we will add a test case to review_mapping_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    context 'when type is FeedbackResponseMap' do&lt;br /&gt;
      context 'when assignment has author feedback feature' do&lt;br /&gt;
        it 'renders response_report page with average author feedback data' do&lt;br /&gt;
          allow(assignment).to receive(:varying_rubrics_by_round?).and_return(true)&lt;br /&gt;
          allow(FeedbackResponseMap).to receive(:feedback_response_report).with('1', 'FeedbackResponseMap')&lt;br /&gt;
                                                                          .and_return([participant, participant1], [1, 2], [3, 4], [])&lt;br /&gt;
          params = {&lt;br /&gt;
            id: 1,&lt;br /&gt;
            report: {type: 'FeedbackResponseMap'},&lt;br /&gt;
          }&lt;br /&gt;
          get :response_report, params&lt;br /&gt;
          expect(response).to render_template(:response_report)&lt;br /&gt;
          expect(response).to have(:avg_author_feedback)&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also plan to manually test the response report page to make sure the new field is aligning well in the UI in the expected place. We will attach the screenshot of the UI as the test result. We will test the cases of one and multiple reviews by a reviewer and verify the number and average scores of the metareviews for those reviews are rendered correctly.&lt;br /&gt;
 &lt;br /&gt;
== Review Report Page ==&lt;br /&gt;
 &lt;br /&gt;
Below is the screenshot of review report page which now shows a new column for Author Feedback Score. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:impl_screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
== Test Implementation ==&lt;br /&gt;
&lt;br /&gt;
We added a rspec test in on_the_fly_calc_spec.rb which tests our method: 'compute_author_feedback_scores' that calculates the average feedback score. Below is the snippet:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
describe '#compute_author_feedback_score' do&lt;br /&gt;
    let(:reviewer) { build(:participant, id: 1) }&lt;br /&gt;
    let(:feedback) { Answer.new(answer: 2, response_id: 1, comments: 'Feedback Text', question_id: 2) }&lt;br /&gt;
    let(:feedback_question) { build(:question, questionnaire: questionnaire2, weight: 1, id: 2) }&lt;br /&gt;
    let(:questionnaire2) { build(:questionnaire, name: &amp;quot;feedback&amp;quot;, private: 0, min_question_score: 0, max_question_score: 10, instructor_id: 1234) }&lt;br /&gt;
    let(:reviewer1) { build(:participant, id: 2) }&lt;br /&gt;
    let score = {}&lt;br /&gt;
    let(:team_user) { build(:team_user, team: 2, user: 2) }&lt;br /&gt;
    let(:feedback_response) { build(:response, id: 2, map_id: 2, scores: [feedback]) }&lt;br /&gt;
    let(:feedback_response_map) { build(:response_map, id: 2, reviewed_object_id: 1, reviewer_id: 2, reviewee_id: 1) }&lt;br /&gt;
&lt;br /&gt;
    before(:each) do&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:rounds_of_reviews).and_return(1)&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:review_questionnaire_id).and_return(1)&lt;br /&gt;
    end&lt;br /&gt;
    context 'verifies feedback score' do&lt;br /&gt;
      it 'computes feedback score based on reviews' do&lt;br /&gt;
        expect(assignment.compute_author_feedback_scores).to eq(score)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Project Walk-through =&lt;br /&gt;
https://www.youtube.com/watch?v=14bx6vD3dOE&amp;amp;feature=youtu.be&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/jainmohit1/expertiza&lt;br /&gt;
&lt;br /&gt;
3. https://github.com/expertiza/expertiza/pull/1290&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121296</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121296"/>
		<updated>2018-12-08T01:27:53Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
A key component of Expertiza is peer reviews, which provide feedback to authors so that they can improve their work. Expertiza also supports grading of these reviews to ensure students write quality reviews, helping them learn more about the assignment by looking at their peers' work. In addition, Expertiza allows for metareviews, which are reviews the authors of the original work write for the reviews of their original work. This author feedback is useful for grading the reviews because it indicates how helpful this review was to the authors of the original work. The objective of this project is to add metareview or author feedback information to the review report page, which shows a summary of all the reviews written by the students for an assignment.&lt;br /&gt;
&lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== User Interface Enhancements ==&lt;br /&gt;
&lt;br /&gt;
In the page &amp;quot;Review report for Design exercise&amp;quot; (Log in as an instructor then go to Manage -&amp;gt; Assignments -&amp;gt; View review report.), we are planning to add one more column to show the average ratings for the author feedback for a student's review of a particular assignment. The logic for calculating the average score for the metareviews would be similar to already implemented logic for the &amp;quot;Score Awarded/Average Score&amp;quot; column. Below is the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
== Controller-level Logic ==&lt;br /&gt;
&lt;br /&gt;
The following method shows the code logic we are planning to write for calculating the average scores for the feedback given by authors for the reviews of their work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 def calculate_avg_score_by_feedback(question_answers, q_max_score)&lt;br /&gt;
      # get score and summary of answers for each question&lt;br /&gt;
      # only include divide the valid_answer_sum with the number of valid answers&lt;br /&gt;
&lt;br /&gt;
      valid_answer_counter = 0&lt;br /&gt;
      question_score = 0.0&lt;br /&gt;
      question_answers.each do |ans|&lt;br /&gt;
        # calculate score per question&lt;br /&gt;
        unless ans.answer.nil?&lt;br /&gt;
          question_score += ans.answer&lt;br /&gt;
          valid_answer_counter += 1&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      if valid_answer_counter &amp;gt; 0 and q_max_score &amp;gt; 0&lt;br /&gt;
        # convert the score in percentage&lt;br /&gt;
        question_score /= (valid_answer_counter * q_max_score)&lt;br /&gt;
        question_score = question_score.round(2) * 100&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      question_score&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relevant Database Tables ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for this feature. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire are saved in the Answers table below based on the Question ID. Now, in order to know if the answer is a feedback by team members or a review by reviewer, the mapping for the Answers table is done by the response_id which is a foreign key to the Response table. This Response table gives us the map_id which maps to a response map table. Now, the response map table gives us information on the reviewer_id, reviewee_id, reviewed_object_id (which is the ID for the assignment being reviewed) and the type (whether it's a teammate review, author feedback, a regular review, etc.). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a previous reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions for the corresponding ReviewScores table. Below are excerpts from the [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza database documentation] which describe the database tables relevant to our design.&lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UML Flow-Chart ==&lt;br /&gt;
&lt;br /&gt;
[[File:UML-progress.png]]&lt;br /&gt;
&lt;br /&gt;
== Files That Will be Changed ==&lt;br /&gt;
&lt;br /&gt;
1. To calculate the average author feedback score: https://github.com/jainmohit1/expertiza/blob/master/app/models/on_the_fly_calc.rb&lt;br /&gt;
&lt;br /&gt;
2. To populate the average author feedback score for the view: https://github.com/jainmohit1/expertiza/blob/master/app/controllers/review_mapping_controller.rb&lt;br /&gt;
&lt;br /&gt;
3. To add a field in the view: https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
4. To add a field in the partial : https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
5. To add a field in the partial:  https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
We added functionality in the on_the_fly_calc.rb file in Models. The methods in consideration are:&amp;lt;br&amp;gt;&lt;br /&gt;
1. compute_author_feedback_scores&amp;lt;br&amp;gt;&lt;br /&gt;
2. calc_avg_feedback_score(response)&amp;lt;br&amp;gt;&lt;br /&gt;
3. calc_feedback_scores_sum&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first method fetches the Feedback Response from ResponseMaps table based on the responses given earlier. Responses means the reviews given. Each feedback is saved to ResponseMap table with type = 'FeedbackResponseMap'. The feedback is fetched according to the assignment id, the reviewer who gave the review for that assignment and the reviews in each round. For each feedback response, we get the weight of the answer(feedback) submitted by author from Answer table and the weight of each answer from Questions table for the FeedbackQuestionnaire in consideration which we fetched from Questionnaire table. We calculate by taking an average of all feedbacks given by all team members to the reviews that they got. Following is the code snippet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def compute_author_feedback_scores&lt;br /&gt;
    @author_feedback_scores = {}&lt;br /&gt;
    @response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', self.id, 'ReviewResponseMap')&lt;br /&gt;
    rounds = self.rounds_of_reviews&lt;br /&gt;
    (1..rounds).each do |round|&lt;br /&gt;
      @response_maps.each do |response_map|&lt;br /&gt;
        response = Response.where('map_id = ?', response_map.id)&lt;br /&gt;
        response = response.select {|response| response.round == round }&lt;br /&gt;
        @round = round&lt;br /&gt;
        @response_map = response_map&lt;br /&gt;
        calc_avg_feedback_score(response) unless response.empty?&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    @author_feedback_scores&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_avg_feedback_score(response)&lt;br /&gt;
  # Retrieve the author feedback response maps for the teammates reviewing the review of their work.&lt;br /&gt;
  author_feedback_response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', response.first.id, 'FeedbackResponseMap')&lt;br /&gt;
  author_feedback_response_maps.each do |author_feedback_response_map|&lt;br /&gt;
    @corresponding_response = Response.where('map_id = ?', author_feedback_response_map.id)&lt;br /&gt;
    next if @corresponding_response.empty?&lt;br /&gt;
    calc_feedback_scores_sum&lt;br /&gt;
  end&lt;br /&gt;
  # Divide the sum of the author feedback scores for this review by their number to get the&lt;br /&gt;
  # average.&lt;br /&gt;
&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !author_feedback_response_maps.empty?&lt;br /&gt;
    @author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id] /= author_feedback_response_maps.count&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_feedback_scores_sum&lt;br /&gt;
  @respective_scores = {}&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp; !@author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
    @respective_scores = @author_feedback_scores[@response_map.reviewer_id][@round]&lt;br /&gt;
  end&lt;br /&gt;
  author_feedback_questionnaire_id = feedback_questionnaire_id(@corresponding_response)&lt;br /&gt;
  @questions = Question.where('questionnaire_id = ?', author_feedback_questionnaire_id)&lt;br /&gt;
  # Calculate the score of the author feedback review.&lt;br /&gt;
  calc_review_score&lt;br /&gt;
  # Compute the sum of the author feedback scores for this review.&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] = 0 if @respective_scores[@response_map.reviewee_id].nil?&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] += @this_review_score&lt;br /&gt;
  # The reviewer is the metareviewee whose review the authors or teammates are reviewing.&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id] = {} if @author_feedback_scores[@response_map.reviewer_id].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = {} if @author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = @respective_scores&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== View ==&lt;br /&gt;
&lt;br /&gt;
We added another column to show the average author feedback score for each student who reviewed and for each team the student reviewed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;td align = 'left' &amp;gt;&lt;br /&gt;
          &amp;lt;% @response_maps.each_with_index do |ri, index| %&amp;gt;&lt;br /&gt;
            &amp;lt;% if Team.where(id: ri.reviewee_id).length &amp;gt; 0 %&amp;gt;&lt;br /&gt;
                &amp;lt;%@team = Team.find(ri.reviewee_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;%= render partial: 'team_feedback_score',  locals: {bgcolor: @bgcolor, team_id: @team.id, reviewer_id: r.id} %&amp;gt;&lt;br /&gt;
            &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
We plan to test the response report page (/review_mapping/response_report?id={:assignmentID}) to make sure the new field (average author feedback) exists.&lt;br /&gt;
&lt;br /&gt;
Using [http://rspec.info/ RSpec] we will add a test case to review_mapping_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    context 'when type is FeedbackResponseMap' do&lt;br /&gt;
      context 'when assignment has author feedback feature' do&lt;br /&gt;
        it 'renders response_report page with average author feedback data' do&lt;br /&gt;
          allow(assignment).to receive(:varying_rubrics_by_round?).and_return(true)&lt;br /&gt;
          allow(FeedbackResponseMap).to receive(:feedback_response_report).with('1', 'FeedbackResponseMap')&lt;br /&gt;
                                                                          .and_return([participant, participant1], [1, 2], [3, 4], [])&lt;br /&gt;
          params = {&lt;br /&gt;
            id: 1,&lt;br /&gt;
            report: {type: 'FeedbackResponseMap'},&lt;br /&gt;
          }&lt;br /&gt;
          get :response_report, params&lt;br /&gt;
          expect(response).to render_template(:response_report)&lt;br /&gt;
          expect(response).to have(:avg_author_feedback)&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also plan to manually test the response report page to make sure the new field is aligning well in the UI in the expected place. We will attach the screenshot of the UI as the test result. We will test the cases of one and multiple reviews by a reviewer and verify the number and average scores of the metareviews for those reviews are rendered correctly.&lt;br /&gt;
 &lt;br /&gt;
== Review Report Page ==&lt;br /&gt;
 &lt;br /&gt;
Below is the screenshot of review report page which now shows a new column for Author Feedback Score. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:impl_screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
== Test Implementation ==&lt;br /&gt;
&lt;br /&gt;
We added a rspec test in on_the_fly_calc_spec.rb which tests our method: 'compute_author_feedback_scores' that calculates the average feedback score. Below is the snippet:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
describe '#compute_author_feedback_score' do&lt;br /&gt;
    let(:reviewer) { build(:participant, id: 1) }&lt;br /&gt;
    let(:feedback) { Answer.new(answer: 2, response_id: 1, comments: 'Feedback Text', question_id: 2) }&lt;br /&gt;
    let(:feedback_question) { build(:question, questionnaire: questionnaire2, weight: 1, id: 2) }&lt;br /&gt;
    let(:questionnaire2) { build(:questionnaire, name: &amp;quot;feedback&amp;quot;, private: 0, min_question_score: 0, max_question_score: 10, instructor_id: 1234) }&lt;br /&gt;
    let(:reviewer1) { build(:participant, id: 2) }&lt;br /&gt;
    let score = {}&lt;br /&gt;
    let(:team_user) { build(:team_user, team: 2, user: 2) }&lt;br /&gt;
    let(:feedback_response) { build(:response, id: 2, map_id: 2, scores: [feedback]) }&lt;br /&gt;
    let(:feedback_response_map) { build(:response_map, id: 2, reviewed_object_id: 1, reviewer_id: 2, reviewee_id: 1) }&lt;br /&gt;
&lt;br /&gt;
    before(:each) do&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:rounds_of_reviews).and_return(1)&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:review_questionnaire_id).and_return(1)&lt;br /&gt;
    end&lt;br /&gt;
    context 'verifies feedback score' do&lt;br /&gt;
      it 'computes feedback score based on reviews' do&lt;br /&gt;
        expect(assignment.compute_author_feedback_scores).to eq(score)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/jainmohit1/expertiza&lt;br /&gt;
&lt;br /&gt;
3. https://github.com/expertiza/expertiza/pull/1290&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Impl_screenshot.png&amp;diff=121293</id>
		<title>File:Impl screenshot.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Impl_screenshot.png&amp;diff=121293"/>
		<updated>2018-12-08T01:26:40Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: Screenshot of review report page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of review report page&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121292</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121292"/>
		<updated>2018-12-08T01:26:11Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
A key component of Expertiza is peer reviews, which provide feedback to authors so that they can improve their work. Expertiza also supports grading of these reviews to ensure students write quality reviews, helping them learn more about the assignment by looking at their peers' work. In addition, Expertiza allows for metareviews, which are reviews the authors of the original work write for the reviews of their original work. This author feedback is useful for grading the reviews because it indicates how helpful this review was to the authors of the original work. The objective of this project is to add metareview or author feedback information to the review report page, which shows a summary of all the reviews written by the students for an assignment.&lt;br /&gt;
&lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== User Interface Enhancements ==&lt;br /&gt;
&lt;br /&gt;
In the page &amp;quot;Review report for Design exercise&amp;quot; (Log in as an instructor then go to Manage -&amp;gt; Assignments -&amp;gt; View review report.), we are planning to add one more column to show the average ratings for the author feedback for a student's review of a particular assignment. The logic for calculating the average score for the metareviews would be similar to already implemented logic for the &amp;quot;Score Awarded/Average Score&amp;quot; column. Below is the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
== Controller-level Logic ==&lt;br /&gt;
&lt;br /&gt;
The following method shows the code logic we are planning to write for calculating the average scores for the feedback given by authors for the reviews of their work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 def calculate_avg_score_by_feedback(question_answers, q_max_score)&lt;br /&gt;
      # get score and summary of answers for each question&lt;br /&gt;
      # only include divide the valid_answer_sum with the number of valid answers&lt;br /&gt;
&lt;br /&gt;
      valid_answer_counter = 0&lt;br /&gt;
      question_score = 0.0&lt;br /&gt;
      question_answers.each do |ans|&lt;br /&gt;
        # calculate score per question&lt;br /&gt;
        unless ans.answer.nil?&lt;br /&gt;
          question_score += ans.answer&lt;br /&gt;
          valid_answer_counter += 1&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      if valid_answer_counter &amp;gt; 0 and q_max_score &amp;gt; 0&lt;br /&gt;
        # convert the score in percentage&lt;br /&gt;
        question_score /= (valid_answer_counter * q_max_score)&lt;br /&gt;
        question_score = question_score.round(2) * 100&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      question_score&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relevant Database Tables ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for this feature. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire are saved in the Answers table below based on the Question ID. Now, in order to know if the answer is a feedback by team members or a review by reviewer, the mapping for the Answers table is done by the response_id which is a foreign key to the Response table. This Response table gives us the map_id which maps to a response map table. Now, the response map table gives us information on the reviewer_id, reviewee_id, reviewed_object_id (which is the ID for the assignment being reviewed) and the type (whether it's a teammate review, author feedback, a regular review, etc.). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a previous reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions for the corresponding ReviewScores table. Below are excerpts from the [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza database documentation] which describe the database tables relevant to our design.&lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UML Flow-Chart ==&lt;br /&gt;
&lt;br /&gt;
[[File:UML-progress.png]]&lt;br /&gt;
&lt;br /&gt;
== Files That Will be Changed ==&lt;br /&gt;
&lt;br /&gt;
1. To calculate the average author feedback score: https://github.com/jainmohit1/expertiza/blob/master/app/models/on_the_fly_calc.rb&lt;br /&gt;
&lt;br /&gt;
2. To populate the average author feedback score for the view: https://github.com/jainmohit1/expertiza/blob/master/app/controllers/review_mapping_controller.rb&lt;br /&gt;
&lt;br /&gt;
3. To add a field in the view: https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
4. To add a field in the partial : https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
5. To add a field in the partial:  https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
We added functionality in the on_the_fly_calc.rb file in Models. The methods in consideration are:&amp;lt;br&amp;gt;&lt;br /&gt;
1. compute_author_feedback_scores&amp;lt;br&amp;gt;&lt;br /&gt;
2. calc_avg_feedback_score(response)&amp;lt;br&amp;gt;&lt;br /&gt;
3. calc_feedback_scores_sum&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first method fetches the Feedback Response from ResponseMaps table based on the responses given earlier. Responses means the reviews given. Each feedback is saved to ResponseMap table with type = 'FeedbackResponseMap'. The feedback is fetched according to the assignment id, the reviewer who gave the review for that assignment and the reviews in each round. For each feedback response, we get the weight of the answer(feedback) submitted by author from Answer table and the weight of each answer from Questions table for the FeedbackQuestionnaire in consideration which we fetched from Questionnaire table. We calculate by taking an average of all feedbacks given by all team members to the reviews that they got. Following is the code snippet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def compute_author_feedback_scores&lt;br /&gt;
    @author_feedback_scores = {}&lt;br /&gt;
    @response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', self.id, 'ReviewResponseMap')&lt;br /&gt;
    rounds = self.rounds_of_reviews&lt;br /&gt;
    (1..rounds).each do |round|&lt;br /&gt;
      @response_maps.each do |response_map|&lt;br /&gt;
        response = Response.where('map_id = ?', response_map.id)&lt;br /&gt;
        response = response.select {|response| response.round == round }&lt;br /&gt;
        @round = round&lt;br /&gt;
        @response_map = response_map&lt;br /&gt;
        calc_avg_feedback_score(response) unless response.empty?&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    @author_feedback_scores&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_avg_feedback_score(response)&lt;br /&gt;
  # Retrieve the author feedback response maps for the teammates reviewing the review of their work.&lt;br /&gt;
  author_feedback_response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', response.first.id, 'FeedbackResponseMap')&lt;br /&gt;
  author_feedback_response_maps.each do |author_feedback_response_map|&lt;br /&gt;
    @corresponding_response = Response.where('map_id = ?', author_feedback_response_map.id)&lt;br /&gt;
    next if @corresponding_response.empty?&lt;br /&gt;
    calc_feedback_scores_sum&lt;br /&gt;
  end&lt;br /&gt;
  # Divide the sum of the author feedback scores for this review by their number to get the&lt;br /&gt;
  # average.&lt;br /&gt;
&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !author_feedback_response_maps.empty?&lt;br /&gt;
    @author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id] /= author_feedback_response_maps.count&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_feedback_scores_sum&lt;br /&gt;
  @respective_scores = {}&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp; !@author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
    @respective_scores = @author_feedback_scores[@response_map.reviewer_id][@round]&lt;br /&gt;
  end&lt;br /&gt;
  author_feedback_questionnaire_id = feedback_questionnaire_id(@corresponding_response)&lt;br /&gt;
  @questions = Question.where('questionnaire_id = ?', author_feedback_questionnaire_id)&lt;br /&gt;
  # Calculate the score of the author feedback review.&lt;br /&gt;
  calc_review_score&lt;br /&gt;
  # Compute the sum of the author feedback scores for this review.&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] = 0 if @respective_scores[@response_map.reviewee_id].nil?&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] += @this_review_score&lt;br /&gt;
  # The reviewer is the metareviewee whose review the authors or teammates are reviewing.&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id] = {} if @author_feedback_scores[@response_map.reviewer_id].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = {} if @author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = @respective_scores&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== View ==&lt;br /&gt;
&lt;br /&gt;
We added another column to show the average author feedback score for each student who reviewed and for each team the student reviewed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;td align = 'left' &amp;gt;&lt;br /&gt;
          &amp;lt;% @response_maps.each_with_index do |ri, index| %&amp;gt;&lt;br /&gt;
            &amp;lt;% if Team.where(id: ri.reviewee_id).length &amp;gt; 0 %&amp;gt;&lt;br /&gt;
                &amp;lt;%@team = Team.find(ri.reviewee_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;%= render partial: 'team_feedback_score',  locals: {bgcolor: @bgcolor, team_id: @team.id, reviewer_id: r.id} %&amp;gt;&lt;br /&gt;
            &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
We plan to test the response report page (/review_mapping/response_report?id={:assignmentID}) to make sure the new field (average author feedback) exists.&lt;br /&gt;
&lt;br /&gt;
Using [http://rspec.info/ RSpec] we will add a test case to review_mapping_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    context 'when type is FeedbackResponseMap' do&lt;br /&gt;
      context 'when assignment has author feedback feature' do&lt;br /&gt;
        it 'renders response_report page with average author feedback data' do&lt;br /&gt;
          allow(assignment).to receive(:varying_rubrics_by_round?).and_return(true)&lt;br /&gt;
          allow(FeedbackResponseMap).to receive(:feedback_response_report).with('1', 'FeedbackResponseMap')&lt;br /&gt;
                                                                          .and_return([participant, participant1], [1, 2], [3, 4], [])&lt;br /&gt;
          params = {&lt;br /&gt;
            id: 1,&lt;br /&gt;
            report: {type: 'FeedbackResponseMap'},&lt;br /&gt;
          }&lt;br /&gt;
          get :response_report, params&lt;br /&gt;
          expect(response).to render_template(:response_report)&lt;br /&gt;
          expect(response).to have(:avg_author_feedback)&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also plan to manually test the response report page to make sure the new field is aligning well in the UI in the expected place. We will attach the screenshot of the UI as the test result. We will test the cases of one and multiple reviews by a reviewer and verify the number and average scores of the metareviews for those reviews are rendered correctly.&lt;br /&gt;
 &lt;br /&gt;
== Review Report Page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Implementation ==&lt;br /&gt;
&lt;br /&gt;
We added a rspec test in on_the_fly_calc_spec.rb which tests our method: 'compute_author_feedback_scores' that calculates the average feedback score. Below is the snippet:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
describe '#compute_author_feedback_score' do&lt;br /&gt;
    let(:reviewer) { build(:participant, id: 1) }&lt;br /&gt;
    let(:feedback) { Answer.new(answer: 2, response_id: 1, comments: 'Feedback Text', question_id: 2) }&lt;br /&gt;
    let(:feedback_question) { build(:question, questionnaire: questionnaire2, weight: 1, id: 2) }&lt;br /&gt;
    let(:questionnaire2) { build(:questionnaire, name: &amp;quot;feedback&amp;quot;, private: 0, min_question_score: 0, max_question_score: 10, instructor_id: 1234) }&lt;br /&gt;
    let(:reviewer1) { build(:participant, id: 2) }&lt;br /&gt;
    let score = {}&lt;br /&gt;
    let(:team_user) { build(:team_user, team: 2, user: 2) }&lt;br /&gt;
    let(:feedback_response) { build(:response, id: 2, map_id: 2, scores: [feedback]) }&lt;br /&gt;
    let(:feedback_response_map) { build(:response_map, id: 2, reviewed_object_id: 1, reviewer_id: 2, reviewee_id: 1) }&lt;br /&gt;
&lt;br /&gt;
    before(:each) do&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:rounds_of_reviews).and_return(1)&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:review_questionnaire_id).and_return(1)&lt;br /&gt;
    end&lt;br /&gt;
    context 'verifies feedback score' do&lt;br /&gt;
      it 'computes feedback score based on reviews' do&lt;br /&gt;
        expect(assignment.compute_author_feedback_scores).to eq(score)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/jainmohit1/expertiza&lt;br /&gt;
&lt;br /&gt;
3. https://github.com/expertiza/expertiza/pull/1290&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121244</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=121244"/>
		<updated>2018-12-08T00:35:44Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
A key component of Expertiza is peer reviews, which provide feedback to authors so that they can improve their work. Expertiza also supports grading of these reviews to ensure students write quality reviews, helping them learn more about the assignment by looking at their peers' work. In addition, Expertiza allows for metareviews, which are reviews the authors of the original work write for the reviews of their original work. This author feedback is useful for grading the reviews because it indicates how helpful this review was to the authors of the original work. The objective of this project is to add metareview or author feedback information to the review report page, which shows a summary of all the reviews written by the students for an assignment.&lt;br /&gt;
&lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== User Interface Enhancements ==&lt;br /&gt;
&lt;br /&gt;
In the page &amp;quot;Review report for Design exercise&amp;quot; (Log in as an instructor then go to Manage -&amp;gt; Assignments -&amp;gt; View review report.), we are planning to add one more column to show the average ratings for the author feedback for a student's review of a particular assignment. The logic for calculating the average score for the metareviews would be similar to already implemented logic for the &amp;quot;Score Awarded/Average Score&amp;quot; column. Below is the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
== Controller-level Logic ==&lt;br /&gt;
&lt;br /&gt;
The following method shows the code logic we are planning to write for calculating the average scores for the feedback given by authors for the reviews of their work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 def calculate_avg_score_by_feedback(question_answers, q_max_score)&lt;br /&gt;
      # get score and summary of answers for each question&lt;br /&gt;
      # only include divide the valid_answer_sum with the number of valid answers&lt;br /&gt;
&lt;br /&gt;
      valid_answer_counter = 0&lt;br /&gt;
      question_score = 0.0&lt;br /&gt;
      question_answers.each do |ans|&lt;br /&gt;
        # calculate score per question&lt;br /&gt;
        unless ans.answer.nil?&lt;br /&gt;
          question_score += ans.answer&lt;br /&gt;
          valid_answer_counter += 1&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      if valid_answer_counter &amp;gt; 0 and q_max_score &amp;gt; 0&lt;br /&gt;
        # convert the score in percentage&lt;br /&gt;
        question_score /= (valid_answer_counter * q_max_score)&lt;br /&gt;
        question_score = question_score.round(2) * 100&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      question_score&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relevant Database Tables ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for this feature. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire are saved in the Answers table below based on the Question ID. Now, in order to know if the answer is a feedback by team members or a review by reviewer, the mapping for the Answers table is done by the response_id which is a foreign key to the Response table. This Response table gives us the map_id which maps to a response map table. Now, the response map table gives us information on the reviewer_id, reviewee_id, reviewed_object_id (which is the ID for the assignment being reviewed) and the type (whether it's a teammate review, author feedback, a regular review, etc.). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a previous reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions for the corresponding ReviewScores table. Below are excerpts from the [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza database documentation] which describe the database tables relevant to our design.&lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UML Flow-Chart ==&lt;br /&gt;
&lt;br /&gt;
[[File:UML-progress.png]]&lt;br /&gt;
&lt;br /&gt;
== Files That Will be Changed ==&lt;br /&gt;
&lt;br /&gt;
1. To calculate the average author feedback score: https://github.com/jainmohit1/expertiza/blob/master/app/models/on_the_fly_calc.rb&lt;br /&gt;
&lt;br /&gt;
2. To populate the average author feedback score for the view: https://github.com/jainmohit1/expertiza/blob/master/app/controllers/review_mapping_controller.rb&lt;br /&gt;
&lt;br /&gt;
3. To add a field in the view: https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
4. To add a field in the partial : https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
5. To add a field in the partial:  https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
We added functionality in the on_the_fly_calc.rb file in Models. The methods in consideration are:&amp;lt;br&amp;gt;&lt;br /&gt;
1. compute_author_feedback_scores&amp;lt;br&amp;gt;&lt;br /&gt;
2. calc_avg_feedback_score(response)&amp;lt;br&amp;gt;&lt;br /&gt;
3. calc_feedback_scores_sum&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first method fetches the Feedback Response from ResponseMaps table based on the responses given earlier. Responses means the reviews given. Each feedback is saved to ResponseMap table with type = 'FeedbackResponseMap'. The feedback is fetched according to the assignment id, the reviewer who gave the review for that assignment and the reviews in each round. For each feedback response, we get the weight of the answer(feedback) submitted by author from Answer table and the weight of each answer from Questions table for the FeedbackQuestionnaire in consideration which we fetched from Questionnaire table. We calculate by taking an average of all feedbacks given by all team members to the reviews that they got. Following is the code snippet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def compute_author_feedback_scores&lt;br /&gt;
    @author_feedback_scores = {}&lt;br /&gt;
    @response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', self.id, 'ReviewResponseMap')&lt;br /&gt;
    rounds = self.rounds_of_reviews&lt;br /&gt;
    (1..rounds).each do |round|&lt;br /&gt;
      @response_maps.each do |response_map|&lt;br /&gt;
        response = Response.where('map_id = ?', response_map.id)&lt;br /&gt;
        response = response.select {|response| response.round == round }&lt;br /&gt;
        @round = round&lt;br /&gt;
        @response_map = response_map&lt;br /&gt;
        calc_avg_feedback_score(response) unless response.empty?&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    @author_feedback_scores&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_avg_feedback_score(response)&lt;br /&gt;
  # Retrieve the author feedback response maps for the teammates reviewing the review of their work.&lt;br /&gt;
  author_feedback_response_maps = ResponseMap.where('reviewed_object_id = ? &amp;amp;&amp;amp; type = ?', response.first.id, 'FeedbackResponseMap')&lt;br /&gt;
  author_feedback_response_maps.each do |author_feedback_response_map|&lt;br /&gt;
    @corresponding_response = Response.where('map_id = ?', author_feedback_response_map.id)&lt;br /&gt;
    next if @corresponding_response.empty?&lt;br /&gt;
    calc_feedback_scores_sum&lt;br /&gt;
  end&lt;br /&gt;
  # Divide the sum of the author feedback scores for this review by their number to get the&lt;br /&gt;
  # average.&lt;br /&gt;
&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !@author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id].nil? &amp;amp;&amp;amp;&lt;br /&gt;
      !author_feedback_response_maps.empty?&lt;br /&gt;
    @author_feedback_scores[@response_map.reviewer_id][@round][@response_map.reviewee_id] /= author_feedback_response_maps.count&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
def calc_feedback_scores_sum&lt;br /&gt;
  @respective_scores = {}&lt;br /&gt;
  if !@author_feedback_scores[@response_map.reviewer_id].nil? &amp;amp;&amp;amp; !@author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
    @respective_scores = @author_feedback_scores[@response_map.reviewer_id][@round]&lt;br /&gt;
  end&lt;br /&gt;
  author_feedback_questionnaire_id = feedback_questionnaire_id(@corresponding_response)&lt;br /&gt;
  @questions = Question.where('questionnaire_id = ?', author_feedback_questionnaire_id)&lt;br /&gt;
  # Calculate the score of the author feedback review.&lt;br /&gt;
  calc_review_score&lt;br /&gt;
  # Compute the sum of the author feedback scores for this review.&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] = 0 if @respective_scores[@response_map.reviewee_id].nil?&lt;br /&gt;
  @respective_scores[@response_map.reviewee_id] += @this_review_score&lt;br /&gt;
  # The reviewer is the metareviewee whose review the authors or teammates are reviewing.&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id] = {} if @author_feedback_scores[@response_map.reviewer_id].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = {} if @author_feedback_scores[@response_map.reviewer_id][@round].nil?&lt;br /&gt;
  @author_feedback_scores[@response_map.reviewer_id][@round] = @respective_scores&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== View ==&lt;br /&gt;
&lt;br /&gt;
We added another column to show the average author feedback score for each student who reviewed and for each team the student reviewed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;td align = 'left' &amp;gt;&lt;br /&gt;
          &amp;lt;% @response_maps.each_with_index do |ri, index| %&amp;gt;&lt;br /&gt;
            &amp;lt;% if Team.where(id: ri.reviewee_id).length &amp;gt; 0 %&amp;gt;&lt;br /&gt;
                &amp;lt;%@team = Team.find(ri.reviewee_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;%= render partial: 'team_feedback_score',  locals: {bgcolor: @bgcolor, team_id: @team.id, reviewer_id: r.id} %&amp;gt;&lt;br /&gt;
            &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;%end %&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
We plan to test the response report page (/review_mapping/response_report?id={:assignmentID}) to make sure the new field (average author feedback) exists.&lt;br /&gt;
&lt;br /&gt;
Using [http://rspec.info/ RSpec] we will add a test case to review_mapping_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    context 'when type is FeedbackResponseMap' do&lt;br /&gt;
      context 'when assignment has author feedback feature' do&lt;br /&gt;
        it 'renders response_report page with average author feedback data' do&lt;br /&gt;
          allow(assignment).to receive(:varying_rubrics_by_round?).and_return(true)&lt;br /&gt;
          allow(FeedbackResponseMap).to receive(:feedback_response_report).with('1', 'FeedbackResponseMap')&lt;br /&gt;
                                                                          .and_return([participant, participant1], [1, 2], [3, 4], [])&lt;br /&gt;
          params = {&lt;br /&gt;
            id: 1,&lt;br /&gt;
            report: {type: 'FeedbackResponseMap'},&lt;br /&gt;
          }&lt;br /&gt;
          get :response_report, params&lt;br /&gt;
          expect(response).to render_template(:response_report)&lt;br /&gt;
          expect(response).to have(:avg_author_feedback)&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also plan to manually test the response report page to make sure the new field is aligning well in the UI in the expected place. We will attach the screenshot of the UI as the test result. We will test the cases of one and multiple reviews by a reviewer and verify the number and average scores of the metareviews for those reviews are rendered correctly.&lt;br /&gt;
&lt;br /&gt;
== Test Implementation ==&lt;br /&gt;
&lt;br /&gt;
We added a rspec test in on_the_fly_calc_spec.rb which tests our method: 'compute_author_feedback_scores' that calculates the average feedback score. Below is the snippet:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
describe '#compute_author_feedback_score' do&lt;br /&gt;
    let(:reviewer) { build(:participant, id: 1) }&lt;br /&gt;
    let(:feedback) { Answer.new(answer: 2, response_id: 1, comments: 'Feedback Text', question_id: 2) }&lt;br /&gt;
    let(:feedback_question) { build(:question, questionnaire: questionnaire2, weight: 1, id: 2) }&lt;br /&gt;
    let(:questionnaire2) { build(:questionnaire, name: &amp;quot;feedback&amp;quot;, private: 0, min_question_score: 0, max_question_score: 10, instructor_id: 1234) }&lt;br /&gt;
    let(:reviewer1) { build(:participant, id: 2) }&lt;br /&gt;
    let score = {}&lt;br /&gt;
    let(:team_user) { build(:team_user, team: 2, user: 2) }&lt;br /&gt;
    let(:feedback_response) { build(:response, id: 2, map_id: 2, scores: [feedback]) }&lt;br /&gt;
    let(:feedback_response_map) { build(:response_map, id: 2, reviewed_object_id: 1, reviewer_id: 2, reviewee_id: 1) }&lt;br /&gt;
&lt;br /&gt;
    before(:each) do&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:rounds_of_reviews).and_return(1)&lt;br /&gt;
      allow(on_the_fly_calc).to receive(:review_questionnaire_id).and_return(1)&lt;br /&gt;
    end&lt;br /&gt;
    context 'verifies feedback score' do&lt;br /&gt;
      it 'computes feedback score based on reviews' do&lt;br /&gt;
        expect(assignment.compute_author_feedback_scores).to eq(score)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/jainmohit1/expertiza&lt;br /&gt;
&lt;br /&gt;
3. https://github.com/expertiza/expertiza/pull/1290&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=120414</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=120414"/>
		<updated>2018-11-20T23:16:48Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
A key component of Expertiza is peer reviews, which provide feedback to authors so that they can improve their work. Expertiza also supports grading of these reviews to ensure students write quality reviews, helping them learn more about the assignment by looking at their peers' work. In addition, Expertiza allows for metareviews, which are reviews the authors of the original work write for the reviews of their original work. This author feedback is useful for grading the reviews because it indicates how helpful this review was to the authors of the original work. The objective of this project is to add metareview or author feedback information to the review report page, which shows a summary of all the reviews written by the students for an assignment.&lt;br /&gt;
&lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== User Interface Enhancements ==&lt;br /&gt;
&lt;br /&gt;
In the page &amp;quot;Review report for Design exercise&amp;quot; (Log in as an instructor then go to Manage -&amp;gt; Assignments -&amp;gt; View review report.), we are planning to add one more column to show the average ratings for the author feedback for a student's review of a particular assignment. The logic for calculating the average score for the metareviews would be similar to already implemented logic for the &amp;quot;Score Awarded/Average Score&amp;quot; column. Below is the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
== Controller-level Logic ==&lt;br /&gt;
&lt;br /&gt;
The following method shows the code logic we are planning to write for calculating the average scores for the feedback given by authors for the reviews of their work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: black; border:1px;&amp;quot;&amp;gt;&lt;br /&gt;
 def calculate_avg_score_by_feedback(question_answers, q_max_score)&lt;br /&gt;
      # get score and summary of answers for each question&lt;br /&gt;
      # only include divide the valid_answer_sum with the number of valid answers&lt;br /&gt;
&lt;br /&gt;
      valid_answer_counter = 0&lt;br /&gt;
      question_score = 0.0&lt;br /&gt;
      question_answers.each do |ans|&lt;br /&gt;
        # calculate score per question&lt;br /&gt;
        unless ans.answer.nil?&lt;br /&gt;
          question_score += ans.answer&lt;br /&gt;
          valid_answer_counter += 1&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      if valid_answer_counter &amp;gt; 0 and q_max_score &amp;gt; 0&lt;br /&gt;
        # convert the score in percentage&lt;br /&gt;
        question_score /= (valid_answer_counter * q_max_score)&lt;br /&gt;
        question_score = question_score.round(2) * 100&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      question_score&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relevant Database Tables ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for this feature. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire are saved in the Answers table below based on the Question ID. Now, in order to know if the answer is a feedback by team members or a review by reviewer, the mapping for the Answers table is done by the response_id which is a foreign key to the Response table. This Response table gives us the map_id which maps to a response map table. Now, the response map table gives us information on the reviewer_id, reviewee_id, reviewed_object_id (which is the ID for the assignment being reviewed) and the type (whether it's a teammate review, author feedback, a regular review, etc.). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a previous reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions for the corresponding ReviewScores table. Below are excerpts from the [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza database documentation] which describe the database tables relevant to our design.&lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UML Flow-Chart ==&lt;br /&gt;
&lt;br /&gt;
[[File:UML-progress.png]]&lt;br /&gt;
&lt;br /&gt;
== Files That Will be Changed ==&lt;br /&gt;
&lt;br /&gt;
1. To calculate the average author feedback score: https://github.com/jainmohit1/expertiza/blob/master/app/models/on_the_fly_calc.rb&lt;br /&gt;
&lt;br /&gt;
2. To populate the average author feedback score for the view: https://github.com/jainmohit1/expertiza/blob/master/app/controllers/review_mapping_controller.rb&lt;br /&gt;
&lt;br /&gt;
3. To add a field in the view: https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
4. To add a field in the partial : https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
&lt;br /&gt;
5. To add a field in the partial:  https://github.com/jainmohit1/expertiza/blob/master/app/views/review_mapping/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
We plan to test the response report page (/review_mapping/response_report?id={:assignmentID}) to make sure the new field (average author feedback) exists.&lt;br /&gt;
&lt;br /&gt;
Using [http://rspec.info/ RSpec] we will add a test case to review_mapping_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    context 'when type is FeedbackResponseMap' do&lt;br /&gt;
      context 'when assignment has author feedback feature' do&lt;br /&gt;
        it 'renders response_report page with average author feedback data' do&lt;br /&gt;
          allow(assignment).to receive(:varying_rubrics_by_round?).and_return(true)&lt;br /&gt;
          allow(FeedbackResponseMap).to receive(:feedback_response_report).with('1', 'FeedbackResponseMap')&lt;br /&gt;
                                                                          .and_return([participant, participant1], [1, 2], [3, 4], [])&lt;br /&gt;
          params = {&lt;br /&gt;
            id: 1,&lt;br /&gt;
            report: {type: 'FeedbackResponseMap'},&lt;br /&gt;
          }&lt;br /&gt;
          get :response_report, params&lt;br /&gt;
          expect(response).to render_template(:response_report)&lt;br /&gt;
          expect(response).to have(:avg_author_feedback)&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also plan to manually test the response report page to make sure the new field is aligning well in the UI in the expected place. We will attach the screenshot of the UI as the test result. We will test the cases of one and multiple reviews by a reviewer and verify the number and average scores of the metareviews for those reviews are rendered correctly.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/jainmohit1/expertiza&lt;br /&gt;
&lt;br /&gt;
3. https://github.com/expertiza/expertiza/pull/1290&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:UML-progress.png&amp;diff=120413</id>
		<title>File:UML-progress.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:UML-progress.png&amp;diff=120413"/>
		<updated>2018-11-20T23:15:04Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: UML for progress/complete view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UML for progress/complete view&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119730</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119730"/>
		<updated>2018-11-13T19:45:20Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project.&lt;br /&gt;
 &lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UI Implementation ==&lt;br /&gt;
&lt;br /&gt;
In the page Review report for Design exercise ( login as an instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View review report ), we are planning to add one more column to show the average ratings for the authors feedback on a particular assignment. The logic for calculating the average score for the feedback would be similar to already implemented logic for score awarded/ average score column. Below attached shows the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
== Code Logic ==&lt;br /&gt;
&lt;br /&gt;
Following shows the code logic we are planning to write for calculating the avg scores for feedback given by authors. &lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119729</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119729"/>
		<updated>2018-11-13T19:40:30Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project.&lt;br /&gt;
 &lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Answer Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Table Structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Response Map Table ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UI Implementation ==&lt;br /&gt;
&lt;br /&gt;
In the page Review report for Design exercise ( login as an instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View review report ), we are planning to add one more column to show the average ratings for the authors feedback on a particular assignment. The logic for calculating the average score for the feedback would be similar to already implemented logic for score awarded/ average score column. Below attached shows the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119728</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119728"/>
		<updated>2018-11-13T19:39:10Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Problem Statement'''=&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project.&lt;br /&gt;
 &lt;br /&gt;
='''Goal'''=&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
='''Design'''=&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
=== Questions Table Structure===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UI Implementation ==&lt;br /&gt;
&lt;br /&gt;
In the page Review report for Design exercise ( login as an instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View review report ), we are planning to add one more column to show the average ratings for the authors feedback on a particular assignment. The logic for calculating the average score for the feedback would be similar to already implemented logic for score awarded/ average score column. Below attached shows the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119727</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119727"/>
		<updated>2018-11-13T19:36:38Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project.&lt;br /&gt;
 &lt;br /&gt;
= Goal =&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UI Implementation ==&lt;br /&gt;
&lt;br /&gt;
In the page Review report for Design exercise ( login as an instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View review report ), we are planning to add one more column to show the average ratings for the authors feedback on a particular assignment. The logic for calculating the average score for the feedback would be similar to already implemented logic for score awarded/ average score column. Below attached shows the page we are planning to edit.&lt;br /&gt;
&lt;br /&gt;
[[File:Feedback_new.png]]&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119720</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119720"/>
		<updated>2018-11-13T19:25:20Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Goal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project.&lt;br /&gt;
 &lt;br /&gt;
= Goal =&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the 'Review Report' page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119719</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119719"/>
		<updated>2018-11-13T19:24:58Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project.&lt;br /&gt;
 &lt;br /&gt;
= Goal =&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119718</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119718"/>
		<updated>2018-11-13T19:20:55Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project. The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer. So, we will fetch those answers whose response type is FeedbackResponseMap and calculate scores for those questions from Review_Scores table. &lt;br /&gt;
&lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119713</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119713"/>
		<updated>2018-11-13T19:15:41Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project. The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. We will be only concerned with the questions in the feedback questionnaire. The answers for each question in the feedback questionnaire is saved in Answers table below based on Question ID. Now, in order to know if the answers is a feedback by team members or a review by reviewer, the mapping for Answers table is done by response_id which is a foreign key to response table. Response table gives us map_id which maps to Response Maps table. Now, Response Map table gives us information of the reviewer_id, reviewee_id, reviewed_object_id (which is the id for the assignment being reviewed) and the type (whether it's a teammate review, author feedback or a regular review). We will have to fetch the answers from the Answer table based on response_id because in our case, the response is from a reviewee and not a reviewer.&lt;br /&gt;
&lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;br /&gt;
1) http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119711</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119711"/>
		<updated>2018-11-13T19:06:00Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project. The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
The following are the table structures we will need for mapping. First, the questions table has all the questions based on the questionnaire. &lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119710</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119710"/>
		<updated>2018-11-13T19:01:05Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project. The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
== Questions Table Structure==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Questions page already exists,so created a page with the name Questions table and gave an external link on the tables page--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id &lt;br /&gt;
|int(11)  &lt;br /&gt;
|unique identifier for the record&lt;br /&gt;
|- &lt;br /&gt;
!txt   &lt;br /&gt;
|text  &lt;br /&gt;
|the question string&lt;br /&gt;
|- &lt;br /&gt;
!weight   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|specifies the weighting of the question&lt;br /&gt;
|- &lt;br /&gt;
!questionnaire_id   &lt;br /&gt;
|int(11)&lt;br /&gt;
|the id of the questionnaire that this question belongs to&lt;br /&gt;
|-&lt;br /&gt;
!seq&lt;br /&gt;
|DECIMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Type of question&lt;br /&gt;
|-&lt;br /&gt;
!size&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Size of the question&lt;br /&gt;
|-&lt;br /&gt;
!alternatives&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|Other question which means the same&lt;br /&gt;
|-&lt;br /&gt;
!break_before&lt;br /&gt;
|BIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!max_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!min_label&lt;br /&gt;
|VARCHAR(255)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Answer Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|- &lt;br /&gt;
!id   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Unique ID for each Answers record.&lt;br /&gt;
|- &lt;br /&gt;
!question_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of Question.&lt;br /&gt;
|- &lt;br /&gt;
!answer   &lt;br /&gt;
|int(11)  &lt;br /&gt;
|Value of each of the answer.&lt;br /&gt;
|- &lt;br /&gt;
!comments  &lt;br /&gt;
|text  &lt;br /&gt;
|Comment given to the answer.&lt;br /&gt;
|- &lt;br /&gt;
!reponse_id   &lt;br /&gt;
|int(11) &lt;br /&gt;
|ID of the response associated with this Answer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Table Structure ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|-&lt;br /&gt;
!map_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The ID of the [[response_maps|response map]] defining the relationship that this response applies to&lt;br /&gt;
|-&lt;br /&gt;
!additional_comment&lt;br /&gt;
|text&lt;br /&gt;
|An additional comment provided by the reviewer to support his/her response&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was last modified&lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|datetime&lt;br /&gt;
|The timestamp indicating when this response was created&lt;br /&gt;
|-&lt;br /&gt;
!version_num&lt;br /&gt;
|int(11)&lt;br /&gt;
|The version of the review.&lt;br /&gt;
|-&lt;br /&gt;
!round&lt;br /&gt;
|int(11)&lt;br /&gt;
|The round the review is connected to. &lt;br /&gt;
|-&lt;br /&gt;
!is_submitted&lt;br /&gt;
|tinyint(1)&lt;br /&gt;
|Boolean Field to indicate whether the review is submitted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Response Map Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Field Name !!Type !!Description &lt;br /&gt;
|-&lt;br /&gt;
!id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The unique record id&lt;br /&gt;
|- &lt;br /&gt;
!reviewed_object_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The object being reviewed in the [[responses|response]]. Possible objects include other ResponseMaps or [[assignments]]&lt;br /&gt;
|-&lt;br /&gt;
!reviewer_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[participants|participant]] (actually AssignmentParticipant) providing the response&lt;br /&gt;
|-&lt;br /&gt;
!reviewee_id&lt;br /&gt;
|int(11)&lt;br /&gt;
|The [[teams|team]] (AssignmentTeam) receiving the response&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|Used for subclassing the response map. Available subclasses are ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap, TeammateReviewResponseMap  &lt;br /&gt;
|-&lt;br /&gt;
!created_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time for when the record was created&lt;br /&gt;
|-&lt;br /&gt;
!updated_at&lt;br /&gt;
|DATETIME&lt;br /&gt;
|Date and Time when the last update was made&lt;br /&gt;
|-&lt;br /&gt;
!calibrate_to&lt;br /&gt;
|BIT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119708</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119708"/>
		<updated>2018-11-13T18:51:12Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project. The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119707</id>
		<title>CSC/ECE 517 Fall 2018/E1876 Completion/Progress view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1876_Completion/Progress_view&amp;diff=119707"/>
		<updated>2018-11-13T18:50:50Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Problem Statement =&lt;br /&gt;
&lt;br /&gt;
In Expertiza, peer reviews are used as a metric to evaluate someone’s project. Once someone has peer reviewed a project, the authors of the project can also provide a feedback for this review in terms of ‘Author feedback’. While grading peer reviews, it would be nice for the instructors to take into account the author feedbacks given on a particular peer review, this will be helpful in evaluating how helpful the peer review actually was to the author of the project. The aim of this project is to build this into the system. We need an additional column in the summary page for reviews which shows the calculation of the author feedback. This will help instructor's to know how the reviews proved useful to the authors/team. The aim of this project is to integrate the author feedback column in the summary page&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
= Test Plan =&lt;br /&gt;
= References =&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119142</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119142"/>
		<updated>2018-11-09T23:41:37Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Files Updated===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steps===&lt;br /&gt;
&lt;br /&gt;
1. Open expertiza (link is provided)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Login as student: student5408/password&amp;lt;br&amp;gt;&lt;br /&gt;
3. Go to 'Assignments'&amp;lt;br&amp;gt;&lt;br /&gt;
4. Select any assignment&amp;lt;br&amp;gt;&lt;br /&gt;
5. Select Other's work&amp;lt;br&amp;gt;&lt;br /&gt;
6. You are in the reviews page where you can see the buttons and their respective colours.&lt;br /&gt;
&lt;br /&gt;
==='''Testing'''===&lt;br /&gt;
&lt;br /&gt;
As discussed thoroughly with our mentor and professor, the implementation is a UI change with CSS styling and colour tags added. Hence, testing the buttons on review page is beyond the scope of our project. The colour change will not impact the functionality of the buttons in any way. Hence, unit tests are not required. &lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation'''===&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;br /&gt;
&lt;br /&gt;
==='''Reference'''===&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/cssref/pr_text_color.asp&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119140</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119140"/>
		<updated>2018-11-09T23:34:28Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Files Updated===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steps===&lt;br /&gt;
&lt;br /&gt;
1. Open expertiza (link is provided)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Login as student: student5408/password&amp;lt;br&amp;gt;&lt;br /&gt;
3. Go to 'Assignments'&amp;lt;br&amp;gt;&lt;br /&gt;
4. Select any assignment&amp;lt;br&amp;gt;&lt;br /&gt;
5. Select Other's work&amp;lt;br&amp;gt;&lt;br /&gt;
6. You are in the reviews page where you can see the buttons and their respective colours.&lt;br /&gt;
&lt;br /&gt;
==='''Testing'''===&lt;br /&gt;
&lt;br /&gt;
As discussed thoroughly with our mentor and professor, the implementation is a UI change with CSS styling and colour tags added. Hence, testing the buttons on review page is beyond the scope of our project. The colour change will not impact the functionality of the buttons in any way. Hence, unit tests are not required. &lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation:'''===&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;br /&gt;
&lt;br /&gt;
==='''Reference'''===&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/cssref/pr_text_color.asp&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119139</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119139"/>
		<updated>2018-11-09T23:34:18Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Files Updated===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steps===&lt;br /&gt;
&lt;br /&gt;
1. Open expertiza (link is provided)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Login as student: student5408/password&amp;lt;br&amp;gt;&lt;br /&gt;
3. Go to 'Assignments'&amp;lt;br&amp;gt;&lt;br /&gt;
4. Select any assignment&amp;lt;br&amp;gt;&lt;br /&gt;
5. Select Other's work&lt;br /&gt;
6. You are in the reviews page where you can see the buttons and their respective colours.&lt;br /&gt;
&lt;br /&gt;
==='''Testing'''===&lt;br /&gt;
&lt;br /&gt;
As discussed thoroughly with our mentor and professor, the implementation is a UI change with CSS styling and colour tags added. Hence, testing the buttons on review page is beyond the scope of our project. The colour change will not impact the functionality of the buttons in any way. Hence, unit tests are not required. &lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation:'''===&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;br /&gt;
&lt;br /&gt;
==='''Reference'''===&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/cssref/pr_text_color.asp&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119137</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119137"/>
		<updated>2018-11-09T23:28:17Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Files Updated===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steps===&lt;br /&gt;
&lt;br /&gt;
1. Open expertiza (link is provided)&lt;br /&gt;
2. Login&lt;br /&gt;
==='''Testing'''===&lt;br /&gt;
&lt;br /&gt;
As discussed thoroughly with our mentor and professor, the implementation is a UI change with CSS styling and colour tags added. Hence, testing the buttons on review page is beyond the scope of our project. The colour change will not impact the functionality of the buttons in any way. Hence, unit tests are not required. &lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation:'''===&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;br /&gt;
&lt;br /&gt;
==='''Reference'''===&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/cssref/pr_text_color.asp&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119136</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119136"/>
		<updated>2018-11-09T23:24:43Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===''Files  Updated:''===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Testing'''===&lt;br /&gt;
&lt;br /&gt;
As discussed thoroughly with our mentor and professor, the implementation is a UI change with CSS styling and colour tags added. Hence, testing the buttons on review page is beyond the scope of our project. The colour change will not impact the functionality of the buttons in any way. Hence, unit tests are not required. &lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation:'''===&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;br /&gt;
&lt;br /&gt;
==='''Reference'''===&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/cssref/pr_text_color.asp&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119135</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119135"/>
		<updated>2018-11-09T23:22:49Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===''Files  Updated:'''===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Testing&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
As discussed thoroughly with our mentor and professor, the implementation is a UI change with CSS styling and colour tags added. Hence, testing the buttons on review page is beyond the scope of our project. the colour change will not impact the functionality of the buttons in any way. Hence, unit tests are not required. &lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation:'''===&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119131</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119131"/>
		<updated>2018-11-09T23:15:52Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''E1785 - UI FEATURES RELATED TO REVISION TIME'''==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
==='''About Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
==='''Problem Statement'''===&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
==='''What needs to be done''' ===&lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
==='''Solutions Implemented and Delivered'''===&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===''Files  Updated:'''===&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Screenshots of new implementation:'''===&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119130</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=119130"/>
		<updated>2018-11-09T23:14:33Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
=='''About Expertiza'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118443</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118443"/>
		<updated>2018-11-03T01:40:19Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
'''About Expertiza'''&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118440</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118440"/>
		<updated>2018-11-03T01:39:47Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
'''About Expertiza'''&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&lt;br /&gt;
'''Colour for View Buttons:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Begin Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Colour for Edit Button:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118367</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118367"/>
		<updated>2018-11-03T00:19:31Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
'''About Expertiza'''&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&lt;br /&gt;
Colour for View Buttons:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
Colour for Begin Button:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
Colour for Edit Button:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118366</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118366"/>
		<updated>2018-11-03T00:19:05Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
'''About Expertiza'''&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&lt;br /&gt;
Colour for View Buttons:&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
Colour for Begin Button:&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
Colour for Edit Button:&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118360</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118360"/>
		<updated>2018-11-03T00:16:43Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
'''About Expertiza'''&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&lt;br /&gt;
&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
[[File: Scc2.png]]&lt;br /&gt;
&lt;br /&gt;
[[File: tanmaya.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118359</id>
		<title>CSC/ECE 517 Fall 2018/E1785 OSS project Beige</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2018/E1785_OSS_project_Beige&amp;diff=118359"/>
		<updated>2018-11-03T00:16:24Z</updated>

		<summary type="html">&lt;p&gt;Tnanda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''E1785 - UI FEATURES RELATED TO REVISION TIME'''&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project.&lt;br /&gt;
&lt;br /&gt;
'''About Expertiza'''&lt;br /&gt;
&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
'''Problem Statement'''&lt;br /&gt;
&lt;br /&gt;
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.&lt;br /&gt;
&lt;br /&gt;
'''What needs to be done''' &lt;br /&gt;
&lt;br /&gt;
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Red – If the review has not been started&amp;lt;br&amp;gt;&lt;br /&gt;
Orange – If the review was started, but not completed&amp;lt;br&amp;gt;&lt;br /&gt;
Brown – Submission has been reviewed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.&lt;br /&gt;
&lt;br /&gt;
'''Solutions Implemented and Delivered'''&lt;br /&gt;
&lt;br /&gt;
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes:&amp;lt;br&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
         &amp;lt;td '''style=&amp;quot;color:saddlebrown;&amp;quot;'''&amp;gt;&lt;br /&gt;
             &amp;lt;%= link_to &amp;quot;View&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'view', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:saddlebrown;''''} %&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;% if @assignment.get_current_stage(topic_id) != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show the link as edit when latest review is done in current deadline   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;%- # show link as update when latest review is done in different deadline than current phase   -%&amp;gt;&lt;br /&gt;
                      &amp;lt;% if (last_response_round == current_round)%&amp;gt;&lt;br /&gt;
                        &amp;lt;'''td style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&lt;br /&gt;
                          &amp;lt;% if (!@latest_response.is_submitted) %&amp;gt;&lt;br /&gt;
                              &amp;lt;%= link_to &amp;quot;Edit&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'edit', :id =&amp;gt; @latest_response.id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&lt;br /&gt;
                          &amp;lt;%end%&amp;gt;&lt;br /&gt;
                        &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% else %&amp;gt;&lt;br /&gt;
                        &amp;lt;td '''style=&amp;quot;color:orange;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Update&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.map_id}, {''':style=&amp;gt;'color:orange;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;% end %&amp;gt;&lt;br /&gt;
                     &amp;lt;% end %&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&amp;lt;%= &amp;quot;  -- latest update at #{@latest_response.updated_at.strftime(&amp;quot;%a, %b %d, %Y %I:%M:%S %p&amp;quot;)}&amp;quot; %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;%end%&amp;gt;&lt;br /&gt;
            &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
                &amp;lt;td '''style=&amp;quot;color:#ff000d;&amp;quot;'''&amp;gt;&amp;lt;%= link_to &amp;quot;Begin&amp;quot;, {:controller =&amp;gt; 'response', :action =&amp;gt; 'new', :id =&amp;gt; map.id}, {''':style=&amp;gt;'color:ff000d;''''} %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Files  Updated:'''&lt;br /&gt;
&lt;br /&gt;
app/views/student_review/_responses.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Screenshots of new implementation:'''&lt;br /&gt;
&lt;br /&gt;
[[File: Scc.png]]&lt;br /&gt;
&lt;br /&gt;
[[File: Scc2.png]]&lt;/div&gt;</summary>
		<author><name>Tnanda</name></author>
	</entry>
</feed>