<?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=Amody</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=Amody"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Amody"/>
	<updated>2026-07-03T16:23:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=124817</id>
		<title>E1934 - Grading Audit Trail</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=124817"/>
		<updated>2019-05-01T14:28:17Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade/comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We created a database called grading_history in the system which stores elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We used MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into the database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create an entry saves into the database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
&lt;br /&gt;
==== The list submission page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[Image: E1869-Screenshot-1.jpg|50]]&lt;br /&gt;
&lt;br /&gt;
==== The review report page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Grade history for a given team====&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
1. Test if SubmissionGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/grades_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
2. Test if ReviewGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/review_mapping_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
3. Test if GradeHistory.where is being called when grading history button is clicked.&lt;br /&gt;
   spec/controllers/grading_histories_controller_test.rb&lt;br /&gt;
&lt;br /&gt;
Feature Testing:&lt;br /&gt;
&lt;br /&gt;
1. Test if the grading history is visible and shown in chronological order&lt;br /&gt;
   spec/features/grade_histories_spec.rb&lt;br /&gt;
   spec/features/helpers/grade_histories_helper.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
==Files Modified==&lt;br /&gt;
*app/controllers/grades_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
     Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
     Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/reports/_review_report.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files Added==&lt;br /&gt;
&lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
     Calls the grading history view after validating Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
     This is a view for grading audit trail, it will display all grading histories of a submission/review&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*spec/features/grade_histories_spec.rb&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
     Feature test to check if the grades appear in chronological order&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*spec/features/helpers/grade_histories_helper.rb&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
     Helper file to facilitate the above mentioned feature test.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/E1869_GRADING_AUDIT_TRAIL Previous Project Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yyxX_kRYxLc Screencast]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=124022</id>
		<title>E1934 - Grading Audit Trail</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=124022"/>
		<updated>2019-04-13T02:27:54Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade/comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Previous Work'''==&lt;br /&gt;
The team that worked previously was able to achieve the task fully. They were able to create a record when the grade of a student was changed. It also recorded a timestamp with it. There were able to complete all the assigned functionalities. The issue that was found is that any TA, an instructor was able to change the grade of a student which should not have been the case. &lt;br /&gt;
&lt;br /&gt;
We plan to overcome this by adding a method which checks whether the logged in instructor/TA is of the same course and then allow him to carry out the tasks. &lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We plan to create a database called grading_history in the system which stores elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into the database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We will also need to modify grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create an entry saves into the database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
&lt;br /&gt;
==== The list submission page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[Image: E1869-Screenshot-1.jpg|50]]&lt;br /&gt;
&lt;br /&gt;
==== The review report page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Grade history for a given team====&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
1. Test if SubmissionGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/grades_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
2. Test if ReviewGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/review_mapping_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
3. Test if GradeHistory.where is being called when grading history button is clicked.&lt;br /&gt;
   spec/controllers/grading_histories_controller_test.rb&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
==Files to be Modified==&lt;br /&gt;
*app/controllers/grades_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
     Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
     Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files to be Added==&lt;br /&gt;
&lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
     Calls the grading history view after validating Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
     This is a view for grading audit trail, it will display all grading histories of a submission/review&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/E1869_GRADING_AUDIT_TRAIL Previous Project Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1934-Screenshot-1.png&amp;diff=124019</id>
		<title>File:E1934-Screenshot-1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1934-Screenshot-1.png&amp;diff=124019"/>
		<updated>2019-04-13T02:19:09Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019&amp;diff=123605</id>
		<title>CSC/ECE 517 Spring 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019&amp;diff=123605"/>
		<updated>2019-04-08T15:54:27Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[CSC/ECE 517 Spring 2019 - Project E1905. Refactor questionnaires_controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1916. Fix Code Climate issues in controllers with names beginning with A through N]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1906. Refactor stage deadlines in Assignment.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project M1901 Implement missing WebAudio automation support]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1917. Fix Code Climate issues in controllers with names beginning with P through Z]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1921. Write tests for popup controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - M1902 Refactor bluetooth support for better maintainability]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - E1922. Write tests for assessment360 controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1907 Refactor response controller]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_Project_E1903._Create_quiz_questionnaires_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_Project_E1913. Refactor_review_mapping_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_E1919_CodeClimate_Issues]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_Project_E1912. Export_Tagged_Comments]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019/E1927_Let_Course_Staff_as_Well_as_Students_Do_Reviews]]&lt;br /&gt;
*[[E1911_Refactor_Criterion]]&lt;br /&gt;
*[[E1934 - Grading Audit Trail]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1925. Refactor E1858. Github metrics integration]]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=123603</id>
		<title>E1934 - Grading Audit Trail</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=123603"/>
		<updated>2019-04-08T15:24:19Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade/comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We plan to create a database called grading_history in the system which stores elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into the database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We will also need to modify grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create an entry saves into the database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
&lt;br /&gt;
==== The list submission page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[Image: E1869-Screenshot-1.jpg|50]]&lt;br /&gt;
&lt;br /&gt;
==== The review report page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Grade history for a given team====&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
1. Test if SubmissionGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/grades_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
2. Test if ReviewGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/review_mapping_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
3. Test if GradeHistory.where is being called when grading history button is clicked.&lt;br /&gt;
   spec/controllers/grading_histories_controller_test.rb&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
==Files to be Modified==&lt;br /&gt;
*app/controllers/grades_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
     Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
     Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files to be Added==&lt;br /&gt;
&lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
     Calls the grading history view after validaing Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
     This is a view for grading audit trail, it will display all grading histories of a submission/review&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/E1869_GRADING_AUDIT_TRAIL Previous Project Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=123602</id>
		<title>E1934 - Grading Audit Trail</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1934_-_Grading_Audit_Trail&amp;diff=123602"/>
		<updated>2019-04-08T15:23:41Z</updated>

		<summary type="html">&lt;p&gt;Amody: Created page with &amp;quot;=='''Introduction'''==  ===Problem Statement=== After an instructor gave a grade to an assignment, there is no way to track who gave the grade. A grading audit trail must be crea...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
After an instructor gave a grade to an assignment, there is no way to track who gave the grade.&lt;br /&gt;
A grading audit trail must be created and the following information needs to be stored: &lt;br /&gt;
:1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done. &lt;br /&gt;
:2. Comments previously provided by other instructors must also be preserved.&lt;br /&gt;
&lt;br /&gt;
This information needs to be stored every time an instructor edits a grade/comment and clicks the save button.&lt;br /&gt;
&lt;br /&gt;
Currently, there are two places need to add grading audit trail: &lt;br /&gt;
:1. '''Review grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View Review Report&lt;br /&gt;
:2. '''Submission grade''': Log in as instructor -&amp;gt; Manage -&amp;gt; Assignments -&amp;gt; View submissions&lt;br /&gt;
&lt;br /&gt;
=='''Proposed Solution'''==&lt;br /&gt;
&lt;br /&gt;
===Design===&lt;br /&gt;
We plan to create a database called grading_history in the system which stores elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
&lt;br /&gt;
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''.&lt;br /&gt;
&lt;br /&gt;
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp.&lt;br /&gt;
:Controller: grading_history_controller.rb. Saves a new entry into the database every time a review grade or submission grade is saved&lt;br /&gt;
:View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system.&lt;br /&gt;
&lt;br /&gt;
We will also need to modify grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create an entry saves into the database.&lt;br /&gt;
&lt;br /&gt;
===Expected View===&lt;br /&gt;
&lt;br /&gt;
==== The list submission page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[Image: E1869-Screenshot-1.jpg|50]]&lt;br /&gt;
&lt;br /&gt;
==== The review report page with the new &amp;quot;grade history&amp;quot; option====&lt;br /&gt;
[[File:E1869-Screenshot-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Grade history for a given team====&lt;br /&gt;
[[File:E1869-Screenshot-3.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Diagram===&lt;br /&gt;
[[File:E1869_Grading_Audit_Trails_UML.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Testing Plan'''==&lt;br /&gt;
&lt;br /&gt;
Functional testing:&lt;br /&gt;
&lt;br /&gt;
1. Test if SubmissionGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/grades_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
2. Test if ReviewGradeHistory.create is being called when a submission grade is changed. &lt;br /&gt;
   spec/controllers/review_mapping_controller_spec.rb &lt;br /&gt;
&lt;br /&gt;
3. Test if GradeHistory.where is being called when grading history button is clicked.&lt;br /&gt;
   spec/controllers/grading_histories_controller_test.rb&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
==Files to be Modified==&lt;br /&gt;
*app/controllers/grades_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
     Creates a Grading History Record for every Submission grade edited by the instructor for a Team. &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/controllers/review_mapping_controller.rb &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
     Creates a Grading History Record for every Review grade edited by the instructor for a Student.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/assignments/list_submissions.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb &lt;br /&gt;
'''&lt;br /&gt;
     Add code to support view changes for Grade Record&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
==Files to be Added==&lt;br /&gt;
&lt;br /&gt;
*app/controllers/grading_histories_controller.rb&lt;br /&gt;
'''&lt;br /&gt;
     Calls the grading history view after validaing Submission and Review Type.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model for Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/review_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Review Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/models/submission_grading_history.rb &lt;br /&gt;
'''&lt;br /&gt;
     Model containing specifics of Submission Grading History. Inherits Grading History.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
*app/views/grading_history/index_html.erb&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
     This is a view for grading audit trail, it will display all grading histories of a submission/review&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=='''Reference'''==&lt;br /&gt;
[https://expertiza.ncsu.edu/ Expertiza]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/E1869_GRADING_AUDIT_TRAIL]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Main_Page Expertiza_wiki]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation Expertiza Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza Expertiza Github]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019_-_Project_E1912._Export_Tagged_Comments&amp;diff=123176</id>
		<title>CSC/ECE 517 Spring 2019 - Project E1912. Export Tagged Comments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019_-_Project_E1912._Export_Tagged_Comments&amp;diff=123176"/>
		<updated>2019-04-02T23:52:53Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Code and Snapshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
The workflow diagram of our implementation is shown here: &lt;br /&gt;
&lt;br /&gt;
[[File:E1912flow.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screencast==&lt;br /&gt;
# [https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r Here] is the link to a screen recording on how to access the functionality and export the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data. The attributes named variable stores what all data is needed from their respective table and only that data is dumped into CSV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
The code was written for adding functionality such that selected students data can be dumped into a CSV file. A valid test case for this would be if nothing is selected and still the export button was clicked it would not dump any data into CSV file. The data is well structured so there would not be any scenario that a NULL data will be dumped. Every column will have its value in every row.&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The functionality for our project was to implement exporting of tagged comments from the Expertiza system. For this, we will approach the project by using the delegation pattern to add exporting capabilities to the export file controller for exporting tags.&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019_-_Project_E1912._Export_Tagged_Comments&amp;diff=123175</id>
		<title>CSC/ECE 517 Spring 2019 - Project E1912. Export Tagged Comments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019_-_Project_E1912._Export_Tagged_Comments&amp;diff=123175"/>
		<updated>2019-04-02T23:52:02Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
The workflow diagram of our implementation is shown here: &lt;br /&gt;
&lt;br /&gt;
[[File:E1912flow.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screencast==&lt;br /&gt;
# [https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r Here] is the link to a screen recording on how to access the functionality and export the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
The code was written for adding functionality such that selected students data can be dumped into a CSV file. A valid test case for this would be if nothing is selected and still the export button was clicked it would not dump any data into CSV file. The data is well structured so there would not be any scenario that a NULL data will be dumped. Every column will have its value in every row.&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The functionality for our project was to implement exporting of tagged comments from the Expertiza system. For this, we will approach the project by using the delegation pattern to add exporting capabilities to the export file controller for exporting tags.&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019&amp;diff=122942</id>
		<title>CSC/ECE 517 Spring 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019&amp;diff=122942"/>
		<updated>2019-04-02T00:13:45Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[CSC/ECE 517 Spring 2019 - Project E1905. Refactor questionnaires_controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1916. Fix Code Climate issues in controllers with names beginning with A through N]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1906. Refactor stage deadlines in Assignment.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project M1901 Implement missing WebAudio automation support]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1917. Fix Code Climate issues in controllers with names beginning with P through Z]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1921. Write tests for popup controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - M1902 Refactor bluetooth support for better maintainability]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - E1922. Write tests for assessment360 controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2019 - Project E1907 Refactor response controller]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_Project_E1903._Create_quiz_questionnaires_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_Project_E1913. Refactor_review_mapping_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_E1919_CodeClimate_Issues]]&lt;br /&gt;
*[[CSC/ECE_517_Spring_2019_-_Project_E1912. Export_Tagged_Comments]]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019_-_Project_E1912._Export_Tagged_Comments&amp;diff=122938</id>
		<title>CSC/ECE 517 Spring 2019 - Project E1912. Export Tagged Comments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2019_-_Project_E1912._Export_Tagged_Comments&amp;diff=122938"/>
		<updated>2019-04-02T00:11:07Z</updated>

		<summary type="html">&lt;p&gt;Amody: Created page with &amp;quot;==Introduction== ===About Expertiza=== Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CS...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
The workflow diagram of our implementation is shown here: &lt;br /&gt;
&lt;br /&gt;
[[File:E1912flow.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Record==&lt;br /&gt;
# [https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r Here] is the link to a screen recording on how to access the functionality and export the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The functionality for our project was to implement exporting of tagged comments from the Expertiza system. For this, we will approach the project by using the delegation pattern to add exporting capabilities to the export file controller for exporting tags.&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122932</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122932"/>
		<updated>2019-04-01T23:55:17Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Design Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Record==&lt;br /&gt;
# [https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r Here] is the link to a screen recording on how to access the functionality and export the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The functionality for our project was to implement exporting of tagged comments from the Expertiza system. For this, we will approach the project by using the delegation pattern to add exporting capabilities to the export file controller for exporting tags.&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122931</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122931"/>
		<updated>2019-04-01T23:44:57Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Record==&lt;br /&gt;
# [https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r Here] is the link to a screen recording on how to access the functionality and export the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
Delegation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122922</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122922"/>
		<updated>2019-04-01T22:54:08Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Screen Record */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Record==&lt;br /&gt;
# [https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r Here] is the link to a screen recording on how to access the functionality and export the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122919</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122919"/>
		<updated>2019-04-01T22:51:45Z</updated>

		<summary type="html">&lt;p&gt;Amody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Record==&lt;br /&gt;
[https://drive.google.com/open?id=1B65_N3bWwPlSyiXMhXzXypKvKLN09g0r] Here is the link to a screen recording on how to access the functionality. &lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122910</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122910"/>
		<updated>2019-04-01T22:42:34Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of the same view ''_answer_tagging_report.html.erb ''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122909</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122909"/>
		<updated>2019-04-01T22:41:46Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Definition, Demo code and snapshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of same view ''_answer_tagging_report.html.erb ''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Code and Snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122907</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122907"/>
		<updated>2019-04-01T22:35:48Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of same view ''_answer_tagging_report.html.erb ''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each&lt;br /&gt;
 tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122887</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122887"/>
		<updated>2019-04-01T22:08:45Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of same view ''_answer_tagging_report.html.erb ''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag(export_tags, method: 'put',:id =&amp;gt; 'tst') do %&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tab-summary&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4  align=&amp;quot;center&amp;quot;&amp;gt;Summary for each user&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;table class=&amp;quot;table table-striped sortable&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Username&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;Percentage of tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# tags not done&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th class=&amp;quot;sorter-true&amp;quot;&amp;gt;# possible tags to do&amp;lt;img src='/assets/info.png' title='Number of answers that fulfil the prerequisite setup for each tags (Answer of certain question types and has a length of greater than the threshold).'/&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Tags export&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;% @user_tagging_report.each do |key, val| %&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.name(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.user.fullname(session[:ip]) %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.percentage.to_s %&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_not_tagged.to_s %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= val.no_tagable %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;%= check_box_tag 'names[]', val.user.name(session[:ip]), true %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;% end %&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;%= submit_tag &amp;quot;Export&amp;quot;,:value =&amp;gt; 'Export' ,:form =&amp;gt; 'tst',method: 'put' %&amp;gt;&lt;br /&gt;
   &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122886</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122886"/>
		<updated>2019-04-01T22:07:26Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Definition, Demo code and snapshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of same view ''_answer_tagging_report.html.erb ''.&lt;br /&gt;
&lt;br /&gt;
[[File:E1912Code2.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def export_tags&lt;br /&gt;
    @user_ids = User.where(&amp;quot;name IN (?)&amp;quot;, params[:names])&lt;br /&gt;
    @students = AnswerTag.select('answers.*, answer_tags.*').joins(:answer).where(&amp;quot;answer_tags.answer_id = answers.id and answer_tags.user_id IN (?)&amp;quot;, @user_ids.pluck(:id))&lt;br /&gt;
    attributes = %w[user_id tag_prompt_deployment_id comments value]&lt;br /&gt;
&lt;br /&gt;
    csv_data = CSV.generate(col_sep: &amp;quot;,&amp;quot;) do |csv|&lt;br /&gt;
      csv &amp;lt;&amp;lt; attributes&lt;br /&gt;
      @students.each do |item|&lt;br /&gt;
        csv &amp;lt;&amp;lt; item.attributes.values_at(*attributes)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    filename = &amp;quot;Tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    send_data csv_data,&lt;br /&gt;
              type: 'text/csv; charset=iso-8859-1; header=present',&lt;br /&gt;
              disposition: &amp;quot;attachment; filename=#{filename}.csv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
# [https://github.com/expertiza/expertiza Github Repository for Expertiza]&lt;br /&gt;
# [http://wiki.expertiza.ncsu.edu/index.php/Documentation_on_Database_Tables Expertiza Documentation on Database Tables]&lt;br /&gt;
# [https://guides.rubyonrails.org/api_app.html Rails Guide Documentation]&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122805</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122805"/>
		<updated>2019-04-01T17:28:53Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Definition, Demo code and snapshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of same view ''_answer_tagging_report.html.erb ''.&lt;br /&gt;
&lt;br /&gt;
[[File:E1912Code2.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
We have written a method inside the ''export_file_controller.rb''. Once this method is called it queries on the ''name'' array passed from the view and exports the CSV file with the required data.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Code3.png]]&lt;br /&gt;
&lt;br /&gt;
The output file has '''user_id, tag_prompt_deployment_id, comments and value'''. We can see that some comments are repeated it is because every review that is received has at least 1 tag for it. Hence we see the repetition. The value column has -1, 0 and 1 as No, not answered and Yes meaning respectively.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912csv.png]]&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
The task accomplished is of added a checkbox in the view so that students can be selected as required. The following are a few which were identified as part of this project.&lt;br /&gt;
* Adding a javascript function in view so that it stores the username of every student which is selected in an array.&lt;br /&gt;
* Defining a query which will extract the data based on the usernames of students from USERS, ANSWERS and ANSWER_TAGS.&lt;br /&gt;
* Writing a method in report_formart_helper.rb that exports the csv file.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122799</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122799"/>
		<updated>2019-04-01T17:19:39Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
We have added a default select all checkbox under ''Report tags done by each user'' which enables student selection for exporting tags in the CSV file. We have added a column for the checkbox and a button named '''Export''' which on click generates the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912Export.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the snippet of same view ''_answer_tagging_report.html.erb ''.&lt;br /&gt;
&lt;br /&gt;
[[File:E1912Code2.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
The task accomplished is of added a checkbox in the view so that students can be selected as required. The following are a few which were identified as part of this project.&lt;br /&gt;
* Adding a javascript function in view so that it stores the username of every student which is selected in an array.&lt;br /&gt;
* Defining a query which will extract the data based on the usernames of students from USERS, ANSWERS and ANSWER_TAGS.&lt;br /&gt;
* Writing a method in report_formart_helper.rb that exports the csv file.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122787</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122787"/>
		<updated>2019-04-01T16:57:24Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Tasks Identified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In _answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
The task accomplished is of added a checkbox in the view so that students can be selected as required. The following are a few which were identified as part of this project.&lt;br /&gt;
* Adding a javascript function in view so that it stores the username of every student which is selected in an array.&lt;br /&gt;
* Defining a query which will extract the data based on the usernames of students from USERS, ANSWERS and ANSWER_TAGS.&lt;br /&gt;
* Writing a method in report_formart_helper.rb that exports the csv file.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122785</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122785"/>
		<updated>2019-04-01T16:55:55Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Tasks Identified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code hasbeen added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button is added for exporting the student's tagged values&lt;br /&gt;
* A checkbox for each row has been added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method is written in export_file_controller.rb controller named export_tags that exports the CSV file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
The task accomplished is of added a checkbox in the view so that students can be selected as required. The following are a few which were identified as part of this project.&lt;br /&gt;
* Adding a javascript function in view so that it stores the username of every student which is selected in an array.&lt;br /&gt;
* Defining a query which will extract the data based on the usernames of students from USERS, ANSWERS and ANSWER_TAGS.&lt;br /&gt;
* Writing a method in report_formart_helper.rb that exports the csv file.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122062</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122062"/>
		<updated>2019-03-25T14:37:07Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Future work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
The task accomplished is of added a checkbox in the view so that students can be selected as required. The following are a few which were identified as part of this project.&lt;br /&gt;
* Adding a javascript function in view so that it stores the username of every student which is selected in an array.&lt;br /&gt;
* Defining a query which will extract the data based on the usernames of students from USERS, ANSWERS and ANSWER_TAGS.&lt;br /&gt;
* Writing a method in report_formart_helper.rb that exports the csv file.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122060</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122060"/>
		<updated>2019-03-25T14:30:31Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Teammates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122059</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122059"/>
		<updated>2019-03-25T14:30:16Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Definition, Demo code and snapshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122058</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122058"/>
		<updated>2019-03-25T14:29:56Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Teammates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
==Teammates==&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122057</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122057"/>
		<updated>2019-03-25T14:29:41Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Teammates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
* Aishwarya Subramanian (asubram7)&lt;br /&gt;
* Dyuti De (dde)&lt;br /&gt;
* Ankit Mody (amody)&lt;br /&gt;
&lt;br /&gt;
Mentor - Harsh Agrawal&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122056</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122056"/>
		<updated>2019-03-25T14:27:54Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122055</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122055"/>
		<updated>2019-03-25T14:25:52Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Tasks Identified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task following files were identified where the code will be added.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported(By default all will be selected).&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122054</id>
		<title>E1912 Export Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=E1912_Export_Tags&amp;diff=122054"/>
		<updated>2019-03-25T14:23:36Z</updated>

		<summary type="html">&lt;p&gt;Amody: /* Motivation - (drawback and solution) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
===About Expertiza===&lt;br /&gt;
Expertiza is an Open Source Web Application Software managed by National Science Foundation. Expertiza is used by many courses including CSC 517 for assignment management. It has functionalities such as peer reviews, teammate reviews and tagging reviews in which students can provide feedback on other's work which helps peer in better developing the project. &lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
The Expertiza team currently had to manually fire queries in the database in order to get the tag submissions made by an individual user(student) on each review for a particular assignment. In this way, the team got the data from the entire class, which was then used to feed the Machine Learning algorithms. But many times it used to happen that students made random tags and the ML algorithm was not able to make good predictions out of it, hence in order to solve this issue a new idea was proposed as to select on the students which did not create outliers in the predictions and hence, therefore, it is a good proposal.&lt;br /&gt;
&lt;br /&gt;
===Tasks Identified===&lt;br /&gt;
In order to perform this task changes following tasks were identified.&lt;br /&gt;
* In answer_tagging_report.html.erb view, a button will be added for export&lt;br /&gt;
* A checkbox for each row will be added in order to select students whose tags are to be exported.&lt;br /&gt;
* A method should be added in report_formart_helper.rb helper that would export the csv file. &lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
Currently, we have added a default select all checkbox which enables in generating the csv of all students under the assignment. &lt;br /&gt;
[[File:Eb1912cb.png]]&lt;br /&gt;
&lt;br /&gt;
In the section of Report tags done by all user, we have added a column for the check box. Below is the snippet of same.&lt;br /&gt;
&lt;br /&gt;
[[File:Eb1912code1.png]]&lt;br /&gt;
&lt;br /&gt;
==Definition, Demo code and snapshots==&lt;br /&gt;
&lt;br /&gt;
==Teammates==&lt;br /&gt;
&lt;br /&gt;
==Future work==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Amody</name></author>
	</entry>
</feed>