edx-enterprise project is integrated with
edx-platform Django admin. It can be accessed at
$LMS_SERVER_ADDRESS/admin/enterprise. The current administrator interface is considered provisional until an
independent full-featured enterprise portal is built, so not much time was spent on improving admin tools UX.
So far, there are four items in the admin interface:
edx-enterprise admin site provides two ways to manage learners: The “Enterprise Customer Users” section
mentioned above, and the “Manage Learners” view. The “Manage Learners” view is recommended as it is easier to understand
and provides more features. To access it, first go to the “Enterprise Customer” section of the admin site, then click
on a customer, and then click on the “Manage Learners” button in the top-right corner of the page.
The Manage Learners view is meant to be used by non-technical staff to administer enterprise learners. It can be used to:
In order for course enrollment features to work,
edx-enterprise talks to the Course Catalog Service. Instructions
on how to set up and configure the Course Catalog service can be found at corresponding docs section of Course
Catalog and in
edx-enterprise Pull Request #7 (describes developer setup, but useful for a broader audience).
One particular quirk is that the Course Catalog Service, being an independent application, restricts access to
courses and programs according to ownership rules, so only users with certain roles can list all programs and courses,
edx-enterprise admin interface expects. This is covered in greater detail in aforementioned docs section.
Enrolling learners into courses or programs depends on Course Catalog integration, because
edx-enterprise uses the
Course Catalog API to fetch course and program information.
When “Course ID” input is filled, “Program ID” input is blocked and “Course Enrollment Mode” is automatically populated with course modes available for chosen course.
When “Program ID” input is filled, “Course ID” input is blocked and “Course Enrollment Mode” is reset to a list of all course enrollment modes
When learners are enrolled into a course or program, admins might choose to send enrollment notification emails. This admin section manages templates used to build such emails.
The template engine supports plaintext and HTML emails and allows substituting certain placeholders with real values, which are pulled from enrollment data (i.e. username, organization, course or program name, etc.). For details, refer to the help strings provided by the form.
You can preview emails in the template edit view using the “Preview (program)” and “Preview (course)” buttons in top-right corner.
One of the integrated channels available for an
EnterpriseCustomer is SAP SuccessFactors.
To integrate an
EnterpriseCustomer with SAP SuccessFactors:
Set up a TPA SAML Integration for the SAP SuccessFactors endpoint.
From the LMS Admin, ensure that your
EnterpriseCustomer record has its
identity_provider field pointing to the
SAML Integration created in the previous step.
This allows learners to create accounts using Single Sign-On from SAP SuccessFactors, and to have their course completion records sent back to SAP SuccessFactors.
From the LMS Admin, create an
SAP SuccessFactors Enterprise Customer Configuration record, and link it to your
Ensure that the record is marked
Active to allow the management commands below to send data via this channel.
These Django management commands send data to
EnterpriseCustomer‘s active, integrated channels.
They must be run from the command line on a server with the Open edX environment installed.
If data sharing consent is enabled for your
EnterpriseCustomer, then any Enterprise learners enrolled in the
associated courses must consent to data sharing, thus permitting their data to be sent back to SAP SuccessFactors.
If data sharing consent is not enabled for your
EnterpriseCustomer, then learner data may be sent to SAP
SuccessFactors without their explicit consent, so use these settings with care.
transmit_learner_data command sends course completion data for each
evidence of course completion exists for an enrolled learner.
“Course completion” is determined by differently for different types of courses.
# Login as the edxapp user, and enable the edxapp environment. $ sudo -u edxapp -Hs $ cd ~ $ source edxapp_env # adds $EDX_PLATFORM_SETTINGS to the environment, e.g. aws, openstack, devstack.. # View command help $ ./manage.py lms transmit_learner_data --help --settings=$EDX_PLATFORM_SETTINGS # Transmit learner data for all EnterpriseCustomers, to all active integrated channels. # * --api_user must be a user with staff access to all the courses linked to the EnterpriseCustomers. $ ./manage.py lms transmit_learner_data --api_user staff --settings=$EDX_PLATFORM_SETTINGS # Transmit learner data for a single EnterpriseCustomer, e.g. with uuid 12 $ ./manage.py lms transmit_learner_data --api_user staff --enterprise-customer 12 --settings=$EDX_PLATFORM_SETTINGS # Transmit learner data only to SAP SuccessFactors $ ./manage.py lms transmit_learner_data --api_user staff --channel SAP --settings=$EDX_PLATFORM_SETTINGS
|||Course Catalog Service API does not expose any means to get a list of modes supported by all courses in the program, so it relies on the administrator to choose the right mode. However, validation is performed on the back end, and if an unavailable mode is chosen, a list of available modes is shown in an error message.|