<?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=Bjyounce</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=Bjyounce"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Bjyounce"/>
	<updated>2026-08-17T11:00:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117118</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117118"/>
		<updated>2018-04-28T22:52:01Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Optional additional improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
In this design doc, since it's clearer to explain how we are going to improve the UI design by proposing each idea with the corresponding design's current image, we aren't going to separate problems from goals because you, as a reader, will need to scroll up and down to match problems to their corresponding goals.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
== File Changes ==&lt;br /&gt;
* app/helpers/review_mapping_helper.rb for Add metrics charts&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
* config/application.rb&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
First of all, we calculate the average volume in each round and the overall average volume of all rounds.&lt;br /&gt;
[[File:chart_data_organize.png]]&lt;br /&gt;
&lt;br /&gt;
Next, we organize all the data and their corresponding label array for the chart drawing method later.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_data_array.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, we apply an extension called chartjs-ror to help us draw horizontal bar charts. Most of the codes in this method relate to the configuration setting of the chart.&lt;br /&gt;
[[File:metric_chart_config_code.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_config_code1.png]]&lt;br /&gt;
&lt;br /&gt;
The result of our improvement doesn't have its value explicitly showed because we want to save more space and let the chart be simpler to read. Yet, you can let your mouse points the bar, then the value will show up as seen in the figures below.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_no_value.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_value.png]]&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
[[File:AlterColors2018.png]]&lt;br /&gt;
&lt;br /&gt;
Review Report sorted by metrics:&lt;br /&gt;
&lt;br /&gt;
[[File:SortByMetr2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
&lt;br /&gt;
Fixing the alternating background color involved removing the existing backgrounding mechanism in _review_report.html.erb and applying the &amp;quot;zebra&amp;quot; widget to the existing java tablesorter table.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Defining the colors for odd and even rows was just a style fix in the table_sorter.scss file.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background_css.PNG]] &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both of these changes yields a table that updates the backgrounds of each element appropriately, even when the table is sorted.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Table_alt_bg.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add new color to Team reviewed ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of teams reviewed are color-coded, to make it easier for instructors to see common issues. &lt;br /&gt;
For example, if a student has not completed a review for a team in every round, the team name is colored red. If a student has completed a review for a team either in every round or not, and has not received a grade, the team name is colored blue. A brown-colored team name indicates that the review grade has been assigned. However, the current color coding scheme assigns a blue color to a team name as long as there is A review. Thus, there is no distinction between the cases when a team's work has been reviewed in the previous round, but the team has not resubmitted their work in the following round, and if the team has resubmitted a work in a round, but there is no review in that round. That is, students may be marked explicitly as having done no work when they have nothing to review in the latest round. Thus, the plan is to add new colors to refactor the case of assigning blue color to team names.&lt;br /&gt;
&lt;br /&gt;
[[File:TeamReviewed2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* config/application.rb&lt;br /&gt;
* app/assets/stylesheets/redbox.scss&lt;br /&gt;
&lt;br /&gt;
Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a green color, otherwise, purple color.&lt;br /&gt;
&lt;br /&gt;
To make new colors assignment work, firstly, we needed to define both new colors in app/assets/stylesheets/redbox.scss:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#green a{&lt;br /&gt;
	color: #00aa00;&lt;br /&gt;
}&lt;br /&gt;
#green{&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple a{&lt;br /&gt;
  color: #FF00FF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple{&lt;br /&gt;
  height:auto;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual implementation of refining new logic of color assignment and its supporting methods was added to app/helpers/review_mapping_helper.rb. For this project we had to extend the logic of Response.exists?(map_id: response_map.id) condition:&lt;br /&gt;
&lt;br /&gt;
- assign 'blue' to team reviewed only if the review grade is not assigned, and there is a review for each round;&lt;br /&gt;
&lt;br /&gt;
- assign 'purple' if a team submitted their work within a round, but a student did not review it within that round, or if the team submitted a link in the previous round, and the link was updated within the following round;&lt;br /&gt;
&lt;br /&gt;
- assign 'green' if there is no work to review within a round, or if the team submitted a link in the previous round, and the link was NOT updated within the following round;&lt;br /&gt;
&lt;br /&gt;
Right now the method supports only wiki links, and can return their last-modified date. In the future, it can be extended to support github links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if Response.exists?(map_id: response_map.id)&lt;br /&gt;
      if !response_map.try(:reviewer).try(:review_grade).nil?&lt;br /&gt;
        'brown'&lt;br /&gt;
      elsif response_for_each_round?(response_map)&lt;br /&gt;
        'blue'&lt;br /&gt;
      else&lt;br /&gt;
        color = []&lt;br /&gt;
        (1..@assignment.num_review_rounds).each do |round|&lt;br /&gt;
          if submitted_within_round?(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            color.push 'purple'&lt;br /&gt;
          else&lt;br /&gt;
            link = submitted_hyperlink(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            if link.nil? or (link !~ /https*:\/\/wiki(.*)/) # can be extended for github links in future&lt;br /&gt;
              color.push 'green'&lt;br /&gt;
            else&lt;br /&gt;
              link_updated_at = get_link_updated_at(link)&lt;br /&gt;
              color.push link_updated_since_last?(round, assignment_due_dates, link_updated_at) ? 'purple' : 'green'&lt;br /&gt;
            end&lt;br /&gt;
          end&lt;br /&gt;
        end&lt;br /&gt;
        color[-1]&lt;br /&gt;
      end&lt;br /&gt;
    else&lt;br /&gt;
      'red'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of new methods definitions, such as: &lt;br /&gt;
* response_for_each_round? &lt;br /&gt;
* submitted_within_round?&lt;br /&gt;
* submitted_hyperlink&lt;br /&gt;
* get_link_updated_at&lt;br /&gt;
* link_updated_since_last?&lt;br /&gt;
can be found in app/helpers/review_mapping_helper.rb.&lt;br /&gt;
&lt;br /&gt;
To support the mechanism of getting last-modified header, we had to add &amp;quot;require 'net/https'&amp;quot; to config/application.rb.&lt;br /&gt;
&lt;br /&gt;
The following screen-shot represents a case when a team submitted their work within a round, but a student did not review it within that round:&lt;br /&gt;
&lt;br /&gt;
[[File:Review_wasnt_subm.png]]&lt;br /&gt;
&lt;br /&gt;
This screen-shot represents a case when a team submitted a link in the last round, and the link was NOT updated within the next round. Thus, to avoid penalizing a student for no submitted review, the team name is assigned green color:&lt;br /&gt;
 &lt;br /&gt;
[[File:No_work_to_review.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To reflect new color assignments, we updated the legend from  app/views/review_mapping/_review_report.html.erb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; **In &amp;quot;Team reviewed&amp;quot; column, text in &amp;lt;i style=&amp;quot;color:red&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt; indicates that the review is not yet completed;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:blue&amp;quot;&amp;gt;blue&amp;lt;/i&amp;gt; indicates that the review grade is not assigned or updated;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color: #986633&amp;quot;&amp;gt;brown&amp;lt;/i&amp;gt; indicates that the review grade has been assigned;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:green&amp;quot;&amp;gt;green&amp;lt;/i&amp;gt; indicates that there is no work to review;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:purple&amp;quot;&amp;gt;purple&amp;lt;/i&amp;gt; indicates that there is no review for a team's work&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the updated legend: &lt;br /&gt;
&lt;br /&gt;
[[File:New_legend.png]]&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:NoHeader_2018.png]]&lt;br /&gt;
&lt;br /&gt;
* collapse (fix whitespace where possible)&lt;br /&gt;
* add reviewers name to easily tell who's review you are looking at, as well as course and assignment this relates to&lt;br /&gt;
* fix round capitalization and add space between word round and the round number&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
* Most changes were front end, made to the view_review_scores_popup&lt;br /&gt;
&lt;br /&gt;
[[File:HeaderScreenshot01.png]]&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span.png]]&lt;br /&gt;
&lt;br /&gt;
* Add colspan attribute which would allow the question to span the entire column which would then allow the name  column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
&lt;br /&gt;
* As mentioned, adding the colspan=3 attribute allowed the question to span the entire column. This was a purely client-side change.&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span_Sol.png]]&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
&lt;br /&gt;
[[File:Check_Question.png]]&lt;br /&gt;
&lt;br /&gt;
* Replace individual team members name with just the team name&lt;br /&gt;
* Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
* Questions should be in a column that spans the width of the table. &lt;br /&gt;
* The team names that the reviewer reviewed should be in the following row separated into columns. &lt;br /&gt;
* The index in the table will have a check if the question was answered with a check and an X if answered otherwise. Each team will be represented as a column with its answer, check or X image, underneath.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
Fixing this involved mostly html changes. Representing the team names instead of individual names was simply using the team attribute instead of the individual's name. Having questions span the entire table involved adding colspan attributes where necessary. Deleting the comments column for as well as representing each team and their answers in columns involved nesting a table into the existing table based on the question type. Representing the checkbox questions as pictures of a check and an X was as easy as showing an image based on the type of questions.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
All of the above changes resulted in a checkbox section that looks like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
&lt;br /&gt;
[[File:AdditionalComments.png]]&lt;br /&gt;
&lt;br /&gt;
* Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
&lt;br /&gt;
* Several front-end changes result in a cleaner Additional Comments section which saves additional space by adding the Reviewer to a new column&lt;br /&gt;
&lt;br /&gt;
[[File:AdditionalComments_Sol.png]]&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
* Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't changed.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
This project would be manually tested since it's all about UI improvement. To show that it's fully tested, we will record the manual tests for each goal we plan to achieve and of course, it will include audio and video. The video would be posted on Youtube so that it's easy for everyone to watch.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== User Report Page ===&lt;br /&gt;
Another piece of low hanging fruit that we decided to tackle was the User report page, which shows the response for an individual review instead of the summary of all of the reviews done. You get to this page by clicking on a team name in the &amp;quot;Team Reviewed&amp;quot; column of the Review Report table(shown above). The edits made on this page where reflective of the edits made on the summary page to enure consistent styles between the two different types of reviewing reviews.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
 * app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
