E1830 OSS Project Juniper: Bookmark enhancements

From Expertiza_Wiki
Jump to navigation Jump to search

Peer Review Information

For users intending to view the Expertiza Bookmark enhancement associated with this assignment, the credentials are below:

Instructor login: username -> instructor6, password -> password

Student Accounts for Impersonation : student6340, student6341; Assignment -> Exercises, CSC 456, Fall 2015

Introduction

Expertiza Background

Expertiza is an open-source educational web application developed on Ruby on Rails platform. Students and Instructors (including TA's) use this application though their credentials. Instructors can add new projects, assignments etc as well edit the previous ones and at a later stage can see the student submission and grade them. They can even put a time limit (deadline) for submitting the assignment. Students can form teams for the projects, submit their work through handles (Wiki page, link to a video etc). Students can even review their teammates and other peers, as well give them any suggestions if required.

GitHub hooks to Expertiza to encourage contributors. Expertiza project is supported by National Science Foundation.

Description of the current project

This project is intended to make Bookmarks more user-friendly, credible and valid. Bookmarks in expertiza are created by reviewers and can be used by authors for their work on any project. On each line of the signup sheet are two icons, one for adding a bookmark to the topic, and another for viewing bookmarks on the topic. If the instructor allows the participants to create bookmarks, then only a participant has access to create and view them. He should be able to create a new Bookmark only if he enters a valid one.

Now a new rubric is added for reviewing the bookmarks added to a topic and this is accessible only to members belonging to the topic. Therefore ratings can be now done via a drop-down or rubric.

Issues

Problem 1


When a user after logging into expertiza goes to 'Create New Bookmark page" or "View existing bookmarks page", he's not able to go back to Sign-up sheet using "back" button.



Solution :



Problem 2

Bookmarks had only one option while reviewing and it was to use a drop down to give a score. Also the average rating metric had a bug and hence showed wrong values even when bookmark was not reviewed. The bug was fixed and the rubric feature was adding a new controller.

Now choosing "Scale" Option instead of "Dropdown" allows one to use a rubric instead.



The rubric for rating the bookmark shows up as a link that looks as follows :



The rubric looks like :



Testing Plan

Scope of our changes

The changes made in this project affect the Bookmark Controller so tests are written for its validity.

Also we noticed that the Bookmark Model didn't have any testing done so we are planning to test that.

While manually testing for correctness we came the issue of average rating present even when no rating of the bookmark was added, additionally the computation of average had a bug and was hence giving wrong average value.

The picture below shows the the bug the previous code had :

It shows an average rating value of 4.0 even when no review was done.

Files modified in current project

1. Fixing Average problem and adding Rubric feature  :

The following files were modified for fixing the average rating bug and adding rubric for the same.

app/models/bookmark_rating_response_map.rb

app/controllers/bookmark_rating_questionnaire_controller.rb

app/controllers/bookmarks_controller.rb

app/controllers/response_controller.rb

app/views/assignments/edit/_rubrics.html.erb

app/views/bookmarks/bookmark_rating.html.erb

app/views/bookmarks/list.html.erb

app/views/response/view.html.erb

config/routes.rb

2. Tests for Model and Controller :

spec/controllers/bookmarks_controller_spec.rb

spec/models/bookmark_spec.rb

spec/factories/factories.rb

Automated & UI Testing

Automated RSpec tests were added to ensure the bookmarks are valid. Separate tests were written for the Bookmark Model and BookmarkRating Controller files. The videos of the tests are uploaded onto YouTube and the links are provided in the references section.

Below shown is the coverage details



a) Back button for the page "View Bookmark" and "Create Bookmark" was resolved.

1. Login with the credentials to expertiza.

2. Go to 'My assignments' and select OSS Project/writeup.

3. Select 'Signup sheet'.

4. Many titles for projects are shown. Select a title and choose either 'View Bookmark' or 'Add Bookmark' button

5. If you choose 'View Bookmark', after viewing, press the back button to go back to Signup sheet.

6. You will land up in Sign-up sheet page.

7. If you choose 'Add Bookmark', you can add by giving Bookmark details and save it.

8. Now press back button.

9. You will land in Sign-up sheet page.


b) Adding Bookmark Rubric.

1. Login into the expertiza with the Instructor/TA credentials.

2. Go to 'Manage Content -> Questionnaires'

3. Select new public/private item under BookmarkRating

4. Fill in with required values and create it.

5. After this if you go to bookmark rubric option it should be visible


c) Allowing Bookmark Rubric.

1. Login into the expertiza with the Instructor/TA credentials.

2. Go to 'Manage Content -> Assignments'

3. Select the appropriate project

4. Now edit the project.

5. Check the box "Allow participants to create bookmarks?" under Topics tab if not done already.

6. Choose the appropriate rubric from the list or create one following steps from above.

7. Now under Rubrics tab choose the "Scale" option for Scored-question display style.

Future Work

1. A reviewer can be recognized or credited if he added useful bookmarks i.e if the author has made use of the bookmark.

2. A function to add badges automatically if a participant had submitted more than threshold number of useful bookmarks.

3. The UI is basic and it can be further improved.


References

1. Expertiza on Github : https://github.com/rahuliyer95/expertiza

2. Videos on YouTube : https://youtu.be/F95FA9Iam0s, https://youtu.be/tPpowgNRINk

3. Pull Request : https://github.com/expertiza/expertiza/pull/1266