cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Community Member

Limit access to Course Settings access

Jump to solution

Hi there, I was wondering if anyone knew how to turn off the ability for TAs and Teachers to access and change the course settings. I can't see this anywhere in the permissions.

Our institution has set content and processes so we do not want anything in the settings to be changed by people other than admins.  Any help appreciated.

Thanks

Cameron

1 Solution

Accepted Solutions
Highlighted
Learner II

Are there specific course settings you're looking to disable? I don't think there is a way to disable it completely. I would first check the Canvas Permissions Documentation to see if some of the permissions can be disabled on a particular role to suit your needs.

Our institution had to restrict the ability for Teachers/TAs to access the Course Start/End Date fields and the Visibility Settings for each course. There were many issues discovered (which are too sensitive to go into detail for a public post), and this ability was a violation of some of our institution's policies. So we asked Instructure to create some custom JavaScript to hide these fields from anyone without an Admin role. I've posted it below. We're also considering hiding the 'Reset Course Content' button, so instructors have to call support to reset their courses completely.

$(document).ready(function () {

// Begin hiding settings from instructors at the course level  

    if(window.location.pathname.match(/^\/courses\/\d+\/settings/) && ENV.current_user_roles.indexOf('admin') < 0) {

        $('label[for=course_start_at]').parent().parent().hide();

        $('label[for=course_conclude_at]').parent().parent().hide();

        $('label[for=course_public_syllabus]').parent().parent().hide();

        $('label[for=course_is_public]').parent().parent().hide();

        $('label[for=course_is_public_to_auth_users]').parent().parent().hide();

        $('label[for=course_indexed]').parent().parent().hide();

    }

// End hiding settings from instructors at the course level

});

I hope this helps. I would test it in your test instance prior to pushing it to production. (You have to upload it in the Theme Editor for the Root Account). You could take this code a step further and hide additional items in the Course Settings page. Or, you might be able to modify it to hide the 'Settings' button in the left-hand nav completely, from anyone other than an Admin; however, I would discuss this option with an Instructure Implementation Consultant before proceeding.

View solution in original post

5 Replies
Highlighted
Learner II

Are there specific course settings you're looking to disable? I don't think there is a way to disable it completely. I would first check the Canvas Permissions Documentation to see if some of the permissions can be disabled on a particular role to suit your needs.

Our institution had to restrict the ability for Teachers/TAs to access the Course Start/End Date fields and the Visibility Settings for each course. There were many issues discovered (which are too sensitive to go into detail for a public post), and this ability was a violation of some of our institution's policies. So we asked Instructure to create some custom JavaScript to hide these fields from anyone without an Admin role. I've posted it below. We're also considering hiding the 'Reset Course Content' button, so instructors have to call support to reset their courses completely.

$(document).ready(function () {

// Begin hiding settings from instructors at the course level  

    if(window.location.pathname.match(/^\/courses\/\d+\/settings/) && ENV.current_user_roles.indexOf('admin') < 0) {

        $('label[for=course_start_at]').parent().parent().hide();

        $('label[for=course_conclude_at]').parent().parent().hide();

        $('label[for=course_public_syllabus]').parent().parent().hide();

        $('label[for=course_is_public]').parent().parent().hide();

        $('label[for=course_is_public_to_auth_users]').parent().parent().hide();

        $('label[for=course_indexed]').parent().parent().hide();

    }

// End hiding settings from instructors at the course level

});

I hope this helps. I would test it in your test instance prior to pushing it to production. (You have to upload it in the Theme Editor for the Root Account). You could take this code a step further and hide additional items in the Course Settings page. Or, you might be able to modify it to hide the 'Settings' button in the left-hand nav completely, from anyone other than an Admin; however, I would discuss this option with an Instructure Implementation Consultant before proceeding.

View solution in original post

Highlighted

Hi Jason,

Thanks very much for your help. I appreciate it. I'll check out the permissions guide recommended too.

As for the  Settings, taking another look, its pretty much everything in there I am reluctant to allow TAs etc to reconfigure (for the course I have in mind that is), i.e. dates, student nav set up course details etc. I wasn't too happy to see they could reset the home page to.

I think the code you shared may help us out and as you say may be able to be extended to suit our needs. Will give that a go.

Thanks again.

Regards

Cameron

Highlighted

I haven't tried this myself, but with regard to the 'TA' role specifically, you create a new role called 'Teaching Assistant' based off of the 'Student' role and then set permissions accordingly. I believe the traditional 'TA' role is like the 'Teacher' role in that it's base permissions are created by Instructure. The 'Student' role doesn't inherit the 'Settings' tab in the left-hand navigation by default. So if you create custom 'Teaching Assistant' role based off the 'Student' role, you might be able to get what you're looking for. There might be some drawbacks, such as if you're managing the current 'TA' role with your SIS or API. I'd be interested how something like this would work out...

Highlighted

Hi Jason, the code you forwarded achieved the outcome I was after. We'll also be able to hide the 'choose home page' by modifying that code too. Thanks again. 

I did try the Student-based role as suggested (called it TA Limited). For some reason when testing,  while the 'view all students submissions and make comments on them' was enabled, a test submission of work did not appear for comment as the new role might suggest.

The role also showed as 'enrolled as student' in the admin/users. As in pic.

Either way, feeling better about rolling out this course.

Thanks again

Cameron

Permission based on student role.jpg

Highlighted

Thanks for providing the these screenshots. That's pretty interesting how it turned out!

Labels