<?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=Xding3</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=Xding3"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Xding3"/>
	<updated>2026-05-09T21:50:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=106023</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=106023"/>
		<updated>2016-12-01T22:59:56Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Database Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing type is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviewing type of assignments&lt;br /&gt;
|1. User is an Instructor 2. At leaset one assignments can be edited&lt;br /&gt;
|1. Log into Expertiza 2. Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviews at the same time&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments can be reviewed&lt;br /&gt;
|1. Two users log into Expertiza. 2. One start editing review and the other try submitting at the same time&lt;br /&gt;
|An alert message will be displayed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|View scores&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments is graded&lt;br /&gt;
|1. Two users log into Expertiza. 2. Click &amp;quot;your score&amp;quot; under one assignment page&lt;br /&gt;
|The page works well and the score is the same&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Purpose.png&amp;diff=106001</id>
		<title>File:Purpose.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Purpose.png&amp;diff=106001"/>
		<updated>2016-11-17T04:21:32Z</updated>

		<summary type="html">&lt;p&gt;Xding3: uploaded a new version of &amp;amp;quot;File:Purpose.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105956</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105956"/>
		<updated>2016-11-15T14:47:34Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing type is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviewing type of assignments&lt;br /&gt;
|1. User is an Instructor 2. At leaset one assignments can be edited&lt;br /&gt;
|1. Log into Expertiza 2. Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviews at the same time&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments can be reviewed&lt;br /&gt;
|1. Two users log into Expertiza. 2. One start editing review and the other try submitting at the same time&lt;br /&gt;
|An alert message will be displayed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|View scores&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments is graded&lt;br /&gt;
|1. Two users log into Expertiza. 2. Click &amp;quot;your score&amp;quot; under one assignment page&lt;br /&gt;
|The page works well and the score is the same&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105955</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105955"/>
		<updated>2016-11-15T14:46:54Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviewing type of assignments&lt;br /&gt;
|1. User is an Instructor 2. At leaset one assignments can be edited&lt;br /&gt;
|1. Log into Expertiza 2. Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviews at the same time&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments can be reviewed&lt;br /&gt;
|1. Two users log into Expertiza. 2. One start editing review and the other try submitting at the same time&lt;br /&gt;
|An alert message will be displayed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|View scores&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments is graded&lt;br /&gt;
|1. Two users log into Expertiza. 2. Click &amp;quot;your score&amp;quot; under one assignment page&lt;br /&gt;
|The page works well and the score is the same&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105933</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105933"/>
		<updated>2016-11-15T05:55:10Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviewing type of assignments&lt;br /&gt;
|1. User is an Instructor 2. At leaset one assignments can be edited&lt;br /&gt;
|1. Log into Expertiza 2.Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Edit reviews at the same time&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments can be reviewed&lt;br /&gt;
|1. Two users log into Expertiza. 2. One start editing review and the other try submitting at the same time&lt;br /&gt;
|An alert message will be displayed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|View scores&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments is graded&lt;br /&gt;
|1. Two users log into Expertiza. 2. Click &amp;quot;your score&amp;quot; under one assignment page&lt;br /&gt;
|The page works well and the score is the same&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105932</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105932"/>
		<updated>2016-11-15T05:48:04Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Edit reviewing type of assignments&lt;br /&gt;
|1. User is an Instructor 2. At leaset one assignments can be edited&lt;br /&gt;
|1. Log into Expertiza 2.Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Edit reviews at the same time&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments can be reviewed&lt;br /&gt;
|1. Two users log into Expertiza. 2. One start editing review and the other try submitting at the same time&lt;br /&gt;
|An alert message will be displayed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!View scores&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments is graded&lt;br /&gt;
|1. Two users log into Expertiza. 2. Click &amp;quot;your score&amp;quot; under one assignment page&lt;br /&gt;
|The page works well and the score is the same&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105931</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105931"/>
		<updated>2016-11-15T05:47:51Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Edit reviewing type of assignments&lt;br /&gt;
|1. User is an Instructor 2. At leaset one assignments can be edited&lt;br /&gt;
|1. Log into Expertiza 2.Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Edit reviews at the same time&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments can be reviewed&lt;br /&gt;
|1. Two users log into Expertiza. 2. One start editing review and the other try submitting at the same time&lt;br /&gt;
|An alert message will be displayed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!View scores&lt;br /&gt;
|1. Two users at the same team as Students 2. At least one assignments is graded&lt;br /&gt;
|1. Two users log into Expertiza. 2. Click &amp;quot;your score&amp;quot; under one assignment page&lt;br /&gt;
|The page works well and the score is the same&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105930</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105930"/>
		<updated>2016-11-15T05:41:05Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created. And also the basic test case is proposed for UI test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Edit reviewing type of assignments&lt;br /&gt;