The fixes to this page involved adding colspan's and adjusting what is displayed in score column based on whether the question is a checkbox question or not.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The changes to the code above leads to a following table:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/bawagne2/expertiza Our project Git Repo]&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:AdditionalComments_Sol.png&amp;diff=117117</id>
		<title>File:AdditionalComments Sol.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:AdditionalComments_Sol.png&amp;diff=117117"/>
		<updated>2018-04-28T22:50:59Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117116</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117116"/>
		<updated>2018-04-28T22:50:37Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Additional comments spanning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
In this design doc, since it's clearer to explain how we are going to improve the UI design by proposing each idea with the corresponding design's current image, we aren't going to separate problems from goals because you, as a reader, will need to scroll up and down to match problems to their corresponding goals.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
== File Changes ==&lt;br /&gt;
* app/helpers/review_mapping_helper.rb for Add metrics charts&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
* config/application.rb&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
First of all, we calculate the average volume in each round and the overall average volume of all rounds.&lt;br /&gt;
[[File:chart_data_organize.png]]&lt;br /&gt;
&lt;br /&gt;
Next, we organize all the data and their corresponding label array for the chart drawing method later.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_data_array.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, we apply an extension called chartjs-ror to help us draw horizontal bar charts. Most of the codes in this method relate to the configuration setting of the chart.&lt;br /&gt;
[[File:metric_chart_config_code.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_config_code1.png]]&lt;br /&gt;
&lt;br /&gt;
The result of our improvement doesn't have its value explicitly showed because we want to save more space and let the chart be simpler to read. Yet, you can let your mouse points the bar, then the value will show up as seen in the figures below.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_no_value.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_value.png]]&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
[[File:AlterColors2018.png]]&lt;br /&gt;
&lt;br /&gt;
Review Report sorted by metrics:&lt;br /&gt;
&lt;br /&gt;
[[File:SortByMetr2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
&lt;br /&gt;
Fixing the alternating background color involved removing the existing backgrounding mechanism in _review_report.html.erb and applying the &amp;quot;zebra&amp;quot; widget to the existing java tablesorter table.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Defining the colors for odd and even rows was just a style fix in the table_sorter.scss file.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background_css.PNG]] &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both of these changes yields a table that updates the backgrounds of each element appropriately, even when the table is sorted.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Table_alt_bg.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add new color to Team reviewed ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of teams reviewed are color-coded, to make it easier for instructors to see common issues. &lt;br /&gt;
For example, if a student has not completed a review for a team in every round, the team name is colored red. If a student has completed a review for a team either in every round or not, and has not received a grade, the team name is colored blue. A brown-colored team name indicates that the review grade has been assigned. However, the current color coding scheme assigns a blue color to a team name as long as there is A review. Thus, there is no distinction between the cases when a team's work has been reviewed in the previous round, but the team has not resubmitted their work in the following round, and if the team has resubmitted a work in a round, but there is no review in that round. That is, students may be marked explicitly as having done no work when they have nothing to review in the latest round. Thus, the plan is to add new colors to refactor the case of assigning blue color to team names.&lt;br /&gt;
&lt;br /&gt;
[[File:TeamReviewed2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* config/application.rb&lt;br /&gt;
* app/assets/stylesheets/redbox.scss&lt;br /&gt;
&lt;br /&gt;
Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a green color, otherwise, purple color.&lt;br /&gt;
&lt;br /&gt;
To make new colors assignment work, firstly, we needed to define both new colors in app/assets/stylesheets/redbox.scss:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#green a{&lt;br /&gt;
	color: #00aa00;&lt;br /&gt;
}&lt;br /&gt;
#green{&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple a{&lt;br /&gt;
  color: #FF00FF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple{&lt;br /&gt;
  height:auto;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual implementation of refining new logic of color assignment and its supporting methods was added to app/helpers/review_mapping_helper.rb. For this project we had to extend the logic of Response.exists?(map_id: response_map.id) condition:&lt;br /&gt;
&lt;br /&gt;
- assign 'blue' to team reviewed only if the review grade is not assigned, and there is a review for each round;&lt;br /&gt;
&lt;br /&gt;
- assign 'purple' if a team submitted their work within a round, but a student did not review it within that round, or if the team submitted a link in the previous round, and the link was updated within the following round;&lt;br /&gt;
&lt;br /&gt;
- assign 'green' if there is no work to review within a round, or if the team submitted a link in the previous round, and the link was NOT updated within the following round;&lt;br /&gt;
&lt;br /&gt;
Right now the method supports only wiki links, and can return their last-modified date. In the future, it can be extended to support github links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if Response.exists?(map_id: response_map.id)&lt;br /&gt;
      if !response_map.try(:reviewer).try(:review_grade).nil?&lt;br /&gt;
        'brown'&lt;br /&gt;
      elsif response_for_each_round?(response_map)&lt;br /&gt;
        'blue'&lt;br /&gt;
      else&lt;br /&gt;
        color = []&lt;br /&gt;
        (1..@assignment.num_review_rounds).each do |round|&lt;br /&gt;
          if submitted_within_round?(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            color.push 'purple'&lt;br /&gt;
          else&lt;br /&gt;
            link = submitted_hyperlink(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            if link.nil? or (link !~ /https*:\/\/wiki(.*)/) # can be extended for github links in future&lt;br /&gt;
              color.push 'green'&lt;br /&gt;
            else&lt;br /&gt;
              link_updated_at = get_link_updated_at(link)&lt;br /&gt;
              color.push link_updated_since_last?(round, assignment_due_dates, link_updated_at) ? 'purple' : 'green'&lt;br /&gt;
            end&lt;br /&gt;
          end&lt;br /&gt;
        end&lt;br /&gt;
        color[-1]&lt;br /&gt;
      end&lt;br /&gt;
    else&lt;br /&gt;
      'red'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of new methods definitions, such as: &lt;br /&gt;
* response_for_each_round? &lt;br /&gt;
* submitted_within_round?&lt;br /&gt;
* submitted_hyperlink&lt;br /&gt;
* get_link_updated_at&lt;br /&gt;
* link_updated_since_last?&lt;br /&gt;
can be found in app/helpers/review_mapping_helper.rb.&lt;br /&gt;
&lt;br /&gt;
To support the mechanism of getting last-modified header, we had to add &amp;quot;require 'net/https'&amp;quot; to config/application.rb.&lt;br /&gt;
&lt;br /&gt;
The following screen-shot represents a case when a team submitted their work within a round, but a student did not review it within that round:&lt;br /&gt;
&lt;br /&gt;
[[File:Review_wasnt_subm.png]]&lt;br /&gt;
&lt;br /&gt;
This screen-shot represents a case when a team submitted a link in the last round, and the link was NOT updated within the next round. Thus, to avoid penalizing a student for no submitted review, the team name is assigned green color:&lt;br /&gt;
 &lt;br /&gt;
[[File:No_work_to_review.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To reflect new color assignments, we updated the legend from  app/views/review_mapping/_review_report.html.erb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; **In &amp;quot;Team reviewed&amp;quot; column, text in &amp;lt;i style=&amp;quot;color:red&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt; indicates that the review is not yet completed;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:blue&amp;quot;&amp;gt;blue&amp;lt;/i&amp;gt; indicates that the review grade is not assigned or updated;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color: #986633&amp;quot;&amp;gt;brown&amp;lt;/i&amp;gt; indicates that the review grade has been assigned;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:green&amp;quot;&amp;gt;green&amp;lt;/i&amp;gt; indicates that there is no work to review;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:purple&amp;quot;&amp;gt;purple&amp;lt;/i&amp;gt; indicates that there is no review for a team's work&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the updated legend: &lt;br /&gt;
&lt;br /&gt;
[[File:New_legend.png]]&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:NoHeader_2018.png]]&lt;br /&gt;
&lt;br /&gt;
* collapse (fix whitespace where possible)&lt;br /&gt;
* add reviewers name to easily tell who's review you are looking at, as well as course and assignment this relates to&lt;br /&gt;
* fix round capitalization and add space between word round and the round number&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
* Most changes were front end, made to the view_review_scores_popup&lt;br /&gt;
&lt;br /&gt;
[[File:HeaderScreenshot01.png]]&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span.png]]&lt;br /&gt;
&lt;br /&gt;
* Add colspan attribute which would allow the question to span the entire column which would then allow the name  column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
&lt;br /&gt;
* As mentioned, adding the colspan=3 attribute allowed the question to span the entire column. This was a purely client-side change.&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span_Sol.png]]&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
&lt;br /&gt;
[[File:Check_Question.png]]&lt;br /&gt;
&lt;br /&gt;
* Replace individual team members name with just the team name&lt;br /&gt;
* Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
* Questions should be in a column that spans the width of the table. &lt;br /&gt;
* The team names that the reviewer reviewed should be in the following row separated into columns. &lt;br /&gt;
* The index in the table will have a check if the question was answered with a check and an X if answered otherwise. Each team will be represented as a column with its answer, check or X image, underneath.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
Fixing this involved mostly html changes. Representing the team names instead of individual names was simply using the team attribute instead of the individual's name. Having questions span the entire table involved adding colspan attributes where necessary. Deleting the comments column for as well as representing each team and their answers in columns involved nesting a table into the existing table based on the question type. Representing the checkbox questions as pictures of a check and an X was as easy as showing an image based on the type of questions.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
All of the above changes resulted in a checkbox section that looks like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
&lt;br /&gt;
[[File:AdditionalComments.png]]&lt;br /&gt;
&lt;br /&gt;
* Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
&lt;br /&gt;
* Several front-end changes result in a cleaner Additional Comments section which saves additional space by adding the Reviewer to a new column&lt;br /&gt;
&lt;br /&gt;
[[File:AdditionalComments_Sol.png]]&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
* Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't changed.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
This project would be manually tested since it's all about UI improvement. To show that it's fully tested, we will record the manual tests for each goal we plan to achieve and of course, it will include audio and video. The video would be posted on Youtube so that it's easy for everyone to watch.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
Ideally, this page would have an option to allow instructors to sort by any metric. Presently, only one metric is shown, but adding more has been planned for the future. This may require the addition of a drop-down to allow the selection of what metric to sort by. However this is implemented, it may not add too much complexity to the page.&lt;br /&gt;
&lt;br /&gt;
=== User Report Page ===&lt;br /&gt;
Another piece of low hanging fruit that we decided to tackle was the User report page, which shows the response for an individual review instead of the summary of all of the reviews done. You get to this page by clicking on a team name in the &amp;quot;Team Reviewed&amp;quot; column of the Review Report table(shown above). The edits made on this page where reflective of the edits made on the summary page to enure consistent styles between the two different types of reviewing reviews.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
 * app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
