CSC/ECE 517 Fall 2017/E1796. Unify Create Assignment and Edit Assignment pages

From Expertiza_Wiki
Revision as of 03:27, 15 November 2017 by Jjohn3 (talk | contribs)
Jump to navigation Jump to search

E1796. Unify Create Assignment and Edit Assignment pages

The current new assignment UI is a Rails based From, while the Assignment Edit Form is a multi level JavasScript based form (view/assignment/edit/.*) that consists of multiple inputs and user interactions. When an instructor creates a new assignment, there are only a limited parameters that he can set in the creation page, then (s)he needs to edit the assignment to define the rest of the parameters. This is confusing and needs to be unified. One solution could be ditching the new assignment form (views/assignment/new.html.erb)

Introduction

Problem Statement:

In the Expertiza portal presently when an instructor wants to create a new assignment then as he selects a new assignment option only a few metrics are asked for while for mentioning the other metrics the professor needs to edit assignment and then under that he is shown the options to edit all the other metrics. Also, when we press the save button while creating or editing an assignment it goes to HTML form request, instead it should be changed to AJAX request so that the page does not need to get refreshed every time user saves the changes.

Scope of this Project:

Specific Improvements to assignment creation by navigating the user for creating a new assignment to edit assignment page(view/assignment/edit_assignment). Making sure the edit assignment has blank fields in case of new assignment and saved fields in case of editing. Fixes to tooltips so that it is supported across all the browsers Change the save button to AJAX request instead of HTML form submission so that the page doesn’t need to get refreshed every time the user save the changes.

Use Case Diagram:

Current Flow:

This page is displayed in the present system when a professor wants to create a new assignment as we can see there are only very few metrics on this page which are being displayed.




While under Edit assignment the professor can now mention all the various metrics regarding the assignment on this page.

Improvements

Design Pattern

1.MVC – The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).
2.Dry Principle – We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.

Files to be Modified

view/assignment/edit/.*
views/assignment/new.html.erb
views/assignment/*
controller/assignment_controller.rb

Test Plan

Manual and automated testing to be done for below cases.
As an Instructor, clicking on Manage->Assignments should display all created assignments with correct directory, creation date, updation date, instructor id, and actions.
As an Instructor, clicking on Manage->Assignments->actions of an assignment should successfully redirect to action page.
As an Instructor, clicking on Manage->Assignments->new public assignment,will redirected to "Create New Public Assignment" Page.
As an Instructor, clicking on Manage->Assignments->new private assignment,will redirected to "Create New Private Assignment" Page.
As an Instructor, clicking on Manage->Assignments->new public/private assignment, "Create New Public/Private Assignment" should render a table with tabs "General", "Rubrics, "Review Strategy", "Due Dates".
As an Instructor, clicking on "Rubrics" tab from "Create New Public/Private Assignment" page, the tab should display table to select Questionnaire, menu type, display style, weight and notification limit.
As an Instructor, select review type, author feedback type, and Teammate review option from the drop down from "Rubrics" tab.
As an Instructor, select Review Strategy from drop down on "Rubrics" tab from "Create New Public/Private Assignment".
As an Instructor, set number of reviews done by each student on "Review Strategy" tab from "Create New Public/Private Assignment".
As an Instructor, Set minimum number of reviews done for each submission on "Review Strategy" tab from "Create New Public/Private Assignment".
As an Instructor, Set both calibrated and uncalibrated artifacts on "Review Strategy" tab.
As an Instructor, select Anonymous Review option on "Review Strategy" tab.
As an Instructor, select allow self review on "Review Strategy" tab.
As an Instructor, set due dates on "Due Date" tab from "Create New Public/Private Assignment".
As an Instructor, set number of submissions allowed on "Due Date" tab from "Create New Public/Private Assignment".
As an Instructor, set number of reviews allowed on "Due Date" tab from "Create New Public/Private Assignment".
As an Instructor, set number of teammate review allowed on "Due Date" tab from "Create New Public/Private Assignment".
As an Instructor, after updating the fields on all tabs and clicking on save should create an assignment form in database.
As an Instructor, after saving the new assignment, redirect to edit page to update Signup topics.
As an instructor, save should not reload the page while creating a new assignment.
Test when instructor creates a empty template for assignment form.
Test when name of the assignment is not unique.
Test when late policy is not created for instructor, and instructor tries to create a new assignment.
All Users should be able to see tooltip of respective actions on all Browsers.
As an instructor, delete an assignment.