CSC/ECE 517 Fall 2017/E1796. Unify Create Assignment and Edit Assignment pages: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
E1796. Unify Create Assignment and Edit Assignment pages
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===
===Introduction===
Expertiza is an open source project based on Ruby on Rails framework. It 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. It also supports team projects, and the submission of almost any document type, including URLs and wiki pages. Expertiza enables the instructor to create new and customize existing assignments. It also enables the instructor to create a list of topics the students can sign up for as part of a project. Students can form teams in Expertiza to work on various projects and assignments. Expertiza supports submission across various document types, including the URLs and wiki pages.
Expertiza is an open source project based on Ruby on Rails framework. It 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. It also supports team projects, and the submission of almost any document type, including URLs and wiki pages. Expertiza enables the instructor to create new and customize existing assignments. It also enables the instructor to create a list of topics the students can sign up for as part of a project. Students can form teams in Expertiza to work on various projects and assignments. Expertiza supports submission across various document types, including the URLs and wiki pages.

Revision as of 03:51, 15 November 2017

E1796. Unify Create Assignment and Edit Assignment pages


Introduction

Expertiza is an open source project based on Ruby on Rails framework. It 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. It also supports team projects, and the submission of almost any document type, including URLs and wiki pages. Expertiza enables the instructor to create new and customize existing assignments. It also enables the instructor to create a list of topics the students can sign up for as part of a project. Students can form teams in Expertiza to work on various projects and assignments. Expertiza supports submission across various document types, including the URLs and wiki pages.

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. Few other minor issues are validating the user entries and fixing tooltips so that they are supported across all the browsers.( Chrome, Safari, Firefox etc.)

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.
When an Instructor creates a new assignment, he should be able to see a table to set DueDates, Review Strategy options and Rubrics associated with the assignments. These options are currently available to the instructor while editing an assignment. We will be adding options to be set during creation of new assignment. Fields to add suggested topics will be excluded for new assignment creation.
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.

Approach

In the improved view of New Assignment instructor will be able to specify details under four tabs as shown in the below screenshots

In the General tab the instructor is now able to see all the options from the old view.

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.
Form submission validates the attributes of all associated models.