The fixes to this page involved adding colspan's and adjusting what is displayed in score column based on whether the question is a checkbox question or not.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The changes to the code above leads to a following table:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
Presently, users may enter HTML code to style their comments and reviews. However, this is currently not displayed properly. For example, HTML tags will themselves be displayed. The addition of a gem or potentially configuration changes will be needed to ensure this HTML will be properly displayed. Any implementation of this task should follow the DRY principle - that is, the implementation should be able to be re-used in all other pages where user-entered HTMl should be displayed&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/bawagne2/expertiza Our project Git Repo]&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Question_Span_Sol.png&amp;diff=117115</id>
		<title>File:Question Span Sol.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Question_Span_Sol.png&amp;diff=117115"/>
		<updated>2018-04-28T22:48:10Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117114</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117114"/>
		<updated>2018-04-28T22:47:43Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Questions should span the entire row */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
In this design doc, since it's clearer to explain how we are going to improve the UI design by proposing each idea with the corresponding design's current image, we aren't going to separate problems from goals because you, as a reader, will need to scroll up and down to match problems to their corresponding goals.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
== File Changes ==&lt;br /&gt;
* app/helpers/review_mapping_helper.rb for Add metrics charts&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
* config/application.rb&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
First of all, we calculate the average volume in each round and the overall average volume of all rounds.&lt;br /&gt;
[[File:chart_data_organize.png]]&lt;br /&gt;
&lt;br /&gt;
Next, we organize all the data and their corresponding label array for the chart drawing method later.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_data_array.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, we apply an extension called chartjs-ror to help us draw horizontal bar charts. Most of the codes in this method relate to the configuration setting of the chart.&lt;br /&gt;
[[File:metric_chart_config_code.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_config_code1.png]]&lt;br /&gt;
&lt;br /&gt;
The result of our improvement doesn't have its value explicitly showed because we want to save more space and let the chart be simpler to read. Yet, you can let your mouse points the bar, then the value will show up as seen in the figures below.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_no_value.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_value.png]]&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
[[File:AlterColors2018.png]]&lt;br /&gt;
&lt;br /&gt;
Review Report sorted by metrics:&lt;br /&gt;
&lt;br /&gt;
[[File:SortByMetr2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
&lt;br /&gt;
Fixing the alternating background color involved removing the existing backgrounding mechanism in _review_report.html.erb and applying the &amp;quot;zebra&amp;quot; widget to the existing java tablesorter table.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Defining the colors for odd and even rows was just a style fix in the table_sorter.scss file.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background_css.PNG]] &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both of these changes yields a table that updates the backgrounds of each element appropriately, even when the table is sorted.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Table_alt_bg.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add new color to Team reviewed ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of teams reviewed are color-coded, to make it easier for instructors to see common issues. &lt;br /&gt;
For example, if a student has not completed a review for a team in every round, the team name is colored red. If a student has completed a review for a team either in every round or not, and has not received a grade, the team name is colored blue. A brown-colored team name indicates that the review grade has been assigned. However, the current color coding scheme assigns a blue color to a team name as long as there is A review. Thus, there is no distinction between the cases when a team's work has been reviewed in the previous round, but the team has not resubmitted their work in the following round, and if the team has resubmitted a work in a round, but there is no review in that round. That is, students may be marked explicitly as having done no work when they have nothing to review in the latest round. Thus, the plan is to add new colors to refactor the case of assigning blue color to team names.&lt;br /&gt;
&lt;br /&gt;
[[File:TeamReviewed2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* config/application.rb&lt;br /&gt;
* app/assets/stylesheets/redbox.scss&lt;br /&gt;
&lt;br /&gt;
Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a green color, otherwise, purple color.&lt;br /&gt;
&lt;br /&gt;
To make new colors assignment work, firstly, we needed to define both new colors in app/assets/stylesheets/redbox.scss:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#green a{&lt;br /&gt;
	color: #00aa00;&lt;br /&gt;
}&lt;br /&gt;
#green{&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple a{&lt;br /&gt;
  color: #FF00FF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple{&lt;br /&gt;
  height:auto;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual implementation of refining new logic of color assignment and its supporting methods was added to app/helpers/review_mapping_helper.rb. For this project we had to extend the logic of Response.exists?(map_id: response_map.id) condition:&lt;br /&gt;
&lt;br /&gt;
- assign 'blue' to team reviewed only if the review grade is not assigned, and there is a review for each round;&lt;br /&gt;
&lt;br /&gt;
- assign 'purple' if a team submitted their work within a round, but a student did not review it within that round, or if the team submitted a link in the previous round, and the link was updated within the following round;&lt;br /&gt;
&lt;br /&gt;
- assign 'green' if there is no work to review within a round, or if the team submitted a link in the previous round, and the link was NOT updated within the following round;&lt;br /&gt;
&lt;br /&gt;
Right now the method supports only wiki links, and can return their last-modified date. In the future, it can be extended to support github links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if Response.exists?(map_id: response_map.id)&lt;br /&gt;
      if !response_map.try(:reviewer).try(:review_grade).nil?&lt;br /&gt;
        'brown'&lt;br /&gt;
      elsif response_for_each_round?(response_map)&lt;br /&gt;
        'blue'&lt;br /&gt;
      else&lt;br /&gt;
        color = []&lt;br /&gt;
        (1..@assignment.num_review_rounds).each do |round|&lt;br /&gt;
          if submitted_within_round?(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            color.push 'purple'&lt;br /&gt;
          else&lt;br /&gt;
            link = submitted_hyperlink(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            if link.nil? or (link !~ /https*:\/\/wiki(.*)/) # can be extended for github links in future&lt;br /&gt;
              color.push 'green'&lt;br /&gt;
            else&lt;br /&gt;
              link_updated_at = get_link_updated_at(link)&lt;br /&gt;
              color.push link_updated_since_last?(round, assignment_due_dates, link_updated_at) ? 'purple' : 'green'&lt;br /&gt;
            end&lt;br /&gt;
          end&lt;br /&gt;
        end&lt;br /&gt;
        color[-1]&lt;br /&gt;
      end&lt;br /&gt;
    else&lt;br /&gt;
      'red'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of new methods definitions, such as: &lt;br /&gt;
* response_for_each_round? &lt;br /&gt;
* submitted_within_round?&lt;br /&gt;
* submitted_hyperlink&lt;br /&gt;
* get_link_updated_at&lt;br /&gt;
* link_updated_since_last?&lt;br /&gt;
can be found in app/helpers/review_mapping_helper.rb.&lt;br /&gt;
&lt;br /&gt;
To support the mechanism of getting last-modified header, we had to add &amp;quot;require 'net/https'&amp;quot; to config/application.rb.&lt;br /&gt;
&lt;br /&gt;
The following screen-shot represents a case when a team submitted their work within a round, but a student did not review it within that round:&lt;br /&gt;
&lt;br /&gt;
[[File:Review_wasnt_subm.png]]&lt;br /&gt;
&lt;br /&gt;
This screen-shot represents a case when a team submitted a link in the last round, and the link was NOT updated within the next round. Thus, to avoid penalizing a student for no submitted review, the team name is assigned green color:&lt;br /&gt;
 &lt;br /&gt;
[[File:No_work_to_review.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To reflect new color assignments, we updated the legend from  app/views/review_mapping/_review_report.html.erb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; **In &amp;quot;Team reviewed&amp;quot; column, text in &amp;lt;i style=&amp;quot;color:red&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt; indicates that the review is not yet completed;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:blue&amp;quot;&amp;gt;blue&amp;lt;/i&amp;gt; indicates that the review grade is not assigned or updated;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color: #986633&amp;quot;&amp;gt;brown&amp;lt;/i&amp;gt; indicates that the review grade has been assigned;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:green&amp;quot;&amp;gt;green&amp;lt;/i&amp;gt; indicates that there is no work to review;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:purple&amp;quot;&amp;gt;purple&amp;lt;/i&amp;gt; indicates that there is no review for a team's work&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the updated legend: &lt;br /&gt;
&lt;br /&gt;
[[File:New_legend.png]]&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:NoHeader_2018.png]]&lt;br /&gt;
&lt;br /&gt;
* collapse (fix whitespace where possible)&lt;br /&gt;
* add reviewers name to easily tell who's review you are looking at, as well as course and assignment this relates to&lt;br /&gt;
* fix round capitalization and add space between word round and the round number&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
* Most changes were front end, made to the view_review_scores_popup&lt;br /&gt;
&lt;br /&gt;
[[File:HeaderScreenshot01.png]]&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span.png]]&lt;br /&gt;
&lt;br /&gt;
* Add colspan attribute which would allow the question to span the entire column which would then allow the name  column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
&lt;br /&gt;
* As mentioned, adding the colspan=3 attribute allowed the question to span the entire column. This was a purely client-side change.&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span_Sol.png]]&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
&lt;br /&gt;
[[File:Check_Question.png]]&lt;br /&gt;
&lt;br /&gt;
* Replace individual team members name with just the team name&lt;br /&gt;
* Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
* Questions should be in a column that spans the width of the table. &lt;br /&gt;
* The team names that the reviewer reviewed should be in the following row separated into columns. &lt;br /&gt;
* The index in the table will have a check if the question was answered with a check and an X if answered otherwise. Each team will be represented as a column with its answer, check or X image, underneath.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
Fixing this involved mostly html changes. Representing the team names instead of individual names was simply using the team attribute instead of the individual's name. Having questions span the entire table involved adding colspan attributes where necessary. Deleting the comments column for as well as representing each team and their answers in columns involved nesting a table into the existing table based on the question type. Representing the checkbox questions as pictures of a check and an X was as easy as showing an image based on the type of questions.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
All of the above changes resulted in a checkbox section that looks like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
&lt;br /&gt;
[[File:AdditionalComments.png]]&lt;br /&gt;
&lt;br /&gt;
* Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
* Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't changed.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
This project would be manually tested since it's all about UI improvement. To show that it's fully tested, we will record the manual tests for each goal we plan to achieve and of course, it will include audio and video. The video would be posted on Youtube so that it's easy for everyone to watch.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
Ideally, this page would have an option to allow instructors to sort by any metric. Presently, only one metric is shown, but adding more has been planned for the future. This may require the addition of a drop-down to allow the selection of what metric to sort by. However this is implemented, it may not add too much complexity to the page.&lt;br /&gt;
&lt;br /&gt;
=== User Report Page ===&lt;br /&gt;
Another piece of low hanging fruit that we decided to tackle was the User report page, which shows the response for an individual review instead of the summary of all of the reviews done. You get to this page by clicking on a team name in the &amp;quot;Team Reviewed&amp;quot; column of the Review Report table(shown above). The edits made on this page where reflective of the edits made on the summary page to enure consistent styles between the two different types of reviewing reviews.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
 * app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
