Permissions

CodeGrade works with an extensive permission system to allow different types of users (roles) to access and manage things on the site.

The permissions are divided into site-wide permissions and course permissions. Site-wide permissions are administered by the site administrators and apply to all courses. Course permissions only apply to one course and CodeGrade users can have different roles and permissions for different courses.

Site Permissions

General site permissions can be accessed by the button, which is only visible to site administrators. Four roles are provided for site permissions: admin, staff, student and nobody (no role).

The available global permissions can be found in the table below.

Global permissions
Name Description
Add users Users with this permission can add other users to the website.
Snippets * Users with this permission can use the snippets feature on the website.
Edit user info * Users with this permission can edit their own personal information.
Edit password * Users with this permission can edit their own password.
Create course Users with this permission can create new courses.
Manage site users Users with this permission can change the global permissions for other users on the site.
Search users * Users with this permission can search for users on the side, this means they can see all other users on the site.

Course Permissions

Permissions and roles can be specified per course, this can be done in course management under the roles tab. The five default roles are: designer, observer, student, TA (teaching assistant) and teacher. Default roles can be removed, their permissions can be altered and new roles can be added to the course.

The available course permissions can be found in the table below.

Note

Roles can only be removed if no current users act in that role in the course.

Note

Tip: create a late student role to temporarily assign to students that are allowed to hand in late submissions.

Course permissions
Name Description
Submit others work Users with this permission can submit work to an assignment for other users. This means they can submit work that will have another user as the author.
Submit own work * Users with this permission can submit their work to assignments of this course. Usually only students have this permission.
Edit others work Users with this permission can edit files in the submissions of this course. Usually TAs and teachers have this permission, so they can change files in the CodeGra.de filesystem if code doesn’t compile, for example.
Grade submission Users with this permission can grade submissions.
See grade before done Users with this permission can see the grade for a submission before an assignment is set to “done”.
See others submission Users with this permission can see submissions of other users of this course.
See assignments * Users with this permission can view the assignments of this course.
See hidden assignments Users with this permission can view assignments of this course that are set to “hidden”.
Linter Users with this permission can run linters on all submissions of an assignment.
Edit assignment info Users with this permission can update the assignment info such as name, deadline and status.
Assign graders Users with this permission can assign a grader to submissions of assignments.
Edit .cgignore Users with this permission can edit the .cgignore file for an assignment.
Upload BlackBoard zip Users with this permission can upload a zip file with submissions in the BlackBoard format.
Edit course roles Users with this permission can assign or remove permissions from course roles and add new course roles.
Edit course users Users with this permission can add users to this course and assign roles to those users.
Create assignment Users with this permission can create new assignments for this course.
Upload after deadline Users with this permission can submit their work after the deadline of an assignment.
See assignee Users with this permission can see who is assigned to assess a submission.
Manage rubrics Users with this permission can update the rubrics for the assignments of this course.
View teacher revision * Users with this permission can view the teacher’s revision of their submitted work.
Grade history Users with this permission can see the grade history of an assignment.
Delete submission Users with this permission can delete submissions.
Update grader status Users with this permission can change the status of graders for this course, whether they are done grading their assigned submissions or not.
Update course notifications Users with this permission can change the all notifications that are configured for this course. This includes when to send them and who to send them to.
Edit the maximum grade possible Users with this permission can edit the maximum grade possible, and therefore also determine if getting a ‘bonus’ for an assignment is also possible.
View plagiarism Users with this permission can view the summary of a plagiarism check and see details of a plagiarism case. To view a plagiarism case between this and another course, the user must also have either this permission, or both “See assignments” and “See other’s work” in the other course.
Manage plagiarism Users with this permission can add and delete plagiarism runs.
List course users * Users with this permission can see all users of this course including the name of their role.
Edit own groups * Users with this permission can edit groups they are in. This means they can join groups, add users to groups they are in and change the name of groups they are in. They cannot remove users from groups they are in, except for themselves.
Edit others groups Users with this permission can edit groups they are not in, they can add users, remove users and rename all groups. Users with this permission can also edit groups they are in.
Edit groups after first submission Users with this permission can edit groups which handed in a submission. Users with this permission cannot automatically edit groups, they also need either “Edit own groups” or “Edit others groups”.
View others groups * Users with this permission can view groups they are not in, and the members of these groups.
Edit group assignment Users with this permission can change an assignment into a group assignment, and change the minimum and maximum required group size.
Edit group set Users with this permissions can create, delete and edit group sets.
Create groups * Users with this permission can create new groups in group assignments.

Note

Permissions indicated with * are added by default for new roles.