|User is an Instructor&lt;br /&gt;
|1. Log into Expertiza 2.Edit assignments 3. Change reviewing type under Review Strategy&lt;br /&gt;
|The reviewing type is changed (in database)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105924</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105924"/>
		<updated>2016-11-15T05:37:18Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105923</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105923"/>
		<updated>2016-11-15T05:36:21Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
!Field Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105922</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105922"/>
		<updated>2016-11-15T05:35:59Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;br /&gt;
&lt;br /&gt;
!Field Test Name !!Prerequisites !!Test Procedure !!Expected Results&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105920</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105920"/>
		<updated>2016-11-15T04:56:17Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
 expertiza/app/controllers/grades_controller:&lt;br /&gt;
    def view_my_score&lt;br /&gt;
       + Give all team members the same score&lt;br /&gt;
    end&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105919</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105919"/>
		<updated>2016-11-15T04:52:16Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    + Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
 expertiza/app/controllers/responses_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       + Set a lock allowing only one student editing review at the same time&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105917</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105917"/>
		<updated>2016-11-15T04:45:18Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    +Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       +Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by ''flash[:alert]''.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105915</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105915"/>
		<updated>2016-11-15T04:44:20Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    +Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       +Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105914</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105914"/>
		<updated>2016-11-15T04:44:00Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    +Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       +Accept the value from view and assign it to assignment&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105913</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105913"/>
		<updated>2016-11-15T04:43:41Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    Add a select tag to let instructor choose the reviewing type&lt;br /&gt;
 expertiza/app/controllers/assignments_controller:&lt;br /&gt;
    def edit&lt;br /&gt;
       Accept the value from view and assign it to assignment&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105908</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105908"/>
		<updated>2016-11-15T04:39:43Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing tye is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105906</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105906"/>
		<updated>2016-11-15T04:39:11Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing of the assignment is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105904</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105904"/>
		<updated>2016-11-15T04:37:38Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Interface Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”. The scores are given as team if the reviewing of the assignment is team-based.&lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
 1. expertiza/app/views/assignments/edit_html_erb:&lt;br /&gt;
    add a select tag to let instructor choose the reviewing type&lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105898</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105898"/>
		<updated>2016-11-15T04:26:47Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Data Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_1.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
[[File:data_design_2.png]] &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
[[File:data_design_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Data_design_3.png&amp;diff=105893</id>
		<title>File:Data design 3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Data_design_3.png&amp;diff=105893"/>
		<updated>2016-11-15T04:26:06Z</updated>

		<summary type="html">&lt;p&gt;Xding3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Data_design_1.png&amp;diff=105892</id>
		<title>File:Data design 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Data_design_1.png&amp;diff=105892"/>
		<updated>2016-11-15T04:25:37Z</updated>

		<summary type="html">&lt;p&gt;Xding3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Data_design_2.png&amp;diff=105890</id>
		<title>File:Data design 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Data_design_2.png&amp;diff=105890"/>
		<updated>2016-11-15T04:24:40Z</updated>

		<summary type="html">&lt;p&gt;Xding3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105888</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105888"/>
		<updated>2016-11-15T04:22:42Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Data Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:Picture2.png]] &lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105887</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105887"/>
		<updated>2016-11-15T04:22:27Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Data Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
[[File:Picture2.png]] &lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Picture2.png&amp;diff=105886</id>
		<title>File:Picture2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Picture2.png&amp;diff=105886"/>
		<updated>2016-11-15T04:21:04Z</updated>

		<summary type="html">&lt;p&gt;Xding3: uploaded a new version of &amp;amp;quot;File:Picture2.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105884</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105884"/>
		<updated>2016-11-15T04:19:58Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
 &lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105883</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105883"/>
		<updated>2016-11-15T04:19:42Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Data Design ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''Team'', which indicates which team is being reviewed.  And the ''reviewer_id'' is the ID of ''Participant'', which specifies a user who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
 &lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
 &lt;br /&gt;
=== Interface Design ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it. The error message is considered to be displayed by “flash[:alert]”.&lt;br /&gt;
&lt;br /&gt;
=== Test Design ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105758</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105758"/>
		<updated>2016-11-15T00:44:22Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Project Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''AssignmentTeam'' , which indicates which team is being reviewed.  The ''reviewer_id'' is a ''Participant'', which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both ''Participant'' and ''AssignmentTeam''.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105757</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105757"/>
		<updated>2016-11-15T00:43:39Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Project Purpose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of this project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''AssignmentTeam'' , which indicates which team is being reviewed.  The ''reviewer_id'' is a ''Participant'', which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both ''Participant'' and ''AssignmentTeam''.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Purpose.png&amp;diff=105756</id>
		<title>File:Purpose.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Purpose.png&amp;diff=105756"/>
		<updated>2016-11-15T00:39:22Z</updated>

		<summary type="html">&lt;p&gt;Xding3: uploaded a new version of &amp;amp;quot;File:Purpose.png&amp;amp;quot;: Shrink the picture to display&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105754</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105754"/>
		<updated>2016-11-15T00:35:16Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Project Purpose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of our project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
