<?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=Ssdeshp5</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=Ssdeshp5"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Ssdeshp5"/>
	<updated>2026-05-16T16:03: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_E1678:_Review_configuration_options&amp;diff=106100</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106100"/>
		<updated>2016-12-02T22:41:31Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the '''assignment_controller'''. This method gathers all the information and calls '''edit''' view to display results. We added checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. This threshold value is stored in '''num_reviews''' column of '''Assignment''' table. All these codes are part of '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes to assignments controller. Instructor view looks as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:R1iview.png |frame|upright=0.5|center|Requirement 1 - Instructor View Changes]]&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by '''list''' method of '''Student_review_controller'''. We added a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Topic selection will be disabled in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Stview.png |frame|upright=0.5|center|Requirement 1 - Student View Changes]]&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. '''List.html.erb''' file calls '''/views/student_review/_responses.html.erb''' partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  '''“finished”''' and review is '''“not submitted”'''. &lt;br /&gt;
&lt;br /&gt;
[[File:Drop.png |frame|upright=0.5|center|Requirement 2 - Allow students to drop reviews]]&lt;br /&gt;
[[File:Drop1.png |frame|upright=0.5|center|Requirement 2 - Allow students to drop reviews only if Review has not been submitted.]]&lt;br /&gt;
&lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
:Add destroy method to student_review controller. This method should track down the corresponding response map for the topic that needs to be dropped and then delete it.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. We replaced this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' checkbox value is stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We added one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option. This is how instructor view will change after implementation.&lt;br /&gt;
[[File:Iview.png |frame|upright=0.5|center|Requirement 3 - Instructor View Changes]]&lt;br /&gt;
&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We added a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table. If the instructor only selects '''show teammate scores?''' student will be able to see aggregate teammate score as shown below.&lt;br /&gt;
[[File:Sscore.png |frame|upright=0.5|center|Requirement 3 - Show aggregate teammate scores]]&lt;br /&gt;
Students will be able to see only reviews if the instructor selects '''show teammate reviews ?''' during assignment creation.&lt;br /&gt;
[[File:Rstudent.png |frame|upright=0.5|center|Requirement 3 -Show only teammate reviews]]&lt;br /&gt;
Students will be able to see both the score and teammate reviews if the instructors checks both boxes from assignment configuration page.&lt;br /&gt;
&lt;br /&gt;
==Requirement 4==&lt;br /&gt;
===Problem===&lt;br /&gt;
There is no option that lets reviewers see others’ reviews of the same work after they submit their review of that work.  &lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Implement an option that lets reviewers see others’ reviews of the same work, after they submit their review of that work.  This could help reviewers learn from other reviewers of the same work.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This option should be specified in a reasonable way on the Create Assignment page. So we didn’t find any design pattern which can be used as part of requirement 4.&lt;br /&gt;
&lt;br /&gt;
;Instructor view changes:&lt;br /&gt;
:While creating the assignment, instructor should be able to specify if students should be allowed to see reviews done by other students for the same work. Assignment related configurations are handled by '''edit''' method in the '''assignment_controllers'''. This method gathers all the information and calls '''edit''' view to display results.We are planning to add checkbox '''show_other_reviews''' for this selection under '''General''' tab of instructor view. If the instructor selects this checkbox, this feature will be active for the assignment. The checkbox will be added in the &amp;quot;assignments/edit/_general&amp;quot; file since It displays all the elements in '''General''' tab.  '''show_other_reviews'''  will be a hidden form field that stores the value of this checkbox that is finally persisted  in '''assignments''' database.&lt;br /&gt;
&lt;br /&gt;
;Changes to student_response controller and views:&lt;br /&gt;
:The ''View'' link displays  the submitted/in progress reviews  of the student and  is handled by the list action of the StudentReviewController (student_review_controller.rb) and the associated list view is &amp;quot;/views/student_review/list.html.erb&amp;quot; file. We plan to add another link ''View Other Reviews'' to the partial '''_reponses''' view. This link would be visible only if the  '''show_other_reviews''' option has been enabled by the instructor. This link would be next to each of the Review Topics submitted by the student for the current round of that assignment. Clicking this link would be handled by  an action '''other_reviews''' of the '''reponse_controller'''(response_controller.rb). After fetching some necessary query parameters the action method would filter responses submitted by other students  for that topic and round, exclude the response of the logged in student and set some instance variables. These instance variables would be displayed in the new view '''other_reviews''' in (views/response/other_reviews.erb).&lt;br /&gt;
&lt;br /&gt;
==Requirement 5==&lt;br /&gt;
===Problem===&lt;br /&gt;
The existing implementation of expertiza doesn’t provide a student the option to not see review scores or the text feedback. Sometimes a student might just want to see the scores and not the reviews and other times might want to see the reviews and not the scores. The ability to turn off either one is not provided by expertiza.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
When a student signs in there should be an option that allows the students to change the review score settings. The students will be provided with options of choosing either viewing only the review score or viewing only the text feedback or viewing both. &lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student View Scores page changes:&lt;br /&gt;
:Student review scores is displayed in the View Score page and the /views/grades/view_my_score.html.erb file handles this operation. In this view we plan to provide a dropdown list in which the student can select if he/she wants to view scores only, view feedback only or both. The default setting will be to view both. &lt;br /&gt;
;Grades Controller changes:&lt;br /&gt;
:The view_my_score method in the grades controller performs the task of retrieving the scores and feedback from the database and also does various additional functions like calculating average, etc. In this method, based on the option chosen by the student either only scores or text feedback or both will be retreived. If the student does not explicitly specify any option then both the scores and feedback will be fetched.&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106099</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106099"/>
		<updated>2016-12-02T22:40:36Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the '''assignment_controller'''. This method gathers all the information and calls '''edit''' view to display results. We added checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. This threshold value is stored in '''num_reviews''' column of '''Assignment''' table. All these codes are part of '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes to assignments controller. Instructor view looks as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:R1iview.png |frame|upright=0.5|center|Requirement 1 - Instructor View Changes]]&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by '''list''' method of '''Student_review_controller'''. We added a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Topic selection will be disabled in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Stview.png |frame|upright=0.5|center|Requirement 1 - Student View Changes]]&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. '''List.html.erb''' file calls '''/views/student_review/_responses.html.erb''' partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  '''“finished”''' and review is '''“not submitted”'''. &lt;br /&gt;
&lt;br /&gt;
[[File:Drop.png |frame|upright=0.5|center|Requirement 2 - Allow students to drop reviews if Review has not been submitted.]]&lt;br /&gt;
&lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
:Add destroy method to student_review controller. This method should track down the corresponding response map for the topic that needs to be dropped and then delete it.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. We replaced this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' checkbox value is stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We added one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option. This is how instructor view will change after implementation.&lt;br /&gt;
[[File:Iview.png |frame|upright=0.5|center|Requirement 3 - Instructor View Changes]]&lt;br /&gt;
&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We added a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table. If the instructor only selects '''show teammate scores?''' student will be able to see aggregate teammate score as shown below.&lt;br /&gt;
[[File:Sscore.png |frame|upright=0.5|center|Requirement 3 - Show aggregate teammate scores]]&lt;br /&gt;
Students will be able to see only reviews if the instructor selects '''show teammate reviews ?''' during assignment creation.&lt;br /&gt;
[[File:Rstudent.png |frame|upright=0.5|center|Requirement 3 -Show only teammate reviews]]&lt;br /&gt;
Students will be able to see both the score and teammate reviews if the instructors checks both boxes from assignment configuration page.&lt;br /&gt;
&lt;br /&gt;
==Requirement 4==&lt;br /&gt;
===Problem===&lt;br /&gt;
There is no option that lets reviewers see others’ reviews of the same work after they submit their review of that work.  &lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Implement an option that lets reviewers see others’ reviews of the same work, after they submit their review of that work.  This could help reviewers learn from other reviewers of the same work.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This option should be specified in a reasonable way on the Create Assignment page. So we didn’t find any design pattern which can be used as part of requirement 4.&lt;br /&gt;
&lt;br /&gt;
;Instructor view changes:&lt;br /&gt;
:While creating the assignment, instructor should be able to specify if students should be allowed to see reviews done by other students for the same work. Assignment related configurations are handled by '''edit''' method in the '''assignment_controllers'''. This method gathers all the information and calls '''edit''' view to display results.We are planning to add checkbox '''show_other_reviews''' for this selection under '''General''' tab of instructor view. If the instructor selects this checkbox, this feature will be active for the assignment. The checkbox will be added in the &amp;quot;assignments/edit/_general&amp;quot; file since It displays all the elements in '''General''' tab.  '''show_other_reviews'''  will be a hidden form field that stores the value of this checkbox that is finally persisted  in '''assignments''' database.&lt;br /&gt;
&lt;br /&gt;
;Changes to student_response controller and views:&lt;br /&gt;
:The ''View'' link displays  the submitted/in progress reviews  of the student and  is handled by the list action of the StudentReviewController (student_review_controller.rb) and the associated list view is &amp;quot;/views/student_review/list.html.erb&amp;quot; file. We plan to add another link ''View Other Reviews'' to the partial '''_reponses''' view. This link would be visible only if the  '''show_other_reviews''' option has been enabled by the instructor. This link would be next to each of the Review Topics submitted by the student for the current round of that assignment. Clicking this link would be handled by  an action '''other_reviews''' of the '''reponse_controller'''(response_controller.rb). After fetching some necessary query parameters the action method would filter responses submitted by other students  for that topic and round, exclude the response of the logged in student and set some instance variables. These instance variables would be displayed in the new view '''other_reviews''' in (views/response/other_reviews.erb).&lt;br /&gt;
&lt;br /&gt;
==Requirement 5==&lt;br /&gt;
===Problem===&lt;br /&gt;
The existing implementation of expertiza doesn’t provide a student the option to not see review scores or the text feedback. Sometimes a student might just want to see the scores and not the reviews and other times might want to see the reviews and not the scores. The ability to turn off either one is not provided by expertiza.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
When a student signs in there should be an option that allows the students to change the review score settings. The students will be provided with options of choosing either viewing only the review score or viewing only the text feedback or viewing both. &lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student View Scores page changes:&lt;br /&gt;
:Student review scores is displayed in the View Score page and the /views/grades/view_my_score.html.erb file handles this operation. In this view we plan to provide a dropdown list in which the student can select if he/she wants to view scores only, view feedback only or both. The default setting will be to view both. &lt;br /&gt;
;Grades Controller changes:&lt;br /&gt;
:The view_my_score method in the grades controller performs the task of retrieving the scores and feedback from the database and also does various additional functions like calculating average, etc. In this method, based on the option chosen by the student either only scores or text feedback or both will be retreived. If the student does not explicitly specify any option then both the scores and feedback will be fetched.&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Drop1.png&amp;diff=106097</id>
		<title>File:Drop1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Drop1.png&amp;diff=106097"/>
		<updated>2016-12-02T22:40:21Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Drop Review option is available if review is saved but not submitted&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Drop Review option is available if review is saved but not submitted&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106096</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106096"/>
		<updated>2016-12-02T22:38:29Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Requirement 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the '''assignment_controller'''. This method gathers all the information and calls '''edit''' view to display results. We added checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. This threshold value is stored in '''num_reviews''' column of '''Assignment''' table. All these codes are part of '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes to assignments controller. Instructor view looks as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:R1iview.png |frame|upright=0.5|center|Requirement 1 - Instructor View Changes]]&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by '''list''' method of '''Student_review_controller'''. We added a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Topic selection will be disabled in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Stview.png |frame|upright=0.5|center|Requirement 1 - Student View Changes]]&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. '''List.html.erb''' file calls '''/views/student_review/_responses.html.erb''' partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  '''“finished”''' and review is '''“not submitted”'''. &lt;br /&gt;
&lt;br /&gt;
[[File:Drop.png |frame|upright=0.5|center|Requirement 2 - Allow students to drop reviews.]]&lt;br /&gt;
&lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
:Add destroy method to student_review controller. This method should track down the corresponding response map for the topic that needs to be dropped and then delete it.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. We replaced this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' checkbox value is stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We added one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option. This is how instructor view will change after implementation.&lt;br /&gt;
[[File:Iview.png |frame|upright=0.5|center|Requirement 3 - Instructor View Changes]]&lt;br /&gt;
&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We added a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table. If the instructor only selects '''show teammate scores?''' student will be able to see aggregate teammate score as shown below.&lt;br /&gt;
[[File:Sscore.png |frame|upright=0.5|center|Requirement 3 - Show aggregate teammate scores]]&lt;br /&gt;
Students will be able to see only reviews if the instructor selects '''show teammate reviews ?''' during assignment creation.&lt;br /&gt;
[[File:Rstudent.png |frame|upright=0.5|center|Requirement 3 -Show only teammate reviews]]&lt;br /&gt;
Students will be able to see both the score and teammate reviews if the instructors checks both boxes from assignment configuration page.&lt;br /&gt;
&lt;br /&gt;
==Requirement 4==&lt;br /&gt;
===Problem===&lt;br /&gt;
There is no option that lets reviewers see others’ reviews of the same work after they submit their review of that work.  &lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Implement an option that lets reviewers see others’ reviews of the same work, after they submit their review of that work.  This could help reviewers learn from other reviewers of the same work.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This option should be specified in a reasonable way on the Create Assignment page. So we didn’t find any design pattern which can be used as part of requirement 4.&lt;br /&gt;
&lt;br /&gt;
;Instructor view changes:&lt;br /&gt;
:While creating the assignment, instructor should be able to specify if students should be allowed to see reviews done by other students for the same work. Assignment related configurations are handled by '''edit''' method in the '''assignment_controllers'''. This method gathers all the information and calls '''edit''' view to display results.We are planning to add checkbox '''show_other_reviews''' for this selection under '''General''' tab of instructor view. If the instructor selects this checkbox, this feature will be active for the assignment. The checkbox will be added in the &amp;quot;assignments/edit/_general&amp;quot; file since It displays all the elements in '''General''' tab.  '''show_other_reviews'''  will be a hidden form field that stores the value of this checkbox that is finally persisted  in '''assignments''' database.&lt;br /&gt;
&lt;br /&gt;
;Changes to student_response controller and views:&lt;br /&gt;
:The ''View'' link displays  the submitted/in progress reviews  of the student and  is handled by the list action of the StudentReviewController (student_review_controller.rb) and the associated list view is &amp;quot;/views/student_review/list.html.erb&amp;quot; file. We plan to add another link ''View Other Reviews'' to the partial '''_reponses''' view. This link would be visible only if the  '''show_other_reviews''' option has been enabled by the instructor. This link would be next to each of the Review Topics submitted by the student for the current round of that assignment. Clicking this link would be handled by  an action '''other_reviews''' of the '''reponse_controller'''(response_controller.rb). After fetching some necessary query parameters the action method would filter responses submitted by other students  for that topic and round, exclude the response of the logged in student and set some instance variables. These instance variables would be displayed in the new view '''other_reviews''' in (views/response/other_reviews.erb).&lt;br /&gt;
&lt;br /&gt;
==Requirement 5==&lt;br /&gt;
===Problem===&lt;br /&gt;
The existing implementation of expertiza doesn’t provide a student the option to not see review scores or the text feedback. Sometimes a student might just want to see the scores and not the reviews and other times might want to see the reviews and not the scores. The ability to turn off either one is not provided by expertiza.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
When a student signs in there should be an option that allows the students to change the review score settings. The students will be provided with options of choosing either viewing only the review score or viewing only the text feedback or viewing both. &lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student View Scores page changes:&lt;br /&gt;
:Student review scores is displayed in the View Score page and the /views/grades/view_my_score.html.erb file handles this operation. In this view we plan to provide a dropdown list in which the student can select if he/she wants to view scores only, view feedback only or both. The default setting will be to view both. &lt;br /&gt;
;Grades Controller changes:&lt;br /&gt;
:The view_my_score method in the grades controller performs the task of retrieving the scores and feedback from the database and also does various additional functions like calculating average, etc. In this method, based on the option chosen by the student either only scores or text feedback or both will be retreived. If the student does not explicitly specify any option then both the scores and feedback will be fetched.&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Drop.png&amp;diff=106095</id>
		<title>File:Drop.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Drop.png&amp;diff=106095"/>
		<updated>2016-12-02T22:36:15Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: uploaded a new version of &amp;amp;quot;File:Drop.png&amp;amp;quot;: Review can be dropped only when review is not submitted.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Drop.png&amp;diff=106093</id>
		<title>File:Drop.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Drop.png&amp;diff=106093"/>
		<updated>2016-12-02T22:32:21Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: uploaded a new version of &amp;amp;quot;File:Drop.png&amp;amp;quot;: Drop Review Option is available only when the review is not submitted and stage is not 'Finished'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106020</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=106020"/>
		<updated>2016-12-01T18:56:26Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the assignment_controllers. This method gathers all the information and calls '''edit''' view to display results. We are planning to add checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. We need to fill this value in '''num_reviews''' column of Assignment model. All these codes will be added in '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes assignments controller. This is how instructor view looks after implementation.&lt;br /&gt;
&lt;br /&gt;
[[File:R1iview.png |frame|upright=0.5|center|Requirement 1 - Instructor View Changes]]&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. Add a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Disable topic selection in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Stview.png |frame|upright=0.5|center|Requirement 1 - Student View Changes]]&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. '''List.html.erb''' file calls '''/views/student_review/_responses.html.erb''' partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  '''“finished”''' and review is '''“not submitted”'''. &lt;br /&gt;
&lt;br /&gt;
[[File:DropReview.jpeg |frame|upright=0.5|center|Requirement 2 - Allow students to drop reviews.]]&lt;br /&gt;
&lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
:Add destroy method to student_review controller. This method should track down the corresponding response map for the topic that needs to be dropped and then delete it.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. Replace this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' value will be stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We will add one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option. This is how instructor view will change after implementation.&lt;br /&gt;
[[File:Iview.png |frame|upright=0.5|center|Requirement 3 - Instructor View Changes]]&lt;br /&gt;
&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We will add a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table. If the instructor only selects '''show teammate scores?''' student will be able to see aggregate teammate score as shown below.&lt;br /&gt;
[[File:Sscore.png |frame|upright=0.5|center|Requirement 3 - Show aggregate teammate scores]]&lt;br /&gt;
Students will be able to see only reviews if the instructor selects '''show teammate reviews ?''' during assignment creation.&lt;br /&gt;
[[File:Rstudent.png |frame|upright=0.5|center|Requirement 3 -Show only teammate reviews]]&lt;br /&gt;
Students will be able to see both the score and teammate reviews if the instructors checks both boxes from assignment configuration page.&lt;br /&gt;
&lt;br /&gt;
==Requirement 4==&lt;br /&gt;
===Problem===&lt;br /&gt;
There is no option that lets reviewers see others’ reviews of the same work after they submit their review of that work.  &lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Implement an option that lets reviewers see others’ reviews of the same work, after they submit their review of that work.  This could help reviewers learn from other reviewers of the same work.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This option should be specified in a reasonable way on the Create Assignment page. So we didn’t find any design pattern which can be used as part of requirement 4.&lt;br /&gt;
&lt;br /&gt;
;Instructor view changes:&lt;br /&gt;
:While creating the assignment, instructor should be able to specify if students should be allowed to see reviews done by other students for the same work. Assignment related configurations are handled by '''edit''' method in the '''assignment_controllers'''. This method gathers all the information and calls '''edit''' view to display results.We are planning to add checkbox '''show_other_reviews''' for this selection under '''General''' tab of instructor view. If the instructor selects this checkbox, this feature will be active for the assignment. The checkbox will be added in the &amp;quot;assignments/edit/_general&amp;quot; file since It displays all the elements in '''General''' tab.  '''show_other_reviews'''  will be a hidden form field that stores the value of this checkbox that is finally persisted  in '''assignments''' database.&lt;br /&gt;
&lt;br /&gt;
;Changes to student_response controller and views:&lt;br /&gt;
:The ''View'' link displays  the submitted/in progress reviews  of the student and  is handled by the list action of the StudentReviewController (student_review_controller.rb) and the associated list view is &amp;quot;/views/student_review/list.html.erb&amp;quot; file. We plan to add another link ''View Other Reviews'' to the partial '''_reponses''' view. This link would be visible only if the  '''show_other_reviews''' option has been enabled by the instructor. This link would be next to each of the Review Topics submitted by the student for the current round of that assignment. Clicking this link would be handled by  an action '''other_reviews''' of the '''reponse_controller'''(response_controller.rb). After fetching some necessary query parameters the action method would filter responses submitted by other students  for that topic and round, exclude the response of the logged in student and set some instance variables. These instance variables would be displayed in the new view '''other_reviews''' in (views/response/other_reviews.erb).&lt;br /&gt;
&lt;br /&gt;
==Requirement 5==&lt;br /&gt;
===Problem===&lt;br /&gt;
The existing implementation of expertiza doesn’t provide a student the option to not see review scores or the text feedback. Sometimes a student might just want to see the scores and not the reviews and other times might want to see the reviews and not the scores. The ability to turn off either one is not provided by expertiza.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
When a student signs in there should be an option that allows the students to change the review score settings. The students will be provided with options of choosing either viewing only the review score or viewing only the text feedback or viewing both. &lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student View Scores page changes:&lt;br /&gt;
:Student review scores is displayed in the View Score page and the /views/grades/view_my_score.html.erb file handles this operation. In this view we plan to provide a dropdown list in which the student can select if he/she wants to view scores only, view feedback only or both. The default setting will be to view both. &lt;br /&gt;
;Grades Controller changes:&lt;br /&gt;
:The view_my_score method in the grades controller performs the task of retrieving the scores and feedback from the database and also does various additional functions like calculating average, etc. In this method, based on the option chosen by the student either only scores or text feedback or both will be retreived. If the student does not explicitly specify any option then both the scores and feedback will be fetched.&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=105619</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=105619"/>
		<updated>2016-11-14T20:16:45Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Added Image to show drop review functionality&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the assignment_controllers. This method gathers all the information and calls '''edit''' view to display results. We are planning to add checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. We need to fill this value in '''num_reviews''' column of Assignment model. All these codes will be added in '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes assignments controller. This is how instructor view looks after implementation.&lt;br /&gt;
&lt;br /&gt;
[[File:R1iview.png |frame|upright=0.5|center|Requirement 1 - Instructor View Changes]]&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. Add a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Disable topic selection in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Stview.png |frame|upright=0.5|center|Requirement 1 - Student View Changes]]&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. '''List.html.erb''' file calls '''/views/student_review/_responses.html.erb''' partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  '''“finished”''' and review is '''“not submitted”'''. &lt;br /&gt;
&lt;br /&gt;
[[File:DropReview.jpeg |frame|upright=0.5|center|Requirement 2 - Allow students to drop reviews.]]&lt;br /&gt;
&lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
:Add destroy method to student_review controller. This method should delete signed up topic for the user/team from '''signed_up_teams''' table. And also it deletes all the non submitted responses from '''response_maps''' table recorded by that team so far.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. Replace this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' value will be stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We will add one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option. This is how instructor view will change after implementation.&lt;br /&gt;
[[File:Iview.png |frame|upright=0.5|center|Requirement 3 - Instructor View Changes]]&lt;br /&gt;
&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We will add a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table. If the instructor only selects '''show teammate scores?''' student will be able to see aggregate teammate score as shown below.&lt;br /&gt;
[[File:Sscore.png |frame|upright=0.5|center|Requirement 3 - Show aggregate teammate scores]]&lt;br /&gt;
Students will be able to see only reviews if the instructor selects '''show teammate reviews ?''' during assignment creation.&lt;br /&gt;
[[File:Rstudent.png |frame|upright=0.5|center|Requirement 3 -Show only teammate reviews]]&lt;br /&gt;
Students will be able to see both the score and teammate reviews if the instructors checks both boxes from assignment configuration page.&lt;br /&gt;
&lt;br /&gt;
==Requirement 4==&lt;br /&gt;
===Problem===&lt;br /&gt;
There is no option that lets reviewers see others’ reviews of the same work after they submit their review of that work.  &lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Implement an option that lets reviewers see others’ reviews of the same work, after they submit their review of that work.  This could help reviewers learn from other reviewers of the same work.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This option should be specified in a reasonable way on the Create Assignment page. So we didn’t find any design pattern which can be used as part of requirement 4.&lt;br /&gt;
&lt;br /&gt;
;Instructor view changes:&lt;br /&gt;
:While creating the assignment, instructor should be able to specify if students should be allowed to see reviews done by other students for the same work. Assignment related configurations are handled by '''edit''' method in the '''assignment_controllers'''. This method gathers all the information and calls '''edit''' view to display results.We are planning to add checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, this feature will be active for the assignment.All these codes will be added in &amp;quot;assignments/edit/review_strategy&amp;quot; file since It displays all the elements in '''Review strategy''' tab.  Controller will have an instance variable that stores the value of this checkbox that finally is stored in '''assignments''' database.&lt;br /&gt;
&lt;br /&gt;
;Changes to student_review controller and views:&lt;br /&gt;
:Code that displays the student reviews is handled by the list action of the '''StudentReviewController''' (student_review_controller.rb) and the associated list view is &amp;quot;/views/student_review/list.html.erb&amp;quot; file. The '''@metareview_mappings''' refers to the reviews submitted by the student. We will check if the checkbox is checked for the assignment and if yes, will create another instance variable in the list action of the controller that queries reviews submitted for the same work by other students. We will also add a block of code in the list view that renders this data returned by this instance variable.&lt;br /&gt;
&lt;br /&gt;
==Requirement 5==&lt;br /&gt;
===Problem===&lt;br /&gt;
The existing implementation of expertiza doesn’t provide a student the option to not see review scores or the text feedback. Sometimes a student might just want to see the scores and not the reviews and other times might want to see the reviews and not the scores. The ability to turn off either one is not provided by expertiza.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
When a student signs in there should be an option that allows the students to change the review score settings. The students will be provided with options of choosing either viewing only the review score or viewing only the text feedback or viewing both. &lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student View Scores page changes:&lt;br /&gt;
:Student review scores is displayed in the View Score page and the /views/grades/view_my_score.html.erb file handles this operation. In this view we plan to provide a dropdown list in which the student can select if he/she wants to view scores only, view feedback only or both. The default setting will be to view both. &lt;br /&gt;
;Grades Controller changes:&lt;br /&gt;
:The view_my_score method in the grades controller performs the task of retrieving the scores and feedback from the database and also does various additional functions like calculating average, etc. In this method, based on the option chosen by the student either only scores or text feedback or both will be retreived. If the student does not explicitly specify any option then both the scores and feedback will be fetched.&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:DropReview.jpeg&amp;diff=105618</id>
		<title>File:DropReview.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:DropReview.jpeg&amp;diff=105618"/>
		<updated>2016-11-14T20:13:49Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=104949</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=104949"/>
		<updated>2016-11-09T19:30:09Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the assignment_controllers. This method gathers all the information and calls '''edit''' view to display results. We are planning to add checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. We need to fill this value in '''num_reviews''' column of Assignment model. All these codes will be added in '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes assignments controller.&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. Add a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Disable topic selection in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value.&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of “Student_review_controller”. “List.html.erb” file calls ‘/views/student_review/_responses.html.erb’ partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  “finished” and review is “not submitted”. &lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
:Add destroy method to student_review controller. This method should delete signed up topic for the user/team from signed_up_teams table. And also it deletes all the non submitted responses from response_maps table recorded by that team so far.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. Replace this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' value will be stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We will add one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option.&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We will add a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=104948</id>
		<title>CSC/ECE 517 Fall 2016 E1678: Review configuration options</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016_E1678:_Review_configuration_options&amp;diff=104948"/>
		<updated>2016-11-09T19:29:18Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Added design for dropping reviews&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.&lt;br /&gt;
Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.&lt;br /&gt;
&lt;br /&gt;
=Task Description=&lt;br /&gt;
==Requirement 1==&lt;br /&gt;
===Problem===&lt;br /&gt;
Expertiza has two kinds of review strategies, as specified in the Review Strategy tab of assignment creation:&lt;br /&gt;
;Auto-selected: Reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point.&lt;br /&gt;
;Instructor-selected:&lt;br /&gt;
Instructor decides in advance who reviews whom.Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.&lt;br /&gt;
;Instructor view changes &lt;br /&gt;
:While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by '''edit''' method in the assignment_controllers. This method gathers all the information and calls '''edit''' view to display results. We are planning to add checkbox for this selection under '''Review Strategy''' tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. We need to fill this value in '''num_reviews''' column of Assignment model. All these codes will be added in '''assignments/edit/review_strategy''' file since it displays all the elements in '''Review strategy''' tab. Controller stores these values in '''assignments''' database. There are no changes assignments controller.&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of '''Student_review_controller'''. Add a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Disable topic selection in '''views/student_review/_set_dynamic_review.html.erb''' file if the selected number of topics exceeds configured maximum value.&lt;br /&gt;
&lt;br /&gt;
==Requirement 2==&lt;br /&gt;
===Problem===&lt;br /&gt;
Current behaviour of expertiza doesn’t allow the students to drop the reviews. If the student selects some topic and want to drop for some reason, he/she need to contact instructor to drop that review.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Allow students to drop reviews.  When a student has selected a review, there should be a button allowing the student to drop the review. But student should only be able drop a review if the review has not already been submitted.&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
;Student Topic Review page changes:&lt;br /&gt;
:Students review topics page is displayed by list method of “Student_review_controller”. “List.html.erb” file calls ‘/views/student_review/_responses.html.erb’ partial to display already selected topics. Add a delete symbol to the review topics if the assignment stage is not  “finished” and review is “not submitted”. &lt;br /&gt;
;Student_review_controller changes:&lt;br /&gt;
Add destroy method to student_review controller. This method should delete signed up topic for the user/team from signed_up_teams table. And also it deletes all the non submitted responses from response_maps table recorded by that team so far.&lt;br /&gt;
&lt;br /&gt;
==Requirement 3==&lt;br /&gt;
===Problem===&lt;br /&gt;
While creating the assignments instructor can allow students to see their teammate score by selecting '''Show teammate reviews?''' checkbox. But this option shows both the scores and teammate reviews on the '''grades/view_my_score''' page.&lt;br /&gt;
&lt;br /&gt;
===Requirement===&lt;br /&gt;
Instructor should get finer level control to specify these options like '''show only teammate reviews and not scores''', '''show only teammate scores but not reviews''', '''Don’t show anything'''&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
There is already existing code to display and hide the teammate reviews. This requirement doesn’t need any design patterns since we need to modify small portion of the existing code.&lt;br /&gt;
;Instructor view changes&lt;br /&gt;
:General tab of assignment creation has '''&amp;quot;show teammate reviews ?&amp;quot;''' option. Replace this option with two options. '''&amp;quot;show teammate scores ?&amp;quot;''' , '''&amp;quot;show teammate reviews?&amp;quot;'''. '''&amp;quot;Show teammate reviews ?&amp;quot;''' value will be stored in '''show_teammate_reviews''' column in the '''Assignments''' table. We will add one more boolean column '''show_teammate_score''' to hold the selection value of '''&amp;quot;show teammate scores ?&amp;quot;''' option.&lt;br /&gt;
;Changes to students view score page:&lt;br /&gt;
:Code to display teammate reviews and scores is present in the '''/views/grades/view_my_scores''' file. We will add a code to selectively display scores and reviews based on the boolean variables ( show_teammate_reviews, show_teammate_score) present in the Assignments database table&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=104263</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=104263"/>
		<updated>2016-11-04T00:03:13Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* New Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation== &lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
We have chosen the nested if-else approach because there were many scenarios , all of which required us to take different actions.&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
You can view our Pull Request [https://github.com/expertiza/expertiza/pull/794 here].&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103220</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103220"/>
		<updated>2016-10-28T22:47:08Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* New Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation== &lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
You can view our Pull Request [https://github.com/expertiza/expertiza/pull/794 here].&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103148</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103148"/>
		<updated>2016-10-28T22:07:23Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation== &lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
You can view our Pull Request [https://github.com/expertiza/expertiza/pull/789 here].&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103122</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103122"/>
		<updated>2016-10-28T21:51:17Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation== &lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
You can view our Pull Request [https://github.com/expertiza/expertiza/pull/785 here].&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103116</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103116"/>
		<updated>2016-10-28T21:49:44Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* New Implementation [https://github.com/expertiza/expertiza/pull/785] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation== &lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
You can view our Pull Request at [[https://github.com/expertiza/expertiza/pull/785]].&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103103</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103103"/>
		<updated>2016-10-28T21:47:23Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Current Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation &amp;lt;small&amp;gt;&amp;lt;small&amp;gt;[https://github.com/expertiza/expertiza/pull/785]&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;== &lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103097</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103097"/>
		<updated>2016-10-28T21:46:19Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation== [https://github.com/expertiza/expertiza/pull/785]&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103079</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103079"/>
		<updated>2016-10-28T21:40:31Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU. It allows the instructor to create assignments as well as modify existing assignments. Students can signup for topics in an assignment and can submit articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework. It also allows students to review the submissions that have been made other students.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “add” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103065</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103065"/>
		<updated>2016-10-28T21:33:11Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Problem Statement : Allow instructor to sign students up for topics and drop them */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU through which students can submit and peer-review learning objects such as articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework.&lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103053</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103053"/>
		<updated>2016-10-28T21:26:47Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Expertiza */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an Open Source Software project developed by NCSU through which students can submit and peer-review learning objects such as articles, codes, web-sites etc. It is a web application built on Ruby on Rails framework.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement : Allow instructor to sign students up for topics and drop them==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103049</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103049"/>
		<updated>2016-10-28T21:17:47Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. It is an efficient assignment management portal that allows instructor to create new assignments as well modify existing assignments which in turn have multiple topics for which students can sign up for. Students can form teams in Expertiza to work on the assignments and Expertiza also provides functionality to advertise for team members. Students can peer review other submissions and provide feedback about the same. &lt;br /&gt;
&lt;br /&gt;
==Problem Statement : Allow instructor to sign students up for topics and drop them==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;br /&gt;
#[http://expertiza.ncsu.edu/ The live Expertiza website]&lt;br /&gt;
#[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza wiki]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=103044</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=103044"/>
		<updated>2016-10-28T21:14:44Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Writing Assignments 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=103042</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=103042"/>
		<updated>2016-10-28T21:13:58Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: /* Writing Assignments 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1649. Allow instructor to sign students up for topics and drop them]]&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103031</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103031"/>
		<updated>2016-10-28T21:08:58Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Added scope for improvement&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. It is an efficient assignment management portal that allows instructor to create new assignments as well modify existing assignments which in turn have multiple topics for which students can sign up for. Students can form teams in Expertiza to work on the assignments and Expertiza also provides functionality to advertise for team members. Students can peer review other submissions and provide feedback about the same. &lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the Actions column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
[[File:Add_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation.&lt;br /&gt;
[[File:Team_Added.png|centre]]&lt;br /&gt;
&lt;br /&gt;
In case the topic has already been assigned the maximum number of teams, the new team is added to the waitlist.&lt;br /&gt;
[[File:Waitlisting.png|centre]]&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png|centre]]&lt;br /&gt;
&lt;br /&gt;
==Scope for Improvement==&lt;br /&gt;
The system can take in individual users who don't have a team or topic and can add him/her to the existing teams that are enrolled for the topic.&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103015</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=103015"/>
		<updated>2016-10-28T21:00:49Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Added About Expertiza&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
Expertiza is an open source project based on Ruby on Rails framework. It is an efficient assignment management portal that allows instructor to create new assignments as well modify existing assignments which in turn have multiple topics for which students can sign up for. Students can form teams in Expertiza to work on the assignments and Expertiza also provides functionality to advertise for team members. Students can peer review other submissions and provide feedback about the same. &lt;br /&gt;
&lt;br /&gt;
==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Team_Added.png]] [[File:Waitlisting.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the something column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation, as well as the cause in case of a failure.&lt;br /&gt;
image_form_addteam, image_mainpage_success&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
image_form_removeteam, image_mainpage_success&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102994</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102994"/>
		<updated>2016-10-28T20:50:31Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Modified new implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups in a straightforward manner. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic. Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
The system checks that the topic is not being assigned again to the same team that has the topic.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Team_Added.png]] [[File:Waitlisting.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Remove_Team.png]]&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the something column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation, as well as the cause in case of a failure.&lt;br /&gt;
image_form_addteam, image_mainpage_success&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
image_form_removeteam, image_mainpage_success&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102966</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102966"/>
		<updated>2016-10-28T20:44:11Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Added current implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Current Implementation==&lt;br /&gt;
In the current implementation only the students can sign up for topics. Because of this, no higher authority (e.g instructor) can control the signups. If the instructor wishes to assign a particular topic to a team or remove a team from a particular topic then the instructor has to impersonate that student and sign up for the topic.&lt;br /&gt;
Due, to the current implementation, you can neither handle the mistakes in signups , nor make modifications to the existing signups without impersonation.&lt;br /&gt;
&lt;br /&gt;
==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the something column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation, as well as the cause in case of a failure.&lt;br /&gt;
image_form_addteam, image_mainpage_success&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
image_form_removeteam, image_mainpage_success&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102960</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102960"/>
		<updated>2016-10-28T20:41:36Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Added information about new implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic.This functionality has been added in views/sign_up_sheet/_all_actions.html.erb which now has a '+' sign to assign a topic to a particular user. If the instructor clicks on this, then a view will appear which takes in the username of a student to be added.  When the box is filled out and the “search” button clicked, then the indicated user’s team is signed up for the topic. If there are no slots available for that topic then the team will be put on the waiting list. There is also a 'X' sign that will help the instructor to remove a team from a topic.&lt;br /&gt;
&lt;br /&gt;
Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic. The instructor might want to drop a team from the topic if the team doesn't want to proceed with the same topic for the assignment. With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
Functions added to implement functionality :-&lt;br /&gt;
* update_team&lt;br /&gt;
* assign_topic&lt;br /&gt;
* remove_team&lt;br /&gt;
* remove_topic&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:Previous_View.png]][[File:New_View.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Two additional icons have been added in the something column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation, as well as the cause in case of a failure.&lt;br /&gt;
image_form_addteam, image_mainpage_success&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
image_form_removeteam, image_mainpage_success&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102913</id>
		<title>CSC/ECE 517 Fall 2016/oss E1649 KPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/oss_E1649_KPS&amp;diff=102913"/>
		<updated>2016-10-28T20:19:02Z</updated>

		<summary type="html">&lt;p&gt;Ssdeshp5: Edited New Implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==New Implementation==&lt;br /&gt;
The new implementation allows an instructor to assign a particular topic to a team as well as remove a team from a topic. Some of the scenarios where the instructor might wish to add a team would be if the sign up deadline has passed, or if the instructor has decided to update the maximum number of teams allowed to choose a particular topic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the new implementation, Instructors/Teaching Assistants do not need to go through the trouble of impersonating a student in order to add or drop their team from topics.&lt;br /&gt;
&lt;br /&gt;
Changes were made in the following files - &lt;br /&gt;
* controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* views/sign_up_sheet/_all_actions.html.erb&lt;br /&gt;
* views/sign_up_sheet/assign_topic.html.erb&lt;br /&gt;
* views/sign_up_sheet/remove_topic.html.erb&lt;br /&gt;
&lt;br /&gt;
In the sign_up_sheet controller, two major methods were added:&lt;br /&gt;
&lt;br /&gt;
===update_team===&lt;br /&gt;
This method allows an admin user to add a team to a particular topic, based on the username of any member of said team. If the number of teams already assigned to the topic is greater than or equal to the maximum number of teams allowed to pick the topic, the new team is added to the waitlist.&lt;br /&gt;
If a team was previously assigned a topic, and are then added by an admin to a new topic, their association with the old topic is deleted, and the required changes to the waitlist of topics are made as well.&lt;br /&gt;
The system will throw an error if the username of an invalid user is used to search for teams associated with the user.&lt;br /&gt;
&lt;br /&gt;
===remove_team===&lt;br /&gt;
This method allows the admin to remove teams from a given topic, based on the username of a team member. First, a check is done to ensure that the team is indeed associated with the given topic. If this is the case, the entry is deleted from the table sign_up_teams, and the corresponding changes are made to the waitlist as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Functionality==&lt;br /&gt;
&lt;br /&gt;
[[File:New_View.png|centre]]&lt;br /&gt;
&lt;br /&gt;
2 additional icons have been added in the something column. The ‘green plus’ icon allows you to add a team to the current topic.&lt;br /&gt;
Clicking on the icon redirects you to a form, where the admin is required to enter the username of the person whose team he wishes to add.&lt;br /&gt;
&lt;br /&gt;
Clicking submit then redirects back to the original page, with a flash message containing the status of the operation, as well as the cause in case of a failure.&lt;br /&gt;
image_form_addteam, image_mainpage_success&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 'red cross' icon is used to remove a team from the given topic. Clicking on it takes the admin to a form, where he is required to enter the username of one of the team members belonging to the team that is to be removed. Submitting the form redirects the user back to the original page, with a flash message indicating the status of the remove operation.&lt;br /&gt;
&lt;br /&gt;
image_form_removeteam, image_mainpage_success&lt;/div&gt;</summary>
		<author><name>Ssdeshp5</name></author>
	</entry>
</feed>