We had been pre-escaping display names like 'Math & Science' as
'Math & Science" in the REST API itself - which meant that
consumers like MFEs that do their own escaping displayed the wrong
thing.
It's better for the API to just leave the string as-is. As far as
I know, this only affects the gradebook and progress pages, both
of which do their own escaping of the result from the API already.
AA-808
The get_course_members API returns a dict of users associated with a course.
This is a potentially expensive operation on a large course, so there is a
control in place to limit its cost. If a course has more than
settings.COURSE_MEMBER_API_ENROLLMENT_LIMIT enrollments, then the function
raises an OverEnrollmentLimitException.
This API was added to help implement the LTI 1.3 Names and Roles Provisioning
service.
Jira references: [BD-24] [BB-2726] [TNL-7330]
Pull request: #25843
Co-authored-by: Giovanni Cimolin da Silva <giovannicimolin@gmail.com>
* Badgr integration fix
Badges are no longer created on the Badgr side with a given
'slug'. Instead, a slug(v1) or an entityId(v2) will be generated
for each badge on the Badgr side and we will need to use that
value to check if a certain badge matching a BadgeClass on our side
exists and/or to create assertions for it.
This commit introduces a new field to the badgeclass:
'badgr_server_slug' by cherry-picking the following commit from
3309aab2a2eb00d28c5ca3d3145c8dddb15e6159
- TTK-18543: fix Badgr Server
connection (https://github.com/teltek/edx-platform/pull/46)
This commit also modifies the cherry-picked commit by making the newly
added field optional since the BadgeClass is not neccessarily always used
with the Badgr backend.
Co-authored-by: mrey <mrey@teltek.es>
* Implement OAuth2 tokens flow for BadgrBackend
* Use Badgr v2 API
Co-authored-by: mrey <mrey@teltek.es>
The user_tasks app is only needed by a cms feature.
However, it has been listed under INSTALLED_APPS
for both cms and lms because app-permissions only ran
in an lms context until recently.
Since app-permissions now creates the user_tasks_admin
group in a cms context, the app can be safely removed
from lms's INSTALLED_APPS.
TNL-8274
[MICROBA-1075]
- Adds a new `edx.certificate.revoked` event to the LMS.
- Refactor of our certificate revocation functions in the GeneratedCertificate model.
This new event will be emit when a GeneratedCertificate with the status of `downloadable` is revoked (through the `invalidate(), mark_notpassing(), or mark_unverified() functions). Event will have a `source` field that will allow us how our certificates are being revoked from learners and can be broken down in the following way:
*Invalidate*
- allowlist_removal
- certificate_generation
- certificate_regeneration
- certificate_service
- certificate_invalidation_list
- bulk_certificate_regeneration
*mark_notpassing*
- certificate_generation
- notpassing_signal
*unverified*
- certificate_generation
[MICROBA-678]
Added cert availability date to the API used to get certificate status
by the learning MFE to support updated messaging.
Updated the cert availability messaging in the Coruse Dashboard,
including a text color change.
* docs: Add README to lms/templates/oauth2_provider
We wanted to move this single template into a djangoapp,
but there are technical limitations to us doing so.
This README helps explain the limitations so
future generations will know why this is here.
* Update lms/templates/oauth2_provider/README.rst
Co-authored-by: Robert Raposa <rraposa@edx.org>
* Update lms/templates/oauth2_provider/README.rst
Co-authored-by: Robert Raposa <rraposa@edx.org>
Co-authored-by: Robert Raposa <rraposa@edx.org>
For self-paced courses, we have decided to switch to showing the end
date as long as it is within 365 days rather than the expected
duration of the course.
[MICROBA-1052]
We are removing the cert_whitelist management command because it does
not provide a clear value with the current state of Certificate
generation on edx-platform. It adds a user to the whitelist table, but
does not generate a certificate.
We recommend using the exceptions tab in the Instructor tab of the LMS
Course.