[[File:Purpose.png]]&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''AssignmentTeam'' , which indicates which team is being reviewed.  The ''reviewer_id'' is a ''Participant'', which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both ''Participant'' and ''AssignmentTeam''.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Purpose.png&amp;diff=105751</id>
		<title>File:Purpose.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Purpose.png&amp;diff=105751"/>
		<updated>2016-11-15T00:33:52Z</updated>

		<summary type="html">&lt;p&gt;Xding3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105748</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105748"/>
		<updated>2016-11-15T00:32:31Z</updated>

		<summary type="html">&lt;p&gt;Xding3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
In Expertiza, students can review others’ work. However, currently all reviews are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. &lt;br /&gt;
&lt;br /&gt;
To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. And apparently, team-based reviewing can reduce the workload of each student.&lt;br /&gt;
&lt;br /&gt;
In a word, the main purpose of our project is to achieve the function of team-based reviewing and ensure that Expertiza works well with the change.&lt;br /&gt;
[[File:C:\Users\Ding\Desktop\Picture1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''AssignmentTeam'' , which indicates which team is being reviewed.  The ''reviewer_id'' is a ''Participant'', which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both ''Participant'' and ''AssignmentTeam''.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105455</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105455"/>
		<updated>2016-11-11T23:28:19Z</updated>

		<summary type="html">&lt;p&gt;Xding3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team. The main purpose of our project is to achieve the function of team-based reviewing and ensure the other functions in Expertiza works well with the change.&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ''ResponseMap'', which is the object that records who reviews whom. In ''ResponseMap'', there are two attributes: ''reviewer_id'' and ''reviewee_id''. The ''reviewee_id'' is the ID of the ''AssignmentTeam'' , which indicates which team is being reviewed.  The ''reviewer_id'' is a ''Participant'', which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based reviewing, a boolean field ''reviewer_is_team'' needs to be added to ''ResponseMap'' to determines whether the reviewer is a ''AssignmentParticipant'' or an ''AssignmentTeam''. If ''reviewer_is_team'' is true, then the ''reviewer_id'' would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field ''reviewer_is_team'' is also need to be added to the assignments table as well to indicate the review of assignment is an individual-based reviewing or team-based reviewing.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both ''Participant'' and ''AssignmentTeam''.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an ''Instructor'' to specify whether the reviewing is team-based or individual-based, we are intended to provide a dropdown on the ''Review Strategy'' tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
We set a lock in editing review, so that other team member cannot start to edit a review at the same time that one team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Xding3&amp;diff=105454</id>
		<title>User:Xding3</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Xding3&amp;diff=105454"/>
		<updated>2016-11-11T23:21:25Z</updated>

		<summary type="html">&lt;p&gt;Xding3: moved User:Xding3 to CSC/ECE 517 Fall 2016 E1683 Team-based reviewing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CSC/ECE 517 Fall 2016 E1683 Team-based reviewing]]&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105453</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105453"/>
		<updated>2016-11-11T23:21:25Z</updated>

		<summary type="html">&lt;p&gt;Xding3: moved User:Xding3 to CSC/ECE 517 Fall 2016 E1683 Team-based reviewing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team.&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ResponseMap, which is the object that records who reviews whom. In ResponseMap, there are two attributes: reviewer_id and reviewee_id. The reviewee_id is the ID of the AssignmentTeam that is being reviewed.  The reviewer_id is a Participant, which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based review, a boolean field reviewer_is_team needs to be added to ResponseMap to determines whether the reviewer is a AssignmentParticipant or an AssignmentTeam. If reviewer_is_team is true, then the reviewer_id would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field reviewer_is_team is also need to be added to the assignments table as well to indicate the assignment is an individual-based review or team-based review.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both Participant and AssignmentTeam.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an Instructor to specify whether the view is team-based or individual-based, we are intended to provide a dropdown on the Review Strategy tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
