coursemology2 icon indicating copy to clipboard operation
coursemology2 copied to clipboard

Course duplication across instances behaviour to be spec-ed out and defined

Open cysjonathan opened this issue 2 years ago • 0 comments

1 Cannot clone entire course to other subdomain

Current behaviour: When duplicating entire courses, a user goes to the duplication page to clone from selected course to either new course or existing course. If I am in subdomain this.coursemology.org, I am unable to duplicate from selected course to new course in other.coursemology.org (there is no such option to select a different subdomain).

Desired behaviour: I should be able to select target subdomains where I am instructor/admin roles.

  • [x] Possible fix: current API does not seem to be able to specify the target instance to duplicate in. An update of existing API is required, and frontend should support a dropdown to select the availalbe instances.

(1) is solved by #7095

2 Cannot correctly fetch course information from other subdomains when "selecting" source course

Current behaviour: If I am in subdomain this.coursemology.org, and I want to select some other course to duplicate from, the dropdown selection will fail with a 404 as it is looking for this.coursemology.org/courses/xxx instead of other.coursemology.org/courses/xxx.

  • [ ] Possible fix: Course duplication page may make more sense if it only shows the current course, and disallow selecting other source courses.
  • [ ] Possible fix: Move the duplication page outside of the course level, to the instance level, update the fetch calls to reflect the correct subdomains and allow for cross-subdomain logins.

3 Cannot access duplication page as admin

Current behaviour: As admin, I cannot see duplicate data page of course I am not enrolled in. Access is denied.

Desired behaviour: Admins should be able to access all pages.

  • [x] ~~Possible fix: Update cancancan access control~~

Related to #2653, current conclusion is that admin-workaround would be enroll themselves as a course-manager to duplicate if needed, or to duplicate via console.

4 Normal instance users are able to propagate and duplicate courses, even though they are not instance instructors/admins

Current behaviour: As a course manager or owner, I am able to duplicate courses in the current instance. This is a backdoor that allows non-instructors/non-admins to create a propagate courses in the given instance.

Desired behaviour: TBD

  • [x] ~~Possible fix: Update cancancan to only allow users to duplicate data/courses if they are manager/owner of a course AND instructor/admin of the instance.~~

Current alignment is to leave the current behaviour, since TAs (who are normal instance users) may sometimes need to duplicate courses on behalf of the lecturer.

5 Add tests for duplication

For various components, to be listed out

cysjonathan avatar Apr 15 '22 07:04 cysjonathan