The fixes to this page involved adding colspan's and adjusting what is displayed in score column based on whether the question is a checkbox question or not.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The changes to the code above leads to a following table:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
Presently, users may enter HTML code to style their comments and reviews. However, this is currently not displayed properly. For example, HTML tags will themselves be displayed. The addition of a gem or potentially configuration changes will be needed to ensure this HTML will be properly displayed. Any implementation of this task should follow the DRY principle - that is, the implementation should be able to be re-used in all other pages where user-entered HTMl should be displayed&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/bawagne2/expertiza Our project Git Repo]&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:HeaderScreenshot01.png&amp;diff=117112</id>
		<title>File:HeaderScreenshot01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:HeaderScreenshot01.png&amp;diff=117112"/>
		<updated>2018-04-28T22:42:39Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:HeaderScreenshot01.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:HeaderScreenshot01.png&amp;diff=117111</id>
		<title>File:HeaderScreenshot01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:HeaderScreenshot01.png&amp;diff=117111"/>
		<updated>2018-04-28T22:42:02Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117110</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=117110"/>
		<updated>2018-04-28T22:41:07Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Review Summary page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Abstract ==&lt;br /&gt;
In this design doc, since it's clearer to explain how we are going to improve the UI design by proposing each idea with the corresponding design's current image, we aren't going to separate problems from goals because you, as a reader, will need to scroll up and down to match problems to their corresponding goals.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
== File Changes ==&lt;br /&gt;
* app/helpers/review_mapping_helper.rb for Add metrics charts&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
* config/application.rb&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
First of all, we calculate the average volume in each round and the overall average volume of all rounds.&lt;br /&gt;
[[File:chart_data_organize.png]]&lt;br /&gt;
&lt;br /&gt;
Next, we organize all the data and their corresponding label array for the chart drawing method later.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_data_array.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, we apply an extension called chartjs-ror to help us draw horizontal bar charts. Most of the codes in this method relate to the configuration setting of the chart.&lt;br /&gt;
[[File:metric_chart_config_code.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_config_code1.png]]&lt;br /&gt;
&lt;br /&gt;
The result of our improvement doesn't have its value explicitly showed because we want to save more space and let the chart be simpler to read. Yet, you can let your mouse points the bar, then the value will show up as seen in the figures below.&lt;br /&gt;
&lt;br /&gt;
[[File:chart_no_value.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:metric_chart_value.png]]&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
[[File:AlterColors2018.png]]&lt;br /&gt;
&lt;br /&gt;
Review Report sorted by metrics:&lt;br /&gt;
&lt;br /&gt;
[[File:SortByMetr2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/assets/stylesheets/table_sorter.scss&lt;br /&gt;
&lt;br /&gt;
Fixing the alternating background color involved removing the existing backgrounding mechanism in _review_report.html.erb and applying the &amp;quot;zebra&amp;quot; widget to the existing java tablesorter table.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Defining the colors for odd and even rows was just a style fix in the table_sorter.scss file.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Alt_background_css.PNG]] &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both of these changes yields a table that updates the backgrounds of each element appropriately, even when the table is sorted.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Table_alt_bg.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add new color to Team reviewed ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of teams reviewed are color-coded, to make it easier for instructors to see common issues. &lt;br /&gt;
For example, if a student has not completed a review for a team in every round, the team name is colored red. If a student has completed a review for a team either in every round or not, and has not received a grade, the team name is colored blue. A brown-colored team name indicates that the review grade has been assigned. However, the current color coding scheme assigns a blue color to a team name as long as there is A review. Thus, there is no distinction between the cases when a team's work has been reviewed in the previous round, but the team has not resubmitted their work in the following round, and if the team has resubmitted a work in a round, but there is no review in that round. That is, students may be marked explicitly as having done no work when they have nothing to review in the latest round. Thus, the plan is to add new colors to refactor the case of assigning blue color to team names.&lt;br /&gt;
&lt;br /&gt;
[[File:TeamReviewed2018.png]]&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/review_mapping/_review_report.html.erb&lt;br /&gt;
* app/helpers/review_mapping_helper.rb&lt;br /&gt;
* config/application.rb&lt;br /&gt;
* app/assets/stylesheets/redbox.scss&lt;br /&gt;
&lt;br /&gt;
Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a green color, otherwise, purple color.&lt;br /&gt;
&lt;br /&gt;
To make new colors assignment work, firstly, we needed to define both new colors in app/assets/stylesheets/redbox.scss:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#green a{&lt;br /&gt;
	color: #00aa00;&lt;br /&gt;
}&lt;br /&gt;
#green{&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple a{&lt;br /&gt;
  color: #FF00FF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#purple{&lt;br /&gt;
  height:auto;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual implementation of refining new logic of color assignment and its supporting methods was added to app/helpers/review_mapping_helper.rb. For this project we had to extend the logic of Response.exists?(map_id: response_map.id) condition:&lt;br /&gt;
&lt;br /&gt;
- assign 'blue' to team reviewed only if the review grade is not assigned, and there is a review for each round;&lt;br /&gt;
&lt;br /&gt;
- assign 'purple' if a team submitted their work within a round, but a student did not review it within that round, or if the team submitted a link in the previous round, and the link was updated within the following round;&lt;br /&gt;
&lt;br /&gt;
- assign 'green' if there is no work to review within a round, or if the team submitted a link in the previous round, and the link was NOT updated within the following round;&lt;br /&gt;
&lt;br /&gt;
Right now the method supports only wiki links, and can return their last-modified date. In the future, it can be extended to support github links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if Response.exists?(map_id: response_map.id)&lt;br /&gt;
      if !response_map.try(:reviewer).try(:review_grade).nil?&lt;br /&gt;
        'brown'&lt;br /&gt;
      elsif response_for_each_round?(response_map)&lt;br /&gt;
        'blue'&lt;br /&gt;
      else&lt;br /&gt;
        color = []&lt;br /&gt;
        (1..@assignment.num_review_rounds).each do |round|&lt;br /&gt;
          if submitted_within_round?(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            color.push 'purple'&lt;br /&gt;
          else&lt;br /&gt;
            link = submitted_hyperlink(round, response_map, assignment_created, assignment_due_dates)&lt;br /&gt;
            if link.nil? or (link !~ /https*:\/\/wiki(.*)/) # can be extended for github links in future&lt;br /&gt;
              color.push 'green'&lt;br /&gt;
            else&lt;br /&gt;
              link_updated_at = get_link_updated_at(link)&lt;br /&gt;
              color.push link_updated_since_last?(round, assignment_due_dates, link_updated_at) ? 'purple' : 'green'&lt;br /&gt;
            end&lt;br /&gt;
          end&lt;br /&gt;
        end&lt;br /&gt;
        color[-1]&lt;br /&gt;
      end&lt;br /&gt;
    else&lt;br /&gt;
      'red'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of new methods definitions, such as: &lt;br /&gt;
* response_for_each_round? &lt;br /&gt;
* submitted_within_round?&lt;br /&gt;
* submitted_hyperlink&lt;br /&gt;
* get_link_updated_at&lt;br /&gt;
* link_updated_since_last?&lt;br /&gt;
can be found in app/helpers/review_mapping_helper.rb.&lt;br /&gt;
&lt;br /&gt;
To support the mechanism of getting last-modified header, we had to add &amp;quot;require 'net/https'&amp;quot; to config/application.rb.&lt;br /&gt;
&lt;br /&gt;
The following screen-shot represents a case when a team submitted their work within a round, but a student did not review it within that round:&lt;br /&gt;
&lt;br /&gt;
[[File:Review_wasnt_subm.png]]&lt;br /&gt;
&lt;br /&gt;
This screen-shot represents a case when a team submitted a link in the last round, and the link was NOT updated within the next round. Thus, to avoid penalizing a student for no submitted review, the team name is assigned green color:&lt;br /&gt;
 &lt;br /&gt;
[[File:No_work_to_review.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To reflect new color assignments, we updated the legend from  app/views/review_mapping/_review_report.html.erb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; **In &amp;quot;Team reviewed&amp;quot; column, text in &amp;lt;i style=&amp;quot;color:red&amp;quot;&amp;gt;red&amp;lt;/i&amp;gt; indicates that the review is not yet completed;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:blue&amp;quot;&amp;gt;blue&amp;lt;/i&amp;gt; indicates that the review grade is not assigned or updated;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color: #986633&amp;quot;&amp;gt;brown&amp;lt;/i&amp;gt; indicates that the review grade has been assigned;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:green&amp;quot;&amp;gt;green&amp;lt;/i&amp;gt; indicates that there is no work to review;&lt;br /&gt;
    text in &amp;lt;i style=&amp;quot;color:purple&amp;quot;&amp;gt;purple&amp;lt;/i&amp;gt; indicates that there is no review for a team's work&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the updated legend: &lt;br /&gt;
&lt;br /&gt;
[[File:New_legend.png]]&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:NoHeader_2018.png]]&lt;br /&gt;
&lt;br /&gt;
* collapse (fix whitespace where possible)&lt;br /&gt;
* add reviewers name to easily tell who's review you are looking at, as well as course and assignment this relates to&lt;br /&gt;
* fix round capitalization and add space between word round and the round number&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
* Most changes were front end, made to the view_review_scores_popup&lt;br /&gt;
&lt;br /&gt;
[[File:HeaderScreenshot01.png]]&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
&lt;br /&gt;
[[File:Question_Span.png]]&lt;br /&gt;
&lt;br /&gt;
* Add colspan attribute which would allow the question to span the entire column which would then allow the name  column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
&lt;br /&gt;
[[File:Check_Question.png]]&lt;br /&gt;
&lt;br /&gt;
* Replace individual team members name with just the team name&lt;br /&gt;
* Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
* Questions should be in a column that spans the width of the table. &lt;br /&gt;
* The team names that the reviewer reviewed should be in the following row separated into columns. &lt;br /&gt;
* The index in the table will have a check if the question was answered with a check and an X if answered otherwise. Each team will be represented as a column with its answer, check or X image, underneath.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
* app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
Fixing this involved mostly html changes. Representing the team names instead of individual names was simply using the team attribute instead of the individual's name. Having questions span the entire table involved adding colspan attributes where necessary. Deleting the comments column for as well as representing each team and their answers in columns involved nesting a table into the existing table based on the question type. Representing the checkbox questions as pictures of a check and an X was as easy as showing an image based on the type of questions.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
All of the above changes resulted in a checkbox section that looks like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CB_Table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
&lt;br /&gt;
[[File:AdditionalComments.png]]&lt;br /&gt;
&lt;br /&gt;
* Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
* Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't changed.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
This project would be manually tested since it's all about UI improvement. To show that it's fully tested, we will record the manual tests for each goal we plan to achieve and of course, it will include audio and video. The video would be posted on Youtube so that it's easy for everyone to watch.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
Ideally, this page would have an option to allow instructors to sort by any metric. Presently, only one metric is shown, but adding more has been planned for the future. This may require the addition of a drop-down to allow the selection of what metric to sort by. However this is implemented, it may not add too much complexity to the page.&lt;br /&gt;
&lt;br /&gt;
=== User Report Page ===&lt;br /&gt;
Another piece of low hanging fruit that we decided to tackle was the User report page, which shows the response for an individual review instead of the summary of all of the reviews done. You get to this page by clicking on a team name in the &amp;quot;Team Reviewed&amp;quot; column of the Review Report table(shown above). The edits made on this page where reflective of the edits made on the summary page to enure consistent styles between the two different types of reviewing reviews.&lt;br /&gt;
====Solution====&lt;br /&gt;
=====Files=====&lt;br /&gt;
 * app/views/popup/team_users_pop_up.html.haml&lt;br /&gt;
The fixes to this page involved adding colspan's and adjusting what is displayed in score column based on whether the question is a checkbox question or not.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_code.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The changes to the code above leads to a following table:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:User_popup_table.PNG]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
Presently, users may enter HTML code to style their comments and reviews. However, this is currently not displayed properly. For example, HTML tags will themselves be displayed. The addition of a gem or potentially configuration changes will be needed to ensure this HTML will be properly displayed. Any implementation of this task should follow the DRY principle - that is, the implementation should be able to be re-used in all other pages where user-entered HTMl should be displayed&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/bawagne2/expertiza Our project Git Repo]&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116150</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116150"/>
		<updated>2018-04-06T14:34:49Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* CSS / Style improvements to review scores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