Set a lock, so that a second team member cannot start to edit a review at the same time that another team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105452</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105452"/>
		<updated>2016-11-11T23:12:56Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* View */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team.&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ResponseMap, which is the object that records who reviews whom. In ResponseMap, there are two attributes: reviewer_id and reviewee_id. The reviewee_id is the ID of the AssignmentTeam that is being reviewed.  The reviewer_id is a Participant, which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based review, a boolean field reviewer_is_team needs to be added to ResponseMap to determines whether the reviewer is a AssignmentParticipant or an AssignmentTeam. If reviewer_is_team is true, then the reviewer_id would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field reviewer_is_team is also need to be added to the assignments table as well to indicate the assignment is an individual-based review or team-based review.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both Participant and AssignmentTeam.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
&lt;br /&gt;
For an Instructor to specify whether the view is team-based or individual-based, we are intended to provide a dropdown on the Review Strategy tab of assignment creation. &lt;br /&gt;
&lt;br /&gt;
Set a lock, so that a second team member cannot start to edit a review at the same time that another team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105451</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105451"/>
		<updated>2016-11-11T23:12:45Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team.&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ResponseMap, which is the object that records who reviews whom. In ResponseMap, there are two attributes: reviewer_id and reviewee_id. The reviewee_id is the ID of the AssignmentTeam that is being reviewed.  The reviewer_id is a Participant, which specifies a User who is participating in this assignment.&lt;br /&gt;
&lt;br /&gt;
To achieve function of team-based review, a boolean field reviewer_is_team needs to be added to ResponseMap to determines whether the reviewer is a AssignmentParticipant or an AssignmentTeam. If reviewer_is_team is true, then the reviewer_id would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
&lt;br /&gt;
And a field reviewer_is_team is also need to be added to the assignments table as well to indicate the assignment is an individual-based review or team-based review.&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both Participant and AssignmentTeam.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
For an Instructor to specify whether the view is team-based or individual-based, we are intended to provide a dropdown on the Review Strategy tab of assignment creation. &lt;br /&gt;
Set a lock, so that a second team member cannot start to edit a review at the same time that another team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105450</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105450"/>
		<updated>2016-11-11T23:12:10Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* Project Purpose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team.&lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ResponseMap, which is the object that records who reviews whom. In ResponseMap, there are two attributes: reviewer_id and reviewee_id. The reviewee_id is the ID of the AssignmentTeam that is being reviewed.  The reviewer_id is a Participant, which specifies a User who is participating in this assignment.&lt;br /&gt;
To achieve function of team-based review, a boolean field reviewer_is_team needs to be added to ResponseMap to determines whether the reviewer is a AssignmentParticipant or an AssignmentTeam. If reviewer_is_team is true, then the reviewer_id would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
And a field reviewer_is_team is also need to be added to the assignments table as well to indicate the assignment is an individual-based review or team-based review.&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both Participant and AssignmentTeam.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
For an Instructor to specify whether the view is team-based or individual-based, we are intended to provide a dropdown on the Review Strategy tab of assignment creation. &lt;br /&gt;
Set a lock, so that a second team member cannot start to edit a review at the same time that another team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105449</id>
		<title>CSC/ECE 517 Fall 2016 E1683 Team-based reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1683_Team-based_reviewing&amp;diff=105449"/>
		<updated>2016-11-11T23:11:54Z</updated>

		<summary type="html">&lt;p&gt;Xding3: Created page with &amp;quot;== Project Purpose ==   At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignment...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Purpose ==&lt;br /&gt;
  At present, all reviews in Expertiza are done by individuals, regardless of whether the assignment is assigned as individuals or teams. In team assignments, when the team member reviews an assignment, his/her review is independent from his/her teammates’ reviews. To encourage students to discuss together and review carefully, it is sometimes reasonable for students to submit their reviews as a team.  &lt;br /&gt;
