How to convert all the enrollments from audit to professional or how to solve the problem with enable free certificates? in Ironwood
Hi @jaqusa!
What platform release are you running? If you are running the latest ironwood.2
there’s support for free certificates.
To set them up, you’ll need to follow these instructions:
- Make sure the feature flag that disables honor certificates is disabled. To set it, edit
lms.env.json
andcms.env.json
and edit theFEATURES
keys as following:
...
"FEATURES": {
...,
"DISABLE_HONOR_CERTIFICATES": false
}
}
- Then, follow the certificate set up instructions as per described in the edX documentation:
https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/enable_certificates.html - After the certificates are set up, you’ll need to add the
honor
mode to the courses that you wish to offer certificates. You can do that using the django admin panel: http://localhost:18000/admin/course_modes/coursemode/add/ (change localhost:18000 by the url of your instance).
You just need to setcourse
,mode
anddisplay name
and leave the other as defaults. - From that point on, Studio will enable you to set up certificates for the selected course.
With certificates enabled and set up, you’ll just need to make sure you users are enrolled as honor
instead of audit if you’re using and external enrollment API.
New users that enroll into the course through the platform will be enrolled as honor
.
As for changing enrollment tracks, I’m not sure if it can be easily done through django shell
, but there are some implications on the grades as described in the docs.
Hi @giovannicimolin
Thank you for your help.
I have already done all these steps before, the problem I have is that the users I register always register as audit.
Do you know how that can change?
How are you enrolling your users? Are they self-enrolling, or are you running some sort of bulk-enrollment command?
Hi @jill They are invited by the instructors of the courses through their instructor panel
@jaqusa Ah yes, thank you for the clarification.
The default course mode used by enrollments is determined by the LMS environment settings, so will require a sysadmin to change it for your site.
Ironwood
Update the /edx/app/edxapp/lms.env.json
to insert this block:
"COURSE_MODE_DEFAULTS": {
"name": "Honor",
"slug": "honor",
"bulk_sku": null,
"currency": "usd",
"description": null,
"expiration_datetime": null,
"min_price": 0,
"sku": null,
"suggested_prices": ""
},
Code references:
Juniper and above
Recent releases use a YAML file instead of the JSON file to set environment variables, so add this block to /edx/etc/lms.yml
:
COURSE_MODE_DEFAULTS:
name: 'Honor'
slug: 'honor'
bulk_sku: null
currency: 'usd'
description: null
expiration_datetime: null
min_price: 0
sku: None
suggested_prices: ''
Via ansible configuration
Add the above COURSE_MODE_DEFAULTS
block to the EDXAPP_LMS_ENV_EXTRA
variable.
hello all
I am using ironwood.2 and was able to switch default course mode of operation with below mentioned configuration.
“COURSE_MODE_DEFAULTS”: {
“name”: “Honor”,
“slug”: “honor”,
“bulk_sku”: null,
“currency”: “usd”,
“description”: null,
“expiration_datetime”: null,
“min_price”: 0,
“sku”: null,
“suggested_prices”: “”
},
I find it difficult to each time login as /admin and enable honor certificates
{
}
I Just want my staff to decide whether the course certificate to enabled or not. every time involving admin looks to be a little bottleneck for a small organization
any guidance here will be helpful
thanks
Venkat.S
@venkat.330 If you’ve set the default course mode to honor, do you actually have to create a new one for each course? I think that if there is no course mode created for a course, the system uses the configured default course mode.
I just ran into a similar issue as this, thanks @jill for the super helpful walkthrough!
I’d like to add just one additional tidbit: one will want to also include the COURSE_MODE_DEFAULTS
override in studio.yml
, or for an Ansible deployment add it to EDXAPP_ENV_EXTRA
instead of EDXAPP_LMS_ENV_EXTRA
.
Background, as far as I understand it: While CourseMode
is defined in the “common” course_modes
Django app that both the LMS and Studio use, it populates its DEFAULT_MODE
object at runtime from the django.conf.settings
import, which is different for the LMS and Studio. So by overriding COURSE_MODE_DEFAULTS
just for the LMS, it’s only the LMS that knows about them, and Studio does not. Thus for example if you try to add a certificate to a course, Studio will complain “This course does not use a mode that offers certificates.”
In short: for anyone using Studio, probably best to override COURSE_MODE_DEFAULTS
in the config files for both LMS and Studio, or use the EDXAPP_ENV_EXTRA
inventory variable for Ansible.