jazkarta / edx-platform

the edX learning management system (LMS) and course authoring tool, Studio
http://code.edx.org/
GNU Affero General Public License v3.0
1 stars 0 forks source link

Student enrolled through coach dashboard isn't enrolled #109

Closed pdpinch closed 9 years ago

pdpinch commented 9 years ago

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.

screen shot 2015-06-19 at 8 17 46 am screen shot 2015-06-19 at 8 17 29 am

cewing commented 9 years ago

@pdpinch: a few questions:

  1. Is this on master?
  2. Is the student enrolled in the CCX also enrolled and has access to the course from which the CCX was created?
cewing commented 9 years ago

@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?

cewing commented 9 years ago

@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).

pdpinch commented 9 years ago

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.

  1. The master course is typically "closed" (past the end date and/or past the enrollment_end date) when the CCX runs.
  2. How does the CCX Coach get the student enrolled? (Maybe we can just do that for them?)
  3. With the current usage key implementation, the student dashboard will display the "master" course and the CCX.

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.

tssheth commented 9 years ago

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

tssheth commented 9 years ago

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.