&lt;br /&gt;
== Project Design ==&lt;br /&gt;
Based on the design documents, the basic project design is proposed below. &lt;br /&gt;
=== Model ===&lt;br /&gt;
In Expertiza, we have ResponseMap, which is the object that records who reviews whom. In ResponseMap, there are two attributes: reviewer_id and reviewee_id. The reviewee_id is the ID of the AssignmentTeam that is being reviewed.  The reviewer_id is a Participant, which specifies a User who is participating in this assignment.&lt;br /&gt;
To achieve function of team-based review, a boolean field reviewer_is_team needs to be added to ResponseMap to determines whether the reviewer is a AssignmentParticipant or an AssignmentTeam. If reviewer_is_team is true, then the reviewer_id would refer to a record in the teams table, not a record in the participants table. &lt;br /&gt;
And a field reviewer_is_team is also need to be added to the assignments table as well to indicate the assignment is an individual-based review or team-based review.&lt;br /&gt;
===Controller===&lt;br /&gt;
The method sending a message to the reviewer should be implemented appropriately in both Participant and AssignmentTeam.&lt;br /&gt;
=== View ===&lt;br /&gt;
Several parts of the system need to work regardless of whether the reviewer is an individual or a team, like “View my scores” and “Alternative view”.  &lt;br /&gt;
For an Instructor to specify whether the view is team-based or individual-based, we are intended to provide a dropdown on the Review Strategy tab of assignment creation. &lt;br /&gt;
Set a lock, so that a second team member cannot start to edit a review at the same time that another team member is editing it.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
RSpec is a testing framework for Rails, and is a Behavioral-Driven Development tool. It is a domain specific language(DSL). All the tests can be executed by rspec spec command, or can also be executed individually using the command &amp;quot;rspec spec/models/assignment_team_spec.rb. We intend to write unit tests using RSpec for all the methods which we modified/created. We intend to write unit tests using RSpec for all the methods which we modified/created.&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105290</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105290"/>
		<updated>2016-11-10T04:10:53Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How was this Issue Fixed? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution ID would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into ''app/views/sign_up_sheet/_table_header.html.erb''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% if @assignment.current_stage_name != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;10%&amp;quot;&amp;gt;Actions&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% else %&amp;gt;&lt;br /&gt;
	&amp;lt;th width=&amp;quot;15%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab and look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities, which means the work is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. To post a confirmation to users, we used the flash method to put the message on the screen. When user is going to delete an assignment, he will firstly use the ''delete'' action in ''assignment'' model with parameter ''force=nil''. Thus in ''app/models/assignment.rb'', we added an condition in the beginning of the method to check whether it is the first attempt to delete the assignment. If it is, an exception will be raised.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if(force.nil?)&lt;br /&gt;
      raise &amp;quot;The delete action cannot be revoked.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exception will be caught in the assignment controller. Then corresponding messages are passed by flash method to be shown on the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
      @assignment_form = AssignmentForm.create_form_object(params[:id])&lt;br /&gt;
      @user = session[:user]&lt;br /&gt;
      id = @user.get_instructor&lt;br /&gt;
      if id != @assignment_form.assignment.instructor_id&lt;br /&gt;
        raise &amp;quot;You are not authorized to delete this assignment.&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        @assignment_form.delete(params[:force])&lt;br /&gt;
        flash[:success] = &amp;quot;The assignment was successfully deleted.&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
    rescue&lt;br /&gt;
      error = $ERROR_INFO&lt;br /&gt;
&lt;br /&gt;
      url_accept = url_for action: 'delete', id: params[:id], force: 0&lt;br /&gt;
      url_deny = list_tree_display_index_path&lt;br /&gt;
&lt;br /&gt;
      url_yes = url_for action: 'delete', id: params[:id], force: 1&lt;br /&gt;
      url_no = list_tree_display_index_path&lt;br /&gt;
&lt;br /&gt;
      if(error.to_s == &amp;quot;The delete action cannot be revoked.&amp;quot;)&lt;br /&gt;
        flash[:error] = error.to_s + &amp;quot; Are you sure?&amp;amp;nbsp;&amp;lt;a href='#{url_accept}'&amp;gt;Yes&amp;lt;/a&amp;gt;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;lt;a href='#{url_deny}'&amp;gt;No&amp;lt;/a&amp;gt;&amp;lt;BR/&amp;gt;&amp;quot;  &lt;br /&gt;
      else&lt;br /&gt;
        flash[:error] = error.to_s + &amp;quot; Delete this assignment anyway?&amp;amp;nbsp;&amp;lt;a href='#{url_yes}'&amp;gt;Yes&amp;lt;/a&amp;gt;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;lt;a href='#{url_no}'&amp;gt;No&amp;lt;/a&amp;gt;&amp;lt;BR/&amp;gt;&amp;quot; &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;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105283</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105283"/>
		<updated>2016-11-10T04:06:02Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How was this Issue Fixed? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution ID would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into ''app/views/sign_up_sheet/_table_header.html.erb''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% if @assignment.current_stage_name != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;10%&amp;quot;&amp;gt;Actions&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% else %&amp;gt;&lt;br /&gt;
	&amp;lt;th width=&amp;quot;15%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab and look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities, which means the work is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. To post a confirmation to users, we used the flash method to put the message on the screen. When the user is going to delete an assignment, he will firstly use the ''delete'' action of ''assignment'' controller with parameter ''force=nil''. Thus in ''app/models/assignment.rb'', we added an condition to check whether it is the first attempt to delete the assignment. If it is, an exception will be raised.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if(force.nil?)&lt;br /&gt;
      raise &amp;quot;The delete action cannot be revoked.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exception will be caught in the assignment controller. Corresponding messages are passed by flash method to the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
      @assignment_form = AssignmentForm.create_form_object(params[:id])&lt;br /&gt;
      @user = session[:user]&lt;br /&gt;
      id = @user.get_instructor&lt;br /&gt;
      if id != @assignment_form.assignment.instructor_id&lt;br /&gt;
        raise &amp;quot;You are not authorized to delete this assignment.&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        @assignment_form.delete(params[:force])&lt;br /&gt;
        flash[:success] = &amp;quot;The assignment was successfully deleted.&amp;quot;&lt;br /&gt;
      end&lt;br /&gt;
    rescue&lt;br /&gt;
      error = $ERROR_INFO&lt;br /&gt;
