CSC/ECE 517 Fall 2016 E1687 Instructor account creation over the web: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 52: Line 52:
Below is the table description of '''users''' table.
Below is the table description of '''users''' table.
[[File:Users.png]]
[[File:Users.png]]
Our '''request_users''' will also be having a new column called '''status''' which describes that the user is approved or rejected.
Our '''request_users''' will also be having a new column called '''status''' which describes that the user is approved or rejected.

Revision as of 04:13, 15 November 2016

E1687. Instructor Account Creation Over the Web

This page gives a detail of the final project of creating an instructor account over the web in Expertiza.


Introduction

Expertiza is a Ruby on Rails based open source project. The main motive of this project is to make learning more effective through peer review. This website is a result of combined effort of both students and faculty at NC State, and is used not just by this university but also in many other universities. The website allows students to form teams and work on various projects listed by the instructor and also suggest new topics that seem interesting, though they can opt not to work on them. It also makes it easy for the instructor to add a new topic to an assignment/project, create a new project and add students to it. The time spent by TAs and instructor is greatly reduced. The key feature is peer review, where the students can review the work of others and provide feedback. This helps in improving the existing work and also provides a new way to learn. There isn’t any restriction on the format of submission as it accepts any form of submission varying from URL to wiki pages, which isn’t a common feature in other websites.

Problem Statement

In Expertiza, user and instructor accounts are currently created by existing super administrators, instructors or TAs. For new users to access the system and experiment the features offered by Expertiza, a “demo-like” feature needs to implemented. The following are the set of requirements that needs to be catered with this feature:

  1. Allow people to request instructor accounts over the web. This feature should also have security features such as Captchas to help avoid account creation by bots.
  2. When a user account is created over the web, the super-admin should get e-mail regarding the same and also the user should be notified upon approval/denial (if denied, then reason should be specified).
  3. Currently, Expertiza consists of a lot of entities that can be made publicly visible to all other users in the system. But, accounts created this way should not be able to see existing public features, until the super-admin manually gives them permission to view public courses, assignments, and questionnaires.
  4. A user who creates an account over the web should be pointed to an instruction page and/or video on how to create an assignment and register students for it, etc.

Implementation

The following solutions shall be addressing the problems discussed above.

Problem 1

Once a user wants to register and try the features of Expertiza, upon opening the website, one can register through the “Demo” button. So the first page would look something similar to the figure below.

Clicking on “Demo” shall redirect to another page where the user enters his/her credentials. These shall be sent to the super admin for approval/denial of the account once the user clicks on “Register” button. This is also secured through captcha feature as shown below.

Problem 2

Once the user requests for an account creation, the super admin should be receiving a mail informing about the request (need not have the user name/id). The super admin shall then, look for the details of the user in the Requests tab and can either approve/decline the request. The UI would be as follows: As soon as the super admin performs an action, the user is notified about the same. But the reason is mentioned in the mail if the account has been rejected.

Problem 3

There shall be a flash message saying, “Login denied. Needs permission from super admin” that can be seen on the login page if an unregistered user tries to access the features of Expertiza. This helps in removing the access to few publicly visible features as it denies access completely.

Problem 4

Once the user account is approved by the super admin and the user tries to login upon notification, he/she shall be redirected to an “Instructions” page on successful login.

This page shall contain the video tutorials explaining various features of Expertiza and also n how to access them.

Files changed

The following are the list of files that shall be edited throughout the project.

  1. expertiza/app/views/auth/_login.html.erb
  2. expertiza/app/views/auth/_form.html.erb
  3. expertiza/app/views/mailer/partials/_register_html.html.erb
  4. expertiza/app/views/mailer/partials/_user_welcome_html.html.erb
  5. expertiza/app/views/content_pages/view.html.erb

Apart from these there shall be two new files created in the View.

Database Changes

We will be creating a new table called request_users with table description that is similar to users Below is the table description of users table.

Our request_users will also be having a new column called status which describes that the user is approved or rejected.