This project will attempt to maintain the alternating background colors, even if the content of the table has been re-organized due to sorting.&lt;br /&gt;
&lt;br /&gt;
=== Add new color to reviewers ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of student peer reviewers are often color-coded, to make it easier for instructors to see common issues. For example, reviewers who have not submitted a review may be colored red, and reviewers who have not received a grade may be colored blue. However, as mentioned earlier, the current color coding scheme will assign a red color to students who have not updated their review of others projects, even when that project has not changed. That is, students may be marked explicitly as having done no work, when there was no work to do!&lt;br /&gt;
&lt;br /&gt;
As part of this project, we will add a new color-code for students in this case. Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a new color, potentially green.&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
* collapse (fix whitespace where possible)&lt;br /&gt;
* add reviewers name to easily tell who's review you are looking at&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
* Add colspan attribute which would allow the question to span the entire column which would then allow the name  column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
* Replace individual team members name with just the team name&lt;br /&gt;
* Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
* Questions should be in the leftmost column and the team names that the reviewer reviewed should be in the following columns. The index in the table will have a check if the question was answered with a check and an X if answered otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
* Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
* Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't changed.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
Ideally, this page would have an option to allow instructors to sort by any metric. Presently, only one metric is shown, but adding more has been planned for the future. This may require the addition of a dropdown to allow the selection of what metric to sort by. However this is implemented, it may not add too much complexity to the page.&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
Presently, users may enter HTML code to style their comments and reviews. However, this is currently not displayed properly. For example, HTML tags will themselves be displayed. The addition of a gem or potentially configuration changes will be needed to ensure this HTML will be properly displayed. Any implementation of this task should follow the DRY principle - that is, the implementation should be able to be re-used in all other pages where user-entered HTMl should be displayed&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116149</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116149"/>
		<updated>2018-04-06T14:34:17Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Review Summary page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
This project will attempt to maintain the alternating background colors, even if the content of the table has been re-organized due to sorting.&lt;br /&gt;
&lt;br /&gt;
=== Add new color to reviewers ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of student peer reviewers are often color-coded, to make it easier for instructors to see common issues. For example, reviewers who have not submitted a review may be colored red, and reviewers who have not received a grade may be colored blue. However, as mentioned earlier, the current color coding scheme will assign a red color to students who have not updated their review of others projects, even when that project has not changed. That is, students may be marked explicitly as having done no work, when there was no work to do!&lt;br /&gt;
&lt;br /&gt;
As part of this project, we will add a new color-code for students in this case. Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a new color, potentially green.&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
* collapse (fix whitespace where possible)&lt;br /&gt;
* add reviewers name to easily tell who's review you are looking at&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
* Add colspan attribute which would allow the question to span the entire column which would then allow the name  column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
* Replace individual team members name with just the team name&lt;br /&gt;
* Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
* Questions should be in the leftmost column and the team names that the reviewer reviewed should be in the following columns. The index in the table will have a check if the question was answered with a check and an X if answered otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
* Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
* Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from&lt;br /&gt;
           the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't&lt;br /&gt;
           changed.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
Ideally, this page would have an option to allow instructors to sort by any metric. Presently, only one metric is shown, but adding more has been planned for the future. This may require the addition of a dropdown to allow the selection of what metric to sort by. However this is implemented, it may not add too much complexity to the page.&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
Presently, users may enter HTML code to style their comments and reviews. However, this is currently not displayed properly. For example, HTML tags will themselves be displayed. The addition of a gem or potentially configuration changes will be needed to ensure this HTML will be properly displayed. Any implementation of this task should follow the DRY principle - that is, the implementation should be able to be re-used in all other pages where user-entered HTMl should be displayed&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116148</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116148"/>
		<updated>2018-04-06T14:33:15Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
[[File:Metrics2018.png]]&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
This project will attempt to maintain the alternating background colors, even if the content of the table has been re-organized due to sorting.&lt;br /&gt;
&lt;br /&gt;
=== Add new color to reviewers ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of student peer reviewers are often color-coded, to make it easier for instructors to see common issues. For example, reviewers who have not submitted a review may be colored red, and reviewers who have not received a grade may be colored blue. However, as mentioned earlier, the current color coding scheme will assign a red color to students who have not updated their review of others projects, even when that project has not changed. That is, students may be marked explicitly as having done no work, when there was no work to do!&lt;br /&gt;
&lt;br /&gt;
As part of this project, we will add a new color-code for students in this case. Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a new color, potentially green.&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
         * collapse (fix whitespace where possible)&lt;br /&gt;
         * add reviewers name to easily tell who's review you are looking at&lt;br /&gt;
&lt;br /&gt;
=== Questions should span the entire row ===&lt;br /&gt;
         * Add colspan attribute which would allow the question to span the entire column which would then allow the name &lt;br /&gt;
           column to be smaller and the comment column to be larger.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox questions ===&lt;br /&gt;
         * Replace individual team members name with just the team name&lt;br /&gt;
         * Delete the comments column since comments aren't allowed in these types of questions&lt;br /&gt;
         * Questions should be in the leftmost column and the team names that the reviewer reviewed should be in the following columns. &lt;br /&gt;
           The index in the table will have a check if the question was answered with a check and an X if answered otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Additional comments spanning ===&lt;br /&gt;
         * Additional comments should span across all of the columns to save vertical space&lt;br /&gt;
&lt;br /&gt;
=== CSS / Style improvements to review scores ===&lt;br /&gt;
         * Add addition colors for reviews that didn't do a second(third,forth,etc) round review. In other words if the review hasn't changed from&lt;br /&gt;
           the previous round, color that review(er) a different color so instructors don't have to open the review and see that it hasn't&lt;br /&gt;
           changed.&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
Ideally, this page would have an option to allow instructors to sort by any metric. Presently, only one metric is shown, but adding more has been planned for the future. This may require the addition of a dropdown to allow the selection of what metric to sort by. However this is implemented, it may not add too much complexity to the page.&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
Presently, users may enter HTML code to style their comments and reviews. However, this is currently not displayed properly. For example, HTML tags will themselves be displayed. The addition of a gem or potentially configuration changes will be needed to ensure this HTML will be properly displayed. Any implementation of this task should follow the DRY principle - that is, the implementation should be able to be re-used in all other pages where user-entered HTMl should be displayed&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116049</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116049"/>
		<updated>2018-04-05T13:18:53Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