&lt;br /&gt;
      url_accept = url_for action: 'delete', id: params[:id], force: 0&lt;br /&gt;
      url_deny = list_tree_display_index_path&lt;br /&gt;
&lt;br /&gt;
      url_yes = url_for action: 'delete', id: params[:id], force: 1&lt;br /&gt;
      url_no = list_tree_display_index_path&lt;br /&gt;
&lt;br /&gt;
      if(error.to_s == &amp;quot;The delete action cannot be revoked.&amp;quot;)&lt;br /&gt;
        flash[:error] = error.to_s + &amp;quot; Are you sure?&amp;amp;nbsp;&amp;lt;a href='#{url_accept}'&amp;gt;Yes&amp;lt;/a&amp;gt;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;lt;a href='#{url_deny}'&amp;gt;No&amp;lt;/a&amp;gt;&amp;lt;BR/&amp;gt;&amp;quot;  &lt;br /&gt;
      else&lt;br /&gt;
        flash[:error] = error.to_s + &amp;quot; Delete this assignment anyway?&amp;amp;nbsp;&amp;lt;a href='#{url_yes}'&amp;gt;Yes&amp;lt;/a&amp;gt;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;lt;a href='#{url_no}'&amp;gt;No&amp;lt;/a&amp;gt;&amp;lt;BR/&amp;gt;&amp;quot; &lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105280</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105280"/>
		<updated>2016-11-10T04:00:18Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How was this Issue Fixed? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution ID would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into ''app/views/sign_up_sheet/_table_header.html.erb''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% if @assignment.current_stage_name != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;10%&amp;quot;&amp;gt;Actions&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% else %&amp;gt;&lt;br /&gt;
	&amp;lt;th width=&amp;quot;15%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab and look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities, which means the work is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. To post a confirmation to users, we used the flash method to put the message on the screen. When the user is going to delete an assignment, he will firstly use the ''delete'' action of ''assignment'' controller with parameter ''force=nil''. Thus in ''app/models/assignment.rb'', we added an condition to check whether it is the first attempt to delete the assignment. If it is, an exception will be raised.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if(force.nil?)&lt;br /&gt;
      raise &amp;quot;The delete action cannot be revoked.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105275</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105275"/>
		<updated>2016-11-10T03:39:44Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How to Test this fix? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution ID would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into ''app/views/sign_up_sheet/_table_header.html.erb''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% if @assignment.current_stage_name != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;10%&amp;quot;&amp;gt;Actions&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% else %&amp;gt;&lt;br /&gt;
	&amp;lt;th width=&amp;quot;15%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab and look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities, which means the work is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete courses/assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. We had to make following changes in _shared_action.html.erb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= link_to image_tag('/assets/tree_view/delete-icon-24.png', :title =&amp;gt; 'Delete ' + model.downcase),&lt;br /&gt;
      { :controller =&amp;gt; controller, :action=&amp;gt;'delete', :id =&amp;gt; node.node_object_id , :data =&amp;gt; {:confirm =&amp;gt; 'Are you sure you want to delete?'}},&lt;br /&gt;
      { :title =&amp;gt; 'Delete ' + model.downcase } %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105273</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105273"/>
		<updated>2016-11-10T03:38:54Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How was this Issue Fixed? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution ID would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into ''app/views/sign_up_sheet/_table_header.html.erb''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% if @assignment.current_stage_name != &amp;quot;Finished&amp;quot; %&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;10%&amp;quot;&amp;gt;Actions&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% else %&amp;gt;&lt;br /&gt;
	&amp;lt;th width=&amp;quot;15%&amp;quot;&amp;gt;Advertisement(s)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab&lt;br /&gt;
