CSC/ECE 517 Fall 2019 -E1974 Allow users to create an account and submit work to an ”assignment” Design: Difference between revisions
Line 59: | Line 59: | ||
6. Author can provide email id of co-authors in invite list of “Your Team” and will be able to view a url on page '''student_teams/view?student_id={id}''', which will be shared by author to his team mates to join this team. | 6. Author can provide email id of co-authors in invite list of “Your Team” and will be able to view a url on page '''student_teams/view?student_id={id}''', which will be shared by author to his team mates to join this team. | ||
===Changes for Conference's authors=== | ===Changes for Conference's co-authors=== | ||
1. When a co-author click on the URL shared by author to join his team | 1. When a co-author click on the URL shared by author to join his team |
Revision as of 03:51, 12 November 2019
This page provides a description of the Expertiza based OSS project.
About Expertiza
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.
Problem Statement
Existing Solution
Conference assignments are the type of assignments open for all the people. We can assign participants to assignments they are participating in, and they can submit their work for it. In today's scenario, participants share google doc, authors and co-authors name with instructor. Then instructor has to add those authors and co-authors as users in expertiza, assign them to the particular assignment.
Proposed Solution
This project concentrates on the use of expertiza assignments as conferences/journals. Using these assignments, people can submit their papers and get reviews for the same. The focus of this project will be to enable a particular conference participants to create an expertiza account and teams for conference submission by minimizing the inputs required from the application admin/instructor.
Task to be Accomplished
- Instructor should be able to create new link for Authors to join the Conference Assignments
- Author should be able to create account by clicking on the link. If author doesnt have an account
- Author should be assigned to a newly created team and should be able to create a link for co-authors to join the team.
- Co-Authors on clicking on link should be able to join author's team and should be able to submit work for the assignment.
Sequence Diagram
Design - The Gruby Details
Creating The conference type assignment
Following will be the high level steps the instructor would be performing to create a conference type assignment along with the changes required:
1. Instructor logs in with his credentials.
2. Instructor creates an assignment by checking a new check box - “Is conference style assignment”, to mark the assignment to be of conference type.
- This checkbox will be introduced in the Assignment’s edit page(app/views/assignments/edit/_general.html)
3. Based on the flag, once the assignment is created, a shareable URL will be displayed on the assignments page that can be used by the Instructor to share among students/authors. They will use this URL to be automatically assigned the given assignment.
- If the student does not have an expertiza account, he/she will be asked to create an account and will not be having a need to get it authorized from the admin as only those people will be able to create an account in expertiza with whom the link is shared.
The usage of the url and it’s working will be discussed in the next part.
Changes for Conference's authors
Following will be the high level steps the Author would be performing to create an account:
1. After instructor has created new assignment and a team for this assignment, instructor will be able to see a URL which will be shared by him with potential authors so that they can use their existing expertiza accounts or create new accounts to add submissions to the assignment. Creation of new account will not require approval from instructor/admin. URL will be visible on page /assignments/{id}/edit .
2. If Author already has an account he will be able to view assignment and his team. If Author account does not exists he will be redirect to page /users/request_new?role=Student. On this page author can input all the required details to create Author account with role as student. This account will not require any approval from instructor to activate account.
3. After Author account is created, the author can add co-authors to this assignments.
4. Author can login in and navigate to assignment -> Your Team and invite co-authors for this assignment.
5. Adding co-authors two cases either the co-author account already exists or a new user will be created if co-author account is not present.
6. Author can provide email id of co-authors in invite list of “Your Team” and will be able to view a url on page student_teams/view?student_id={id}, which will be shared by author to his team mates to join this team.
Changes for Conference's co-authors
1. When a co-author click on the URL shared by author to join his team
- If co-author already has an account, he will be asked to login and will be able to view his team and assignment.
- If co-author does not exists, he will be redirected to page /users/request_new?role=Student. On this page all the details required to create a new user will be entered and a student account will be created which not require approval from instructor to activate account.
2. Co-authors email will be verified while creating student account to validate if co-author is same person which author intended to add on his team.
Files to be changed
Teammates
Mentor - Prof. Edward Gehringer
- Sameer Adhikari (sadhika2)
- Gurman Singh (gsingh23)
- Garima Garima (ggarima)
- Bharat Bhardwaj (bbhardw)