Presently, this page contains a 'metrics' column, presently displaying the average review volume for a given user in text form. This method of displaying data can be difficult to interpret, and even more difficult to compare at a glance, or to notice trends. Additionally, plans for expanding the metrics column to include more data would worsen this issue if it remained in its current state.&lt;br /&gt;
&lt;br /&gt;
This project will replace the text in this column with easy to read bar or line graphs, which will be color-coded or otherwise made very simple and easy to read. These graphs will display the data clearly and concisely, mitigating these issues. This concise display will allow for easier comparison of data, easier interpretation of data, and will allow for more metrics to be added without simply overcrowding the page with text.&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
In order to make the large table which dominates this page easier to read, each row has an alternating background color (between white and a yellow-green). Although this helps tremendously with readability, the alternating background colors do not update when the table is sorted. That is, if any of the sort functions are used, the background colors move with the associated rows, effectively shuffling the colors of each row. This, in fact, harms the readability of the page, and creates false groupings of visually similar rows.&lt;br /&gt;
&lt;br /&gt;
This project will attempt to maintain the alternating background colors, even if the content of the table has been re-organized due to sorting.&lt;br /&gt;
&lt;br /&gt;
=== Add new color to reviewers ===&lt;br /&gt;
&lt;br /&gt;
On this page, the names of student peer reviewers are often color-coded, to make it easier for instructors to see common issues. For example, reviewers who have not submitted a review may be colored red, and reviewers who have not received a grade may be colored blue. However, as mentioned earlier, the current color coding scheme will assign a red color to students who have not updated their review of others projects, even when that project has not changed. That is, students may be marked explicitly as having done no work, when there was no work to do!&lt;br /&gt;
&lt;br /&gt;
As part of this project, we will add a new color-code for students in this case. Once again, if a student originally completed a review during the first round, but did not update it, AND the project under review has not been changed since the initial review, the reviewer should not be penalized. Reviewers who meet these criteria will be given a new color, potentially green.&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Header - collapse (fix whitespace where possible)&lt;br /&gt;
&lt;br /&gt;
* Add more information such as the reviewer’s name.&lt;br /&gt;
&lt;br /&gt;
* Checkbox questions&lt;br /&gt;
&lt;br /&gt;
* Replace all team members names with just team name&lt;br /&gt;
&lt;br /&gt;
* Comments aren’t allowed, delete that column&lt;br /&gt;
&lt;br /&gt;
* Columns per team, question on left &lt;br /&gt;
&lt;br /&gt;
* Additional comments spanning &lt;br /&gt;
&lt;br /&gt;
* CSS / Style improvements to review scores&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ===&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116048</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116048"/>
		<updated>2018-04-05T13:07:55Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement ==&lt;br /&gt;
&lt;br /&gt;
This project is focused primarily on making various improvements to the Review Report and Review Summary pages, described in detail in the previous section. Each of these pages, while functional, suffer from many UI issues which make the pages more difficult to use for instructors. That is, information which would be useful to instructors is missing in several cases. In others, large amounts of unnecessary information is present, cluttering the site. Additionally, both pages suffer from structural and design issues which, again, waste instructor time. &lt;br /&gt;
&lt;br /&gt;
Finally, the Review Report page sometimes mis-categorizes students who have not updated their reviews of others, even though the project under review has not changed! This could cause students to be deducted points unfairly. By adding a new way of highlighting this special case to instructors, review grades can be assigned more fairly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
In the metrics column, replace the numbers with bar charts. Specifically, horizontal bar charts that aren’t too wide, so they could potentially add more charts in the future. Color coded is ideal. Should be one bar with the average as a line or something (not clear on details here)&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
* Right now, the table on this page has alternating background colors to make it easier to read. Issue is, if you change the sorting, the background colors move with the items. So it may not be alternating any more. Needs to be fixed&lt;br /&gt;
&lt;br /&gt;
=== Add new color to reviewers ===&lt;br /&gt;
&lt;br /&gt;
 if reviewed content has not changed&lt;br /&gt;
&lt;br /&gt;
* On this page, the names of reviewers are sometimes color coded. Add a new color code (green) for reviewers who reviewed content during the first round but not the second, when nothing has changed since the first round&lt;br /&gt;
&lt;br /&gt;
* (Optional): Sort by metric&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Header - collapse (fix whitespace where possible)&lt;br /&gt;
&lt;br /&gt;
* Add more information such as the reviewer’s name.&lt;br /&gt;
&lt;br /&gt;
* Checkbox questions&lt;br /&gt;
&lt;br /&gt;
* Replace all team members names with just team name&lt;br /&gt;
&lt;br /&gt;
* Comments aren’t allowed, delete that column&lt;br /&gt;
&lt;br /&gt;
* Columns per team, question on left &lt;br /&gt;
&lt;br /&gt;
* Additional comments spanning &lt;br /&gt;
&lt;br /&gt;
* CSS / Style improvements to review scores&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ===&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116047</id>
		<title>CSC/ECE 517 Spring 2018 E1815: Improvements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_E1815:_Improvements_to_review_grader&amp;diff=116047"/>
		<updated>2018-04-05T13:01:32Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Improvements to Review Grader&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Expertiza is a web application that is widely used by 2 types of users: students and instructors. When a user is logged-in as an instructor, and would like to see a review report on an assignment to review a grader, he/she could reach the page via Manage &amp;gt; Assignments and clicking on the “'''View review report'''” icon. The page would look somewhat like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rev_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get a summary review report performed by a particular student, an instructor can get to the page from the review report by clicking “'''summary'''” in the row for that student. The page would look like this one:&lt;br /&gt;