* Look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities. If you don't see this column then the test is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete courses/assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. We had to make following changes in _shared_action.html.erb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= link_to image_tag('/assets/tree_view/delete-icon-24.png', :title =&amp;gt; 'Delete ' + model.downcase),&lt;br /&gt;
      { :controller =&amp;gt; controller, :action=&amp;gt;'delete', :id =&amp;gt; node.node_object_id , :data =&amp;gt; {:confirm =&amp;gt; 'Are you sure you want to delete?'}},&lt;br /&gt;
      { :title =&amp;gt; 'Delete ' + model.downcase } %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105270</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105270"/>
		<updated>2016-11-10T03:34:14Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How to Test this fix? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution ID would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into sign_up_sheet/_table_line.html.erb.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%if !@assignment.get_current_stage.eql?&amp;quot;Finished&amp;quot;%&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; '/sign_up_sheet/actions', &lt;br /&gt;
    :locals =&amp;gt; {:i=&amp;gt;i,:topic=&amp;gt;topic, :is_suggested_topic=&amp;gt;is_suggested_topic ||= false} %&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;%end%&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab&lt;br /&gt;
* Look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities. If you don't see this column then the test is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete courses/assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. We had to make following changes in _shared_action.html.erb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= link_to image_tag('/assets/tree_view/delete-icon-24.png', :title =&amp;gt; 'Delete ' + model.downcase),&lt;br /&gt;
      { :controller =&amp;gt; controller, :action=&amp;gt;'delete', :id =&amp;gt; node.node_object_id , :data =&amp;gt; {:confirm =&amp;gt; 'Are you sure you want to delete?'}},&lt;br /&gt;
      { :title =&amp;gt; 'Delete ' + model.downcase } %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105269</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105269"/>
		<updated>2016-11-10T03:33:57Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How to Test this fix? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses and click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form (with other fields completed).&lt;br /&gt;
* Institution Id would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database.&lt;br /&gt;
&lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into sign_up_sheet/_table_line.html.erb.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%if !@assignment.get_current_stage.eql?&amp;quot;Finished&amp;quot;%&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; '/sign_up_sheet/actions', &lt;br /&gt;
    :locals =&amp;gt; {:i=&amp;gt;i,:topic=&amp;gt;topic, :is_suggested_topic=&amp;gt;is_suggested_topic ||= false} %&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;%end%&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab&lt;br /&gt;
