CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer

From Expertiza_Wiki
Revision as of 02:19, 5 December 2016 by Sramakr9 (talk | contribs)
Jump to navigation Jump to search

Expertiza Background

Expertiza is an educational web application created and maintained by the joint efforts of the students and the faculty at NCSU. It’s an open source project developed on Ruby on Rails platform and it’s code is available on Github. Using Expertiza students can bid for a particular project topic and the faculty assigns the same to different groups. Students can track their grades for previous projects and make new submissions for current projects. It also allows students to review each other’s work and improve their work upon this feedback.

Project Description

Currently the instructor creates rubrics for an assignment through questionnaires which students use to review other students' submissions. The only way reviewers can suggest some more changes to the author is by using the 'additional comments' section in the review form which is not very helpful. In this project we will be looking towards improving this functionality by adding an extra medium through which multiple reviewers can collectively comment on the author's work and collaborate their answers in a constructive way. We are planning to achieve this by enabling alert messages to the authors and the reviewers who will use the newly created Google document links embedded into Expertiza. For every Assignment created, the Instructors have been given a new criteria to make the review comments as anonymous. Depending on the criteria set, the Authors will be provided with notifications on two things: the permission setting of the Google Doc(Allow users with link to comment only) and to make reviewer comments anonymous. The Author of every Assignment will then need to create a Google doc based on these notifications. The links once submitted can be accessed by reviewers to submit their reviews. The reviewers also get notifications if they need to review the Assignments anonymously. If the anonymous setting is enabled, the reviewers will need to log out from all their Google accounts before opening the Google doc. Once on the Google doc, the reviewer's comments will be posted anonymously, the reviewer's comment will be anonymous to both, other fellow reviewers as well as the author. This feature will help the author to better understand where is his work exactly lacking and how exactly should the changes be worked upon based on the comments received. The reviewers will just need the Google doc link to post comments and it wouldn't be required to login into Expertiza or any google account for using this feature.

Key Points To Consider

  • The alert message should only pop up when the Faculty has indicated to do so (alert messages only whe Google Doc hyperlinks are uploaded, and when Anonymous commenting is Enabled )
  • The Google Doc link needs to be added on the Assignment submissions page by the Author of the project
  • The settings for the Google Doc should be set to "Anyone with the link can comment" by the Author
  • A Peer Reviewer needs be directed not to login to any Google account to comment on the doc, and all Peer Reviewer comments shall be anonymous
  • Multiple commenting at a specific instance is taken care of by the Google Document settings and it will be placed one below the other

Approach

The first phase of our project aimed at embedding a Google document which enables the project Author to automatically generate a Google document with specified permissions for the reviews such that when a reviewer makes a comment it appears without his identity. We succeeded in authorizing the user to the Google documents by using the google-client-API (aouth + signet) credentials and the API console also showed positive results for the "request" sent over to the client and created a google document but to access that particular binary file we had to set the permission rights of the service account for which the google document is created which is different from the credentials account. We also tried hard coding and giving all access rights to anyone who wanted to open the file but it seems practically impossible to get those rights.

The second half of the project aimed at creating a flash box which directs the author to set the comment rights on the review google document as decided by the professor subject to the condition and complexity of the project. This will happen on the go and the author is notified to "enable commenting rights only" only if the faculty checks the option for that particular project. On the other side whenever the reviewers click on the google document link attached to the project for reviewing or commenting on a project they will get a notification alert to log out of all google accounts in order to assure the anonymity of the reviewer. This is done because google documents does not support complete anonymity. In this the assumption is that the google doc is created in the same manner as the other hyperlinks are added.

Creating Google document, Setting Up its Link

  • First and foremost a provision (button) for creating a Google document is added to the Your Work page of Assignments.
  • When the authors would select this button before submitting their assignment, a new Google doc is created.
  • The document's Sharing criteria is set using google docs API such that the authors of the team can edit the document.
  • Sharing criteria is also set such that anyone else having the link to this document can only comment.
  • The authors would then copy paste their content, to be reviewed, on to the document.


none
The expected display on the google documents


  • Now the file sharable link must be pasted while submitting an Assignment in expertiza as shown below.
  • The new Google doc link will be saved with other hyperlinks in the 'submitted_hyperlinks' column of 'teams' table.


none
The list of hyperlinks a project author would ideally have

Security Risks

As mentioned in the requirement document, there are 2 security risks associated with this project, they are:

  • A situation where the peer reviewer forgets to logout would result in his/ her name being added to the history of document edits which will reveal the identity.
  • Possible security violations like an user with access to the link deletes all the content on that doc.

Proposed solution to mitigate the risk:

  • When a reviewer goes on the page of submitted contents, he'll be shown an alert message to logout from google accounts if there exists a google docs link in the submitted content and instructor has enabled anonymous commenting.
  • The authors of the project will be shown an alert to modify the settings of their google doc to 'Anyone with the link can comment' when they submit a google doc link.


ScreenShot of google document settings


  • As it can be seen, Google doc has 3 access levels and the 'can comment' option will allow the users only to add more comments on the Google doc. They won't be able to edit or delete previously entered comments.
  • Doing this will ensure that no user even unintentionally will be able to delete or edit previous comments which might be of great value to the authors of that project.
  • Also the anonymity is handled if the user directly comments on the document without loging in into other google accounts.

Embedding the document editor in expertiza

  • When an instructor will create a new assignment, he should be able to select a checkbox if he wants to enable anonymous commenting for google docs.
  • If the instructor selects this then the authors will not be able to identify the individuals commenting on the doc.
  • The below image shows how we aim to create a checkbox about the same for the instructor.



  • We will try to create an alert message whenever the author submits a google doc link.
  • The alert message will ask the author to change the sharing settings of the doc to 'Anyone with the link can comment'.
  • This message should be thrown only when the author submits a google doc link and not any other link.
  • The below image shows the desirable alert message when author tries to submit a google doc link.



  • If the instructor has enabled anonymous commenting on google docs then the reviewer should see an alert message which will ask the reviewer to log out from all google accounts before opening the google doc link.
  • The reviewer will need to logout because google allows anonymous commenting on a doc only if the user is currently not logged into any google account.
  • The below image shows the desirable alert message when a reviewer tries to review a project which has google docs in its submission and anonymous commenting is enabled.


Project File and Database additions

  • The new outcome will involve accessing the database table 'assignments' and we will make a change to the schema of the table by adding a column 'allow_anonymous_commenting' of the type 'Boolean' to indicate whether the professor has asked the project developers to have a review document created with the rights of anonymous comments.
  • To incorporate the database changes we will generate a migration file in the "db" migrate named: '_add_allow_anonymous_commenting_to_assignemnnts.rb'
  • The 'factories' file in the spec will have a variable added with the default value set as 'FALSE'
  • '_genral.html.erb' page in the edit assignments view will have a 'check box' and a label added to it.
  • A function will be added in the 'assignments_form' model which sets the visibility to false/ true depending on the input
  • Newly added Google doc hyperlinks will be saved with other assignment hyperlinks in the 'submitted_hyperlinks' column of 'teams' table.

Testing Plan

This UI enhancement will be tested to check whether the following required functionalities are implemented successfully:

i. Any user having the doc link should only be able to comment on the Google doc
ii. Alert should be shown to the authors only while submitting a google doc link
iii. Users need not login to comment in the Google doc
iv. Alert should be shown to the reviewers only if the submissions contain a google doc link and anonymous commenting is enabled
v. Multiple comments made at the same time should not lead to any conflicts

References