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

From Expertiza_Wiki
Revision as of 02:16, 15 November 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. This will be achieved by embedding Google docs into Expertiza. Every project will have a Google doc link for itself which the reviewers can access and make further comments about the project. 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 for using this feature.

Key Points To Consider

The Google doc editor needs to be embedded in expertiza or it should be made as a pop up window

  • The settings for the Google doc should be set to "anyone with link can comment"
  • A peer reviewer need not login to Google to comment on the doc, and all peer reviewer comments must be anonymous
  • If more than one user comment on the Google doc at the same time, any conflicts that may arise should be handled well

Approach

Generally, we can always create a Google document, slide presentation, or spreadsheet using Google Drive and then embed that document anywhere in our application using iFrame as a dynamic rich content editor. The rich content editor is used in features that support the editor (Announcements, Quizzes or Collaborative Reviewing in our case). Any time you make changes to the Google document (like comments), it will be automatically updated in the application's content editor.

Creating Google document, Setting Up its Link

  • First and foremost a Google document must be created, the content in which has to be submitted for collaborative peer reviewing, as shown in the below figure.
  • The document Sharing criteria should be set such that - Anyone with the link can comment.



  • This 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.


Publishing the document to Web

  • Open the File menu in Google doc and select Publish to the web....
  • Make sure that the Automatically republish when changes are made checkbox is selected. Click the Start publishing button.
  • When a confirmation prompt pops up, click the OK button.
  • Click on the Embed tab to get the below screen, now copy the text in order to use it in our expertiza code.



Security Risks

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

  • A situtation where more than one people comment on the doc and mess up the content.
  • Possible security violations like an user with access to the link deletes all the content on that doc.

Proposed solution to mitigate the risk:

  • To address these two issues we'll be modifying the access rights of the google doc associated with that project.
  • We'll by default assign all new users who access the page only the 'can comment' access right.

  • 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.

Embedding the document editor in expertiza

  • Our aim is to incorporate the dynamic content editor in the Review Assignments page, so that all the users can make collaborative suggestions in the document at the time of Review.
  • In order to embed this editor, the code needs to be added in the View page for student responses.
  • For example, to embed the editor for Assignment Responses the above code must be incorporated in the view.html.erb file in the response controller, as shown below.



  • On building the code and running expertiza, we must be able to see the Google doc editor successfully embedded in the Assignment Reviews page.



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 be able to edit the original Google doc
ii. Changes made in the original Google doc should be reflected in the embedded doc editor in expertiza
iii. Users need not login to comment in the Google doc
iv. All comments made must be anonymous
v. Multiple comments made at the same time should not lead to any conflicts

References