Closed pdpinch closed 9 years ago
@pdpinch: a few questions:
@pdpinch:
I've tested this functionality locally using the current master from EdX (and our current Jazkarta master branch). I am unable to reproduce the trouble you are reporting under the condition that the student enrolled in the CCX is also enrolled in the course from which the CCX was made.
If the student is not enrolled in the course, then I get exactly the same results you report.
As the system stands now, the student is shown the you are not currently enrolled in this course
language you see on the CCX info page if there is no active enrollment for them in the Course from which the CCX was made (see this code on the CourseEnrollment model). So the number of factors that could contribute to that text appearing is pretty much limited to those that would leave the student unable to see the course as well.
Can you verify that the student you have been testing with can see and participate in the course from which the ccx was created?
@pdpinch with regard to the relationship between this and #78, there is not currently a direct relationship. However, if/when #78 is resolved by switching away from the separate enrollment system for ccxs and courses, then the CourseEnrollment.is_enrolled()
method linked above would presumably operate with the CCX id, and then students might not need to be enrolled in the course any longer. There might still be a requirement though, because as I read the code access to the materials in a course is not solely determined by enrollment in that course.
There's quite a bit of work in the PR that incorporated the custom CCX ids that was aimed at piping all requests for access control on a CCX directly through to the course from which the CCX was built. I think this likely means that even if enrollment is directly in the CCX only, we'd still need to grant access to the course materials to the student, or we'd need to figure out how to duplicate the access control for courses onto CCXs (and that feels like a pretty big job to me).
Thank you for explaining how enrollment works currently.
I have a few issues with requiring that the CCX student be enrolled in the "master" course.
I'm not sure if it's better to tackle the enrollment requirement directly, or to address each of these issues separately. Perhaps 1&2 are just modifications to the CCX enrollment process. I'm not sure what can be done about 3.
When I tested it for @pdpinch on sandbox2o.mitx.mit.edu, I found that if the student is unenrolled from the course on which the CCX was based, the student is also unenrolled from the CCX. I also noticed that the student of the CCX doesn't have the option to unenroll him/herself from the CCX via the dashboard. I'm not sure if this is desired or not.
This seems to be related to #78
Currently on edge.edx.org, CCX students can be enrolled and unenrolled using "Batch Enrollment" and "Student List Management". However, when students are unenrolled using "Batch Enrollment" or "Student List Management", the list in "Student List Management" will not display the latest changes. https://github.com/edx/edx-platform/pull/8986#issuecomment-127276550
@pdpinch There is a separate ticket for the problem with "Student List Management" at https://github.com/jazkarta/edx-platform/issues/119 so I believe this issue can be closed.
As a coach, I enroll students through the membership tab of the student dashboard. But when I arrive at the CCX as a student, I still get a banner with the message, "You are not enrolled yet You are not currently enrolled in this course. Sign up for it here!"
For some CCXs, clicking the link and registering still doesn't get the student enrolled.
I suspect this issue may be addressed by #78 but I'm not sure.