Canvas and Mastery are experiencing issues due to an ongoing AWS incident. Follow the status at AWS Health Dashboard and Instructure Status Page
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
Solved! Go to Solution.
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.
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.
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
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...
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
Thanks for providing the these screenshots. That's pretty interesting how it turned out!
Jason,
This gets me moving in the right direction for doing what my institution needs to do. Do you know if there's a way to adjust the code simply to block one role from viewing the settings? We need to be able to block a TA while still allowing an instructor to make changes to the settings.
Thanks,
Leslie
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.