E1785 OSS project Beige: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''E1785.UI features related to revision time'''
'''E1785 - UI FEATURES RELATED TO REVISION TIME'''


This page provides a description of the Expertiza based OSS project.
This page provides a description of the Expertiza based OSS project.
Line 9: Line 9:
'''Problem Statement'''
'''Problem Statement'''


When a reviewer reviews a submission, the participant updates the submission if they find the review comments useful. Once the submission is updated, the reviewer will have to review it again when the second review cycle starts. However, since the reviewer may have multiple submissions to review, some of which are updated, and some that are not, it would be useful for him / her to be able to quickly identify the submissions that need attention. Currently, there is no way of doing this.
In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.


'''What needs to be done: '''  
'''What needs to be done'''  


The reviewer should know which submissions are updated since he/she submitted the review. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme like the one used in the “Review Report” page.
The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is: <br>


Red – If the review has not been started<br>
Red – If the review has not been started<br>
Orange – If the review was started, but not completed<br>
Orange – If the review was started, but not completed<br>
Brown – Submission has been reviewed  
Brown – Submission has been reviewed<br>
 
Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.


'''Solutions Implemented and Delivered'''
'''Solutions Implemented and Delivered'''
The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page. <br>


Changes:<br>
Changes:<br>
     <td>
     <td>
                    <td '''style="color:saddlebrown"'''>
        <td '''style="color:saddlebrown;"'''>
                        <%= link_to "View", {:controller => 'response', :action => 'view', :id => @latest_response.id} %>
            <%= link_to "View", {:controller => 'response', :action => 'view', :id => @latest_response.id}, {''':style=>'color:saddlebrown;''''} %>
                     </td>
                     </td>
                    <% if @assignment.get_current_stage(topic_id) != "Finished" %>
                    <% if @assignment.get_current_stage(topic_id) != "Finished" %>
                       <%- # show the link as edit when latest review is done in current deadline  -%>
                       <%- # show the link as edit when latest review is done in current deadline  -%>
                       <%- # show link as update when latest review is done in different deadline than current phase  -%>
                       <%- # show link as update when latest review is done in different deadline than current phase  -%>
                       <% if (last_response_round == current_round)%>
                       <% if (last_response_round == current_round)%>
                         <td>
                         <'''td style="color:orange;"'''>
                        <td '''style="color:orange"'''>
                           <% if (!@latest_response.is_submitted) %>
                           <% if (!@latest_response.is_submitted) %>
                               <%= link_to "Edit", {:controller => 'response', :action => 'edit', :id => @latest_response.id} %>
                               <%= link_to "Edit", {:controller => 'response', :action => 'edit', :id => @latest_response.id}, {''':style=>'color:orange;''''} %>
                           <%end%>
                           <%end%>
                         </td>
                         </td>
                       <% else %>
                       <% else %>
                         <td><%= link_to "Update", {:controller => 'response', :action => 'new', :id => map.map_id} %></td>
                         <td '''style="color:orange;"'''><%= link_to "Update", {:controller => 'response', :action => 'new', :id => map.map_id}, {''':style=>'color:orange;''''} %></td>
                        <td '''style="color:orange"'''><%= link_to "Update", {:controller => 'response', :action => 'new', :id => map.map_id} %></td>
                       <% end %>
                       <% end %>
                    <% end %>
                    <% end %>
                     <td><%= "  -- latest update at #{@latest_response.updated_at.strftime("%a, %b %d, %Y %I:%M:%S %p")}" %></td>
                     <td><%= "  -- latest update at #{@latest_response.updated_at.strftime("%a, %b %d, %Y %I:%M:%S %p")}" %></td>
           <%end%>
           <%end%>
             <% elsif @assignment.get_current_stage(topic_id) != "Complete" && @assignment.can_review(topic_id) %>
             <% elsif @assignment.get_current_stage(topic_id) != "Complete" && @assignment.can_review(topic_id) %>
                <td><%= link_to "Begin", {:controller => 'response', :action => 'new', :id => map.id} %></td>
                 <td '''style="color:#ff000d;"'''><%= link_to "Begin", {:controller => 'response', :action => 'new', :id => map.id}, {''':style=>'color:ff000d;''''} %></td>
                 <td '''style="color=#ff000d;"'''><%= link_to "Begin", {:controller => 'response', :action => 'new', :id => map.id} %></td>
                 <td>&nbsp;&nbsp;</td>
                 <td>&nbsp;&nbsp;</td>
            <% else %>
                <td>Begin</td>




Line 54: Line 53:


app/views/student_review/_responses.html.erb<br>
app/views/student_review/_responses.html.erb<br>
'''Screenshots of new implementation:'''
[[File:file:///Users/tanmaya/Desktop/scc.png]]
[[File:file:///Users/tanmaya/Desktop/scc2.png]]
[[File:file:///Users/tanmaya/Desktop/tanmaya.png]]

Latest revision as of 23:13, 2 November 2018

E1785 - UI FEATURES RELATED TO REVISION TIME

This page provides a description of the Expertiza based OSS project.

About Expertiza

Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.

Problem Statement

In Expertiza, students usually review several projects during a given time frame. We felt that since each reviewer would have multiple projects to review and some project may be updated without his/her knowledge it would be more convenient to the reviewer if he/she gets to know the status of the review without opening the project to be reviewed everytime. This helps the reviewer quickly identify submissions which need immediate attention.

What needs to be done

The reviewer should be able to know the status of any review he/she is doing. This can be done in UI of the reviewer’s page. The submissions can be color-coded using a scheme similar to the one used in the “Review Report” page for the instructor in expertiza. The color coding scheme implemented by us is:

Red – If the review has not been started
Orange – If the review was started, but not completed
Brown – Submission has been reviewed

Since the functionality for the links of “View”,”Begin”,”Update”,”Edit” are already present, the 'Begin' link is visible only when the review has not started, so the link is 'Red' to indicate review has not yet been started. Similarly the 'Edit' and 'Update' links are visible only after the reviewer has opened the project to be reviewed at least once. So both these links can be colored 'Orange' to indicate that the review was started but not yet completed. The 'View' link is visible only after the review was submitted, so the link can be coloured 'Brown' indicating that no further action is required on the reviewers behalf and the submission has been reviewed. Hence, by just colouring the links displayed to the reviewer, we are able to indicate the status of the review.

Solutions Implemented and Delivered

The lines in bold in the below snippet are the colour codes we added which will add button colour in the review page.

Changes:

            <%= link_to "View", {:controller => 'response', :action => 'view', :id => @latest_response.id}, {:style=>'color:saddlebrown;'} %>

<% if @assignment.get_current_stage(topic_id) != "Finished" %> <%- # show the link as edit when latest review is done in current deadline -%> <%- # show link as update when latest review is done in different deadline than current phase -%> <% if (last_response_round == current_round)%> <td style="color:orange;"> <% if (!@latest_response.is_submitted) %> <%= link_to "Edit", {:controller => 'response', :action => 'edit', :id => @latest_response.id}, {:style=>'color:orange;'} %> <%end%> <% else %> <%= link_to "Update", {:controller => 'response', :action => 'new', :id => map.map_id}, {:style=>'color:orange;'} %>

                     <% end %>
                    <% end %>

<%= " -- latest update at #{@latest_response.updated_at.strftime("%a, %b %d, %Y %I:%M:%S %p")}" %>

         <%end%>
           <% elsif @assignment.get_current_stage(topic_id) != "Complete" && @assignment.can_review(topic_id) %>

<%= link_to "Begin", {:controller => 'response', :action => 'new', :id => map.id}, {:style=>'color:ff000d;'} %>   


Files Updated:

app/views/student_review/_responses.html.erb

Screenshots of new implementation:

File:File:///Users/tanmaya/Desktop/scc.png

File:File:///Users/tanmaya/Desktop/scc2.png

File:File:///Users/tanmaya/Desktop/tanmaya.png