&lt;br /&gt;
[[File:Summary_report2018.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Both views, especially the summary report, need some changes in the design to ease the process of reviewer grading. &lt;br /&gt;
&lt;br /&gt;
Some ideas that would improve the look of reports that our team is going to implement are listed below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==View Review Report Page==&lt;br /&gt;
&lt;br /&gt;
=== Add metrics charts ===&lt;br /&gt;
&lt;br /&gt;
In the metrics column, replace the numbers with bar charts. Specifically, horizontal bar charts that aren’t too wide, so they could potentially add more charts in the future. Color coded is ideal. Should be one bar with the average as a line or something (not clear on details here)&lt;br /&gt;
&lt;br /&gt;
=== Update alternating background color if sorted ===&lt;br /&gt;
&lt;br /&gt;
* Right now, the table on this page has alternating background colors to make it easier to read. Issue is, if you change the sorting, the background colors move with the items. So it may not be alternating any more. Needs to be fixed&lt;br /&gt;
&lt;br /&gt;
=== Add new color to reviewers ===&lt;br /&gt;
&lt;br /&gt;
 if reviewed content has not changed&lt;br /&gt;
&lt;br /&gt;
* On this page, the names of reviewers are sometimes color coded. Add a new color code (green) for reviewers who reviewed content during the first round but not the second, when nothing has changed since the first round&lt;br /&gt;
&lt;br /&gt;
* (Optional): Sort by metric&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Review Summary page ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Header - collapse (fix whitespace where possible)&lt;br /&gt;
&lt;br /&gt;
* Add more information such as the reviewer’s name.&lt;br /&gt;
&lt;br /&gt;
* Checkbox questions&lt;br /&gt;
&lt;br /&gt;
* Replace all team members names with just team name&lt;br /&gt;
&lt;br /&gt;
* Comments aren’t allowed, delete that column&lt;br /&gt;
&lt;br /&gt;
* Columns per team, question on left &lt;br /&gt;
&lt;br /&gt;
* Additional comments spanning &lt;br /&gt;
&lt;br /&gt;
* CSS / Style improvements to review scores&lt;br /&gt;
&lt;br /&gt;
== Optional additional improvements ===&lt;br /&gt;
&lt;br /&gt;
=== Review Report page - sort by other metrics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Review Summary page -  Interpret HTML ===&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115616</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115616"/>
		<updated>2018-04-02T23:00:48Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Refactored student_task_controller.rb */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page, specifically regarding the layout of elements. &lt;br /&gt;
* Refactored student_task_controller.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
student_task_controller.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
list.html.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
student_task_helper.rb&lt;br /&gt;
&lt;br /&gt;
== New files ==&lt;br /&gt;
will_paginate_array_fix.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
[[File:backgrounding.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
In addition, a bit of creative discretion was used and an icon was added to draw the user towards the Review link when it is active. This can be seen in the capture below. The current assignments will show all assignments that are not completed, and if the assignment is in the review phase, it will display a small warning icon indicating action needs to be taken. The screenshot below demonstrates this on the &amp;quot;Unknown&amp;quot; stage, since, because of the afromentioned issues with testing, an assignment in the review phase could not be created for testing purposes. However, the logic is in the view, and is a simple string compare, so if the stage is in Review, the icon will show up. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:oss_expertiza_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactored student_task_controller.rb ==&lt;br /&gt;
Prior to this project, the Code Coverage report displayed many warnings for student_task_controller.rb. Primarily, these warnings were clear signs of excessively high complexity within methods. In several cases, the cyclomatic complexity of methods was too high. In others, the perceived complexity or assignment branch condition size was too great. In order to fix as many of these issues as possible, the class was refactored. In some cases, several comments within methods were used in order to divide one method into logical pieces, a clear code smell. In order to fix many of these issues, the &amp;quot;Extract Method&amp;quot; refactor was used. That is, methods were split into more logical, easier to read and follow pieces. Several other refactoring methods were utilized to make this file easier to understand, as it does perform many separate logical tasks.&lt;br /&gt;
&lt;br /&gt;
For example, the method &amp;lt;code&amp;gt;view&amp;lt;/code&amp;gt; was flagged in Code Climate with the message: &amp;lt;code&amp;gt;Assignment Branch Condition size for view is too high. [24.62/15]&amp;lt;/code&amp;gt;. In order to correct this, the original method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  def view&lt;br /&gt;
    StudentTask.from_participant_id params[:id]&lt;br /&gt;
    @participant = AssignmentParticipant.find(params[:id])&lt;br /&gt;
    @can_submit = @participant.can_submit&lt;br /&gt;
    @can_review = @participant.can_review&lt;br /&gt;
    @can_take_quiz = @participant.can_take_quiz&lt;br /&gt;
    @authorization = Participant.get_authorization(@can_submit, @can_review, @can_take_quiz)&lt;br /&gt;
    @team = @participant.team&lt;br /&gt;
    denied unless current_user_id?(@participant.user_id)&lt;br /&gt;
    @assignment = @participant.assignment&lt;br /&gt;
    @can_provide_suggestions = @assignment.allow_suggestions&lt;br /&gt;
    @topic_id = SignedUpTeam.topic_id(@assignment.id, @participant.user_id)&lt;br /&gt;
    @topics = SignUpTopic.where(assignment_id: @assignment.id)&lt;br /&gt;
    # Timeline feature&lt;br /&gt;
    @timeline_list = StudentTask.get_timeline_data(@assignment, @participant, @team)&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
was refactored using the 'extract method' refactor, leading to the following, where &amp;lt;code&amp;gt;init_participant&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;init_assignment&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;init_timeline&amp;lt;/code&amp;gt; are separate, short, methods.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  def view&lt;br /&gt;
    StudentTask.from_participant_id params[:id]&lt;br /&gt;
    init_participant&lt;br /&gt;
    denied unless current_user_id?(@participant.user_id)&lt;br /&gt;
    init_assignment&lt;br /&gt;
    init_timeline&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
As this documentation shows, much of our changes and features involved solely the view. Testing for this revolved around simply ensuring that the view changed as per the various conditions defined. For example, the coloration of due dates could be tested by navigating the site as a dev user, and making sure that if an assignment stage is due in more than ten days, then the row should be green. Likewise, if a stage is due in a day, the row should be red. For view-based features, this method of navigating the site and ensuring '''if X, then Y should be Z''' is the best way to test, since the view's final product, in the end, is a visual result.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, refactoring was conducted and so RSpec tests were written those instances.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Oss_expertiza_1.png&amp;diff=115614</id>
		<title>File:Oss expertiza 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Oss_expertiza_1.png&amp;diff=115614"/>
		<updated>2018-04-02T22:43:35Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:Oss expertiza 1.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:StudentsTeamedWith.PNG&amp;diff=115613</id>
		<title>File:StudentsTeamedWith.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:StudentsTeamedWith.PNG&amp;diff=115613"/>
		<updated>2018-04-02T22:41:09Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:StudentsTeamedWith.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Backgrounding.PNG&amp;diff=115612</id>
		<title>File:Backgrounding.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Backgrounding.PNG&amp;diff=115612"/>
		<updated>2018-04-02T22:40:13Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:Backgrounding.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Backgrounding.PNG&amp;diff=115611</id>
		<title>File:Backgrounding.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Backgrounding.PNG&amp;diff=115611"/>
		<updated>2018-04-02T22:39:18Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:Backgrounding.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:PastDueAssignments.PNG&amp;diff=115610</id>
		<title>File:PastDueAssignments.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:PastDueAssignments.PNG&amp;diff=115610"/>
		<updated>2018-04-02T22:38:34Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:PastDueAssignments.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:PastDueAssignments.PNG&amp;diff=115609</id>
		<title>File:PastDueAssignments.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:PastDueAssignments.PNG&amp;diff=115609"/>
		<updated>2018-04-02T22:36:29Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: uploaded a new version of &amp;amp;quot;File:PastDueAssignments.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115608</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115608"/>
		<updated>2018-04-02T22:29:51Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Added pagination of past-due assignments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page, specifically regarding the layout of elements. &lt;br /&gt;
* Refactored student_task_controller.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
student_task_controller.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
list.html.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
student_task_helper.rb&lt;br /&gt;
&lt;br /&gt;
== New files ==&lt;br /&gt;
will_paginate_array_fix.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
[[File:backgrounding.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
In addition, a bit of creative discretion was used and an icon was added to draw the user towards the Review link when it is active. This can be seen in the capture below. The current assignments will show all assignments that are not completed, and if the assignment is in the review phase, it will display a small warning icon indicating action needs to be taken. The screenshot below demonstrates this on the &amp;quot;Unknown&amp;quot; stage, since, because of the afromentioned issues with testing, an assignment in the review phase could not be created for testing purposes. However, the logic is in the view, and is a simple string compare, so if the stage is in Review, the icon will show up. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:oss_expertiza_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactored student_task_controller.rb ==&lt;br /&gt;
Prior to this project, the Code Coverage report displayed many warnings for student_task_controller.rb. Primarily, these warnings were clear signs of excessively high complexity within methods. In several cases, the cyclomatic complexity of methods was too high. In others, the perceived complexity or assignment branch condition size was too great. In order to fix as many of these issues as possible, the class was refactored. In some cases, several comments within methods were used in order to divide one method into logical pieces, a clear code smell. In order to fix many of these issues, the &amp;quot;Extract Method&amp;quot; refactor was used. That is, methods were split into more logical, easier to read and follow pieces. Several other refactoring methods were utilized to make this file easier to understand, as it does perform many separate logical tasks.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
As this documentation shows, much of our changes and features involved solely the view. Testing for this revolved around simply ensuring that the view changed as per the various conditions defined. For example, the coloration of due dates could be tested by navigating the site as a dev user, and making sure that if an assignment stage is due in more than ten days, then the row should be green. Likewise, if a stage is due in a day, the row should be red. For view-based features, this method of navigating the site and ensuring '''if X, then Y should be Z''' is the best way to test, since the view's final product, in the end, is a visual result.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, refactoring was conducted and so RSpec tests were written those instances.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115606</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115606"/>
		<updated>2018-04-02T22:28:47Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Adding past-due assignments to task page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page, specifically regarding the layout of elements. &lt;br /&gt;
* Refactored student_task_controller.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
student_task_controller.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
list.html.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
student_task_helper.rb&lt;br /&gt;
&lt;br /&gt;
== New files ==&lt;br /&gt;
will_paginate_array_fix.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
[[File:backgrounding.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
In addition, a bit of creative discretion was used and an icon was added to draw the user towards the Review link when it is active. This can be seen in the capture below. The current assignments will show all assignments that are not completed, and if the assignment is in the review phase, it will display a small warning icon indicating action needs to be taken. The screenshot below demonstrates this on the &amp;quot;Unknown&amp;quot; stage, since, because of the afromentioned issues with testing, an assignment in the review phase could not be created for testing purposes. However, the logic is in the view, and is a simple string compare, so if the stage is in Review, the icon will show up. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:oss_expertiza_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Refactored student_task_controller.rb ===&lt;br /&gt;
Prior to this project, the Code Coverage report displayed many warnings for student_task_controller.rb. Primarily, these warnings were clear signs of excessively high complexity within methods. In several cases, the cyclomatic complexity of methods was too high. In others, the perceived complexity or assignment branch condition size was too great. In order to fix as many of these issues as possible, the class was refactored. In some cases, several comments within methods were used in order to divide one method into logical pieces, a clear code smell. In order to fix many of these issues, the &amp;quot;Extract Method&amp;quot; refactor was used. That is, methods were split into more logical, easier to read and follow pieces. Several other refactoring methods were utilized to make this file easier to understand, as it does perform many separate logical tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
As this documentation shows, much of our changes and features involved solely the view. Testing for this revolved around simply ensuring that the view changed as per the various conditions defined. For example, the coloration of due dates could be tested by navigating the site as a dev user, and making sure that if an assignment stage is due in more than ten days, then the row should be green. Likewise, if a stage is due in a day, the row should be red. For view-based features, this method of navigating the site and ensuring '''if X, then Y should be Z''' is the best way to test, since the view's final product, in the end, is a visual result.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, refactoring was conducted and so RSpec tests were written those instances.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115605</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115605"/>
		<updated>2018-04-02T22:28:21Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Adding past-due assignments to task page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page, specifically regarding the layout of elements. &lt;br /&gt;
* Refactored student_task_controller.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Files modified ==&lt;br /&gt;
student_task_controller.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
list.html.erb &amp;lt;br/&amp;gt;&lt;br /&gt;
student_task_helper.rb&lt;br /&gt;
&lt;br /&gt;
== New files ==&lt;br /&gt;
will_paginate_array_fix.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG|x200px]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
[[File:backgrounding.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
In addition, a bit of creative discretion was used and an icon was added to draw the user towards the Review link when it is active. This can be seen in the capture below. The current assignments will show all assignments that are not completed, and if the assignment is in the review phase, it will display a small warning icon indicating action needs to be taken. The screenshot below demonstrates this on the &amp;quot;Unknown&amp;quot; stage, since, because of the afromentioned issues with testing, an assignment in the review phase could not be created for testing purposes. However, the logic is in the view, and is a simple string compare, so if the stage is in Review, the icon will show up. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:oss_expertiza_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Refactored student_task_controller.rb ===&lt;br /&gt;
Prior to this project, the Code Coverage report displayed many warnings for student_task_controller.rb. Primarily, these warnings were clear signs of excessively high complexity within methods. In several cases, the cyclomatic complexity of methods was too high. In others, the perceived complexity or assignment branch condition size was too great. In order to fix as many of these issues as possible, the class was refactored. In some cases, several comments within methods were used in order to divide one method into logical pieces, a clear code smell. In order to fix many of these issues, the &amp;quot;Extract Method&amp;quot; refactor was used. That is, methods were split into more logical, easier to read and follow pieces. Several other refactoring methods were utilized to make this file easier to understand, as it does perform many separate logical tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
As this documentation shows, much of our changes and features involved solely the view. Testing for this revolved around simply ensuring that the view changed as per the various conditions defined. For example, the coloration of due dates could be tested by navigating the site as a dev user, and making sure that if an assignment stage is due in more than ten days, then the row should be green. Likewise, if a stage is due in a day, the row should be red. For view-based features, this method of navigating the site and ensuring '''if X, then Y should be Z''' is the best way to test, since the view's final product, in the end, is a visual result.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, refactoring was conducted and so RSpec tests were written those instances.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115514</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115514"/>
		<updated>2018-03-30T15:07:30Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page, specifically regarding the layout of elements. &lt;br /&gt;
* Refactored student_task_controller.rb&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
[[File:backgrounding.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
In addition, a bit of creative discretion was used and an icon was added to draw the user towards the Review link when it is active. This can be seen in the capture below. The current assignments will show all assignments that are not completed, and if the assignment is in the review phase, it will display a small warning icon indicating action needs to be taken. The screenshot below demonstrates this on the &amp;quot;Unknown&amp;quot; stage, since, because of the afromentioned issues with testing, an assignment in the review phase could not be created for testing purposes. However, the logic is in the view, and is a simple string compare, so if the stage is in Review, the icon will show up. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:oss_expertiza_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Refactored student_task_controller.rb ===&lt;br /&gt;
Prior to this project, the Code Coverage report displayed many warnings for student_task_controller.rb. Primarily, these warnings were clear signs of excessively high complexity within methods. In several cases, the cyclomatic complexity of methods was too high. In others, the perceived complexity or assignment branch condition size was too great. In order to fix as many of these issues as possible, the class was refactored. In some cases, several comments within methods were used in order to divide one method into logical pieces, a clear code smell. In order to fix many of these issues, the &amp;quot;Extract Method&amp;quot; refactor was used. That is, methods were split into more logical, easier to read and follow pieces. Several other refactoring methods were utilized to make this file easier to understand, as it does perform many separate logical tasks.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Oss_expertiza_1.png&amp;diff=115513</id>
		<title>File:Oss expertiza 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Oss_expertiza_1.png&amp;diff=115513"/>
		<updated>2018-03-30T14:55:32Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115512</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115512"/>
		<updated>2018-03-30T14:53:45Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page, specifically regarding the layout of elements. &lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
[[File:backgrounding.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
In addition, a bit of creative discretion was used and an icon was added to draw the user towards the Review link when it is active. This can be seen in the capture below. The current assignments will show all assignments that are not completed, and if the assignment is in the review phase, it will display a small warning icon indicating action needs to be taken. The screenshot below demonstrates this on the &amp;quot;Unknown&amp;quot; stage, since, because of the afromentioned issues with testing, an assignment in the review phase could not be created for testing purposes. However, the logic is in the view, and is a simple string compare, so if the stage is in Review, the icon will show up. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:oss_expertiza_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115247</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115247"/>
		<updated>2018-03-26T23:04:43Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
NOTE: These changes have not been tested, as we have been unable to access the assignments page. The team has been working with TAs, our project mentor, and the Expertiza support team on this issue, but it is still open.&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115246</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115246"/>
		<updated>2018-03-26T23:04:14Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Project E1800 Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
* Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
* Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
* Check for correction in due dates of assignments&lt;br /&gt;
* On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
* Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
* Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
* Added pagination to past-due assignments on task list&lt;br /&gt;
* Made various UI enhancements to the student_tasks page&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
== Checking for corrections in due dates of assignments ==&lt;br /&gt;
NOTE: These changes have not been tested, as we have been unable to access the assignments page. The team has been working with TAs, our project mentor, and the Expertiza support team on this issue, but it is still open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
NOTE: These changes have not been tested, as we have been unable to access the assignments page. The team has been working with TAs, our project mentor, and the Expertiza support team on this issue, but it is still open.&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=MainPage&amp;diff=115245</id>
		<title>MainPage</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=MainPage&amp;diff=115245"/>
		<updated>2018-03-26T23:03:36Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: /* Course-Specific Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
* [[Expertiza documentation]]&lt;br /&gt;
&lt;br /&gt;
==Course-Specific Topics==&lt;br /&gt;
&lt;br /&gt;
* [[CSC/ECE 517 Summer 2008]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2010]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2011]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2012]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2013]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2014]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2015]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2016]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2014]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2015]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2016]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2017]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2017]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2018- Project Juniper:Bookmark Enhancements]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2018- Project E1803: Introducing a Student View for Instructors]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2018- Project E1804: OSS project Yellow: Topic management]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2018- Project E1808: Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2018- Project M1802: 2D Canvas Rendering]]&lt;br /&gt;
* [[CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list]]&lt;br /&gt;
* [[CSC 456 Spring 2011|CSC 456 Spring 2012]]&lt;br /&gt;
* [[ECE 633]]&lt;br /&gt;
* [[KCU]]&lt;br /&gt;
* [[Progress reports]]&lt;br /&gt;
&lt;br /&gt;
==Application Behavior==&lt;br /&gt;
* [[Grading]]&lt;br /&gt;
&lt;br /&gt;
==Metaprogramming==&lt;br /&gt;
* [[CSC/ECE_517_Spring_2013/ch1b_1k_hf|Lecture on Metaprogramming]]&lt;br /&gt;
&lt;br /&gt;
==Development==&lt;br /&gt;
&lt;br /&gt;
''Expertiza now has a Java dependency, so the machine you are using to develop Expertiza on should have the JVM installed.''&lt;br /&gt;
&lt;br /&gt;
* [[Setting Up a Development Machine]]&lt;br /&gt;
* [[Creating a Linux Development Environment for Expertiza - Installation Guide]]&lt;br /&gt;
* [[Using git and github for projects]]&lt;br /&gt;
* [[Using heroku to deploy your projects]]&lt;br /&gt;
* [[How to Begin a Project from the Current Expertiza Repository]]&lt;br /&gt;
* [[Git]]&lt;br /&gt;
* [[How to Change a User's Password on a Development Machine]]&lt;br /&gt;
* [[Debugging Rails]]&lt;br /&gt;
* [http://rajanalwan.com/ui_guidelines/ Design Template]&lt;br /&gt;
&lt;br /&gt;
==Production==&lt;br /&gt;
* [[Deploying to Production]]&lt;br /&gt;
* [[Downloading Production Data]]&lt;br /&gt;
* [[Accessing the Production Server]]&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
* [[Using Cucumber with Expertiza]]&lt;br /&gt;
* [[Rails Testing Overview]]&lt;br /&gt;
* [[Expertiza Continuous Integration]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [[Object-Oriented Design and Programming]]&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:StudentsTeamedWith.PNG&amp;diff=115241</id>
		<title>File:StudentsTeamedWith.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:StudentsTeamedWith.PNG&amp;diff=115241"/>
		<updated>2018-03-26T22:55:17Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:PastDueAssignments.PNG&amp;diff=115240</id>
		<title>File:PastDueAssignments.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:PastDueAssignments.PNG&amp;diff=115240"/>
		<updated>2018-03-26T22:54:41Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115239</id>
		<title>CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2018_-_E1800:_Add_past-due_assignments_to_task_list&amp;diff=115239"/>
		<updated>2018-03-26T22:54:21Z</updated>

		<summary type="html">&lt;p&gt;Bjyounce: Created page with &amp;quot; == About Expertiza == Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About Expertiza ==&lt;br /&gt;
Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. -- Expertiza project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project E1800 Overview ==&lt;br /&gt;
For the E1800 project, a course project for CSC 517 at NCSU during the Spring of 2018, certain improvements were made to the Expertiza system. Primarily, the goal of this project was to add past-due assignments to the student task list. The full list of tasks (the original task list with modifications from instructor feedback) is:&lt;br /&gt;
&lt;br /&gt;
Issue #80: Add past-due assignments to task list (on Student Task page).&lt;br /&gt;
Highlight with specific colors current and next due dates (on Student Task page).&lt;br /&gt;
Check for correction in due dates of assignments&lt;br /&gt;
On the Student Task page, separate the list of 'teamed with' students from the current tasks box.&lt;br /&gt;
Show required action on: every student has to review others work and give feedback.&lt;br /&gt;
Write all the required tests before implementing/refactoring the methods in the above mentioned classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Additional tasks accomplished by our team are:&lt;br /&gt;
&lt;br /&gt;
Added pagination to past-due assignments on task list&lt;br /&gt;
Made various UI enhancements to the student_tasks page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding past-due assignments to task page ==&lt;br /&gt;
Currently, the student task list consists of one list of all assignments that are and have been assigned to the student regardless of their due date. Now a separate table exists for assignments that are past due. This table is sorted to show the most recent past due assignments at the top of the table. The table that used to be all student tasks is now assignments that are currently due. This table is sorted by due date to show assignments that are due the soonest at the top of the table. &lt;br /&gt;
&lt;br /&gt;
This change mostly involved changes to the student_task_controller.rb and list.html.erb files. A helper function was also added to the student_task_helper.rb file to break a string into multiple lines, even in the middle of a word, if it contains a word that is very long.&lt;br /&gt;
&lt;br /&gt;
In the student_task_controller.rb, a separate instance variable was created to contain only student tasks that are past due and sorted by date. The existing instance variable was recycled to contain all of the student tasks that are still currently due.&lt;br /&gt;
&lt;br /&gt;
In the list.html.erb file a new table was created to hold all of the past assignments. Both the current assignments and past assignments tables are also individually paginated if there are more than 10 of either.&lt;br /&gt;
&lt;br /&gt;
To create the ability for the will_paginate gem to add pagination based on an array the will_paginate_array_fix.rb file was added to the initializers folder.&lt;br /&gt;
&lt;br /&gt;
[[File:PastDueAssignments.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Highlighting current and next due dates ==&lt;br /&gt;
Currently, all of the tasks in the table have a white background regardless of when the task is due. To make it more apparent when due dates are approaching, each row will now highlight green, yellow, orange, or red depending on how many days out the assignment is due.&lt;br /&gt;
&lt;br /&gt;
This change involved adding a function to the student_task_helper.rb file as well as a change in list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The change in student_task_helper.rb was a function that receives a due_date in Time format, converts it to DateTime then does a subtraction to DateTime.now to get how many days until the due date. Based on the result the function will return a string containing a color that will be the background of an individual row in the current assignments table.&lt;br /&gt;
&lt;br /&gt;
== Checking for corrections in due dates of assignments ==&lt;br /&gt;
NOTE: These changes have not been tested, as we have been unable to access the assignments page. The team has been working with TAs, our project mentor, and the Expertiza support team on this issue, but it is still open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separate Teamed-with list from task list ==&lt;br /&gt;
Currently, the current tasks list, as well as students you have worked with, exist in the same box. This looks cluttered, so they have been separated to be their own boxes.&lt;br /&gt;
&lt;br /&gt;
This change involved editing list.html.erb.&lt;br /&gt;
&lt;br /&gt;
The information about students you have worked with was moved out of the existing &amp;quot;taskbox&amp;quot; div tag and into its own &amp;quot;taskbox&amp;quot; div tag to separate it. &lt;br /&gt;
&lt;br /&gt;
[[File:StudentsTeamedWith.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Show required action for reviews ==&lt;br /&gt;
NOTE: These changes have not been tested, as we have been unable to access the assignments page. The team has been working with TAs, our project mentor, and the Expertiza support team on this issue, but it is still open.&lt;br /&gt;
&lt;br /&gt;
Presently, the required actions list does not show entries for review tasks. That is, the list only displays tasks that have yet to be started. Therefore, once an assignment has been submitted, additional required actions such as reviews do not appear. In order to solve this problem, a few lines of code were added to student_task_controller.rb. This code retrieved all active student tasks, and adds tasks which both are in the review phase and for which the student has yet to submit a review to the required task list.&lt;br /&gt;
&lt;br /&gt;
== Separating current and past task lists ==&lt;br /&gt;
As mentioned in the “Adding past-due assignments to task page” task, the primary assignment list on the student_task page has been updated. In our new version, the list separates tasks that have been completed from ongoing tasks. This both improves the page aesthetically as well as draws attention to ongoing tasks. Previously, these were often buried underneath many past tasks which were already completed.&lt;br /&gt;
&lt;br /&gt;
== Added pagination of past-due assignments ==&lt;br /&gt;
Another task completed which enhances the usability of the student_task page is adding pagination to current and past assignments. Specifically, If there are more than 10 past or current assignments due, each table will individually paginate. Meaning you could be on page 2 of current assignments but also page 4 of past assignments. This makes the lists easier to read and parse for users with many tasks.&lt;/div&gt;</summary>
		<author><name>Bjyounce</name></author>
	</entry>
</feed>