HOW TO create private courses using Open edX.

671 views
Skip to first unread message

José Ruipérez

unread,
Jan 30, 2014, 7:14:38 AM1/30/14
to edx-...@googlegroups.com
Hi everyone,

In a college environment we would like to configure Open edX to offer private courses for specific groups of students. Thus we need to accomplish two things:

  •  First, students cannot register to courses on their own will, so course enrollment must be closed. For what I've seen this can be done by setting enrollment dates in the past. Is there any other (better) way?
  • Second, we need to manually register students to the courses they should be taking. I know that if students have already created their account, the instructor can add them by their email to the course. But, what would be the best way to manually create accounts and enroll them in the courses they have to take? I have two thoughts:
    •      To generate a script that would use edX functions (_do_create_account and enroll_by_email located in \edxplatform\common\djangoapps\student\views.py). This script should be executed in Django-shell (would this be possible?) to be able to access edX API.
    •       To directly generate accounts and enrollments accessing the databases (MySQL and MongoDB) without using edX API. I think this could be dangerous because I would need to identify all the tables/models that should be created/modified in that process.

Please, if you think there is a better way to accomplish this or my hypothesis are wrong, feel free to enlighten me!

Thanks in advance,
José

Chris Dodge

unread,
Jan 30, 2014, 9:34:00 AM1/30/14
to edx-...@googlegroups.com
AFAIK, we don't have a means to "auto-create accounts" right now. Basically, you can auto-enroll someone (who may not have an account), but that user will still have to create an account with the same email address. However when he/she does so, that course will appear on his/her dashboard.

Jay Zoldak

unread,
Jan 30, 2014, 9:56:02 AM1/30/14
to edx-code
José --

I think the create_user django management command in common/djangoapps/student/management/commands is your best bet.

-- JZ

José Ruipérez

unread,
Jan 31, 2014, 12:44:11 PM1/31/14
to edx-...@googlegroups.com
Thank you very much for your helpful answers Chris, Jay.

Best regards,
José
Reply all
Reply to author
Forward
0 new messages