CSC/ECE 517 Fall 2017/E1786 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


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.


Issues

Problem 1 :

When a user after logging into expertiza wants to add a new bookmark or view existing bookmarks for the available projects, he will click on the buttons against the specific title. Once he goes to either 'Create New Bookmark page" or "View existing bookmarks page", he's not able to go back to Sign-up sheet using "back" button.


Enhancements to this problem :


We can go back to Sign-up sheet after clicking on "back" button.


Problem 2 :

If a user clicks "Add Bookmarks" button, he will be navigated to a "Add a new bookmark page" where he can give details of new bookmark (like URL, description etc ). A messgae " You've successfully created a new bookmark" is displayed on the console even if we give null values (i.e if we do not fill up those fields at all).



After creating an empty bookmark, we are displayed this message as below in the figure.


Enhancements to this problem:

Now, it shows an error message asking us to fill the fields.




Problem 3:

When the instructor doesn't give access for participants to add/view bookmarks, the participants are still able to access them. He un-checks "Allow participants to add bookmarks" button and participants are still able to access them.



Enhancements to this problem :

Now,if the instructor un-checks the button "Allow participants to create bookmarks?", the actions View and Add Bookmarks are no longer visible/accessible.


Files modified in current project

1. app/views/bookmarks/list.html.erb  : This file is a view for listing the existing bookmarks of a particular Title of the project.

2. app/views/bookmarks/new.html.erb : This file is a view for creating a new bookmark - (A valid one).

3. app/views/sign_up_sheet/_actions.html.erb : This file is a view for showing the actions against the title of the bookmark.

4. app/controllers/bookmarks_controller.rb : This file has the code regarding the access that instructor gives to students regarding Bookmarks.


UI Testing

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) Creating Blank(Empty) Bookmarks problem was resolved.


1. Login into the expertiza with the credentials.

2. Go to 'My Assignments'

3. Select OSS Project/writeup

4. Now choose the "Sign-up sheet".

5. You will be displayed with titles to all available OSS projects.

6. Choose the one for which you want to create/add a bookmark.

7. Try giving empty fields and press "ENTER".

8. You should be given a warning saying "Error occurred while creating bookmark. Make sure you entered all fields".

9. You will still remain in the same page unless you press 'Back' button.


c) Issue of having the access to create the bookmarks even though instructor denied the access was resolved


1.Login to expertiza as instructor.

2. Select 'Manage' tab and choose 'Assignments' from it.

3. Select OSS Project and to edit.

4. Click on 'Topic' button and see if the 'Allow participants to create bookmarks' is checked or not.

5. If it's checked, un-check it.

6. Now login into expertiza as student and select 'My assignments'

7. Click on OSS project/writeup.

8. Select 'Sign-up sheet' and you see all titles available for OSS projects.

9. Against each title, you can't see any buttons to either add/view bookmarks.

10. You can now repeat the process by checking in the button and see if the add and view button against the titles are accessible/not.


Future Work

1. A questionnaire can be built to grade a bookmark. Questions maybe like " How helpful was this bookmark? ", " Did you use this bookmark for your work? ".

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

3. A function to add extra credits automatically if a participant had submitted more than threshold number of useful bookmarks.


References

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

2. Video on youtube : https://youtu.be/3LiYCWUhJr8

2. Pull Request : https://github.com/expertiza/expertiza/pull/1039