* Look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities. If you don't see this column then the test is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete courses/assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. We had to make following changes in _shared_action.html.erb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= link_to image_tag('/assets/tree_view/delete-icon-24.png', :title =&amp;gt; 'Delete ' + model.downcase),&lt;br /&gt;
      { :controller =&amp;gt; controller, :action=&amp;gt;'delete', :id =&amp;gt; node.node_object_id , :data =&amp;gt; {:confirm =&amp;gt; 'Are you sure you want to delete?'}},&lt;br /&gt;
      { :title =&amp;gt; 'Delete ' + model.downcase } %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105267</id>
		<title>CSC/ECE 517 Fall 2016/E1662. UI issues/fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1662._UI_issues/fixes&amp;diff=105267"/>
		<updated>2016-11-10T03:32:14Z</updated>

		<summary type="html">&lt;p&gt;Xding3: /* How was this Issue Fixed? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= UI Issues/Fixes =&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
Expertiza is an open source web application developed by students and faculty members of North Carolina State University. This portal is being used by both faculty members and students in order to carry out assignments. Typically following is the workflow of the system:&lt;br /&gt;
* Faculty member adds students to a particular course. He also adds an assignment for the class.&lt;br /&gt;
* Assignment has a specific deadline, review period and final submission.&lt;br /&gt;
* Faculty members upload list of topics for the assignment.&lt;br /&gt;
* Students have to bid for the topic or they can suggest their own topic.&lt;br /&gt;
* At the end of the bidding process, students get a specific topic for the assignment.&lt;br /&gt;
* Students can form the teams by sending out invitations to other students.&lt;br /&gt;
* Students start working on the assignment and submit the assignment work before the initial submission date.&lt;br /&gt;
* Every student then gets to review work submitted by at least one team. Student submit their feedback in the review.&lt;br /&gt;
* Students then make the necessary changes as suggested by reviewer and submit the assignment before the final submission date.&lt;br /&gt;
* Students are graded on the basis of their work and reviews.&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
The main objective this project is to fix the issues in the current system. The current system has following issues:&lt;br /&gt;
&lt;br /&gt;
* Historically courses were created without providing Institution ID. Since data warehouse is now storing Institution ID for a particular course, this application should do support this function.&lt;br /&gt;
* If an assignment is completed, no one can sign up for topics or drop topics. Yet a completely blank &amp;quot;Actions&amp;quot; column on the signup sheet still appears. It would be better if the column did not appear.&lt;br /&gt;
* Currently when admin/instructor tries to delete an assignment, there is no alert/confirmation shown. This is risky. We need to add a confirmation step to avoid losing data.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
==== Issue#702 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
Capturing Institution ID&lt;br /&gt;
&lt;br /&gt;
Institution and Course has One-to-Many relationship where in one institution may have many courses associated with it. In current system while creating new course user does not have to choose which institution the course belongs to. Hence we need to fix this issue. Following basic changes are required in order to fix this issue.&lt;br /&gt;
&lt;br /&gt;
* Ensure that relationship exists between Course and Institution model classes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Establishing relationship between Course and Institution&lt;br /&gt;
class Institution &amp;lt; ActiveRecord::Base&lt;br /&gt;
  has_many :courses, dependent: :destroy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
class Course &amp;lt; ActiveRecord::Base&lt;br /&gt;
  belongs_to :institution, class_name: 'Institution', foreign_key: 'instituition_id'&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In ''app/views/course/_course.html.erb'', add a drop-down list so that user can select institution from the available options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!--Adding a field so that user can select institution from the list--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;course_instituition_id&amp;quot;&amp;gt;Institution&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;%= select_tag 'institution', options_from_collection_for_select(Institution.all,:id,:name) %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that the id for the selected institution is sent as a parameter along with other parameters back to controller.&lt;br /&gt;
* Once we receive all the data in controller Institution ID should be saved in course table. Thus in ''app/controllers/course_controller.rb'', add arguments to the Create method.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@course = Course.new(name: params[:course][:name], directory_path: params[:course][:directory_path], info: params[:course][:info], private: params[:course][:private], institutions_id: params[:institution])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* User should login to expertiza using Instructor's credentials.&lt;br /&gt;
* Go to Manage Courses&lt;br /&gt;
* Click on New Course button so as to open form for it.&lt;br /&gt;
* Fill up the form. you can see new field added as Institution Name. This is a drop down list which has list of Institutions.&lt;br /&gt;
* User has to select one of these institutions. If user tries to go ahead without selecting this then he will get an alert flash saying this is a required field.&lt;br /&gt;
* Once an institution is selected user can click on Create button to submit the form.&lt;br /&gt;
* Institution Id would be saved in database record against this particular entry of course in Course table. User can verify this by accessing Course table in the database. &lt;br /&gt;
==== Issue#316 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When student open sign up sheet for the Finished projects, he should not be able to take any actions for that assignment and hence Actions column should be hidden to him. For fixing this bug, we had to make following changes into sign_up_sheet/_table_line.html.erb.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%if !@assignment.get_current_stage.eql?&amp;quot;Finished&amp;quot;%&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; '/sign_up_sheet/actions', &lt;br /&gt;
    :locals =&amp;gt; {:i=&amp;gt;i,:topic=&amp;gt;topic, :is_suggested_topic=&amp;gt;is_suggested_topic ||= false} %&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;%end%&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to expertiza using student credentials&lt;br /&gt;
* Go to assignment tab&lt;br /&gt;
* Look for the assignments which have current stage as &amp;quot;Finished&amp;quot;&lt;br /&gt;
* Go to that assignment and open sign-up sheet.&lt;br /&gt;
* You should not be able to see column Activities. If you don't see this column then the test is successful.&lt;br /&gt;
&lt;br /&gt;
==== Issue#295 ====&lt;br /&gt;
===== How was this Issue Fixed? =====&lt;br /&gt;
When instructor clicks on delete button to delete courses/assignment, It gets deleted without confirming it. System should ask for confirmation whether to go ahead with deletion or not. We had to make following changes in _shared_action.html.erb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= link_to image_tag('/assets/tree_view/delete-icon-24.png', :title =&amp;gt; 'Delete ' + model.downcase),&lt;br /&gt;
      { :controller =&amp;gt; controller, :action=&amp;gt;'delete', :id =&amp;gt; node.node_object_id , :data =&amp;gt; {:confirm =&amp;gt; 'Are you sure you want to delete?'}},&lt;br /&gt;
      { :title =&amp;gt; 'Delete ' + model.downcase } %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== How to Test this fix? =====&lt;br /&gt;
* Login to Expertiza as an Instructor.&lt;br /&gt;
* Go to manage assignment page.&lt;br /&gt;
* Try deleting an assignment by clicking on an image from the activities column.&lt;br /&gt;
* When delete button is clicked, system should ask for confirmation message whether you really want to delete or not.&lt;br /&gt;
* If you select yes then that assignment should be deleted. Otherwise if selected no then that assignment should not be deleted.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
1. https://github.com/expertiza/expertiza - Github link for original repository&lt;br /&gt;
&lt;br /&gt;
2. https://github.com/psabhyan/expertiza.git - Github Repository code for the updated code&lt;/div&gt;</summary>
		<author><name>Xding3</name></author>
	</entry>
</feed>