[Permissions] Granular Course Import/Export Permissions
Scenario:
It's not uncommon for faculty to try importing from their old shells and get the entire course. Then, in the process of cleaning up the mess, they delete more than they should.
Not only does this cause a mess in the shells that students get to see, it also has the potential for faculty to import their own content, en masse, and completely disregard the established curriculum and evaluation methods used for accreditation and performance statistics (we can't determine if an assignment works well if faculty keep deleting or unpublishing it).
For a long time, we've used CSS and JavaScript to hide the buttons for importing and exporting content (include the new ones in the activity list pages), but these don't work on the mobile app!
Solution:
It's pretty straight forward, make all course content importing/exporting a separate permission set from creating content so it can be applicable across all access points (UI, API, and mobile apps). Sure, we'd get me copy/paste breakage, but overall it's significantly less to clean up.