Maple

The Maple master branches were created on Oct 15, 2021. Changes on master should no longer be noted here. Put them on Nutmeg instead.

 

 

The 13th Open edX community release will be named Maple. It will be released December 20th, 2021. The maple.master branches will be created two months earlier, on October 9th. Code on master as of October 9th will be part of Maple. Code merged after that will need special handling to be part of Maple.

Put stuff here that we have to remember when we start packaging up for Maple.  Especially important is information that system installers or operators will need to know. Please include your name when you add an item, so that we can get back to you with questions.

Operational

  • Impeding Breaking Changes (Dec 2021): @Julia Eskew (Deactivated) @Connor Haugh (Deactivated)

    • The current LTI Component XBlock provides an option to "View resource in a New Window", which uses JS to launch a new window/tab. Our ORA XBlock opens modals via JS. These capabilities were removed in Chrome v92. Chrome provided a temporary work-around which we now use. The current work-around might cease to work on Dec 14th, 2021, but has been slated to continue until January 2022. A longer term fix is prioritized, and should make its way into Maple. Just want to flag this to make sure it gets included.

  • Studio login changed to OAuth: @Tim McCormack

    • Studio previously shared a session cookie with LMS, and redirected to LMS for login. Studio is changing to become an OAuth client of LMS, using the same SSO configuration that other IDAs use. (See ARCHBOM-1860; OEP-42.)

    • This is a breaking change; follow the Studio OAuth migration runbook as part of upgrading to Maple.

      • For devstack, run ./provision-ida-user.sh studio studio 18010

  • django-cors-headers version updgraded: @Awais Qureshi

    • django-cors-headers version upgraded to 3.2.0. CORS_ORIGIN_WHITELIST now requires URI schemes. You will need to update your whitelist to include schemes, for example from this: CORS_ORIGIN_WHITELIST = ["foo.com"] to CORS_ORIGIN_WHITELIST = ["https://foo.com"]

Feature Changes

Learning Micro-Frontend

The Learning MFE (including both “courseware” and the “course home”) is planned to be the default course experience in Maple.

The Nutmeg release will likely entirely drop support for Legacy (that is, LMS-rendered) course experience entirely.

Details:

Certificates

  • Various bug fixes and updates around course certificate generation (@crice (Deactivated), @Justin Hynes)

    • Removal of the allow_certificate field on the UserProfile model has been completed, and the column has been dropped (DEPR-140: Remove `allow_certificate` field of UserProfile model in edx-platformRemoved).

      • Note: if your UserProfile table has a lot of rows, the migration to drop the column could lock the table and necessitate a status page/downtime.

    • The temporary waffle flag certificates_revamp.use_allowlist has been removed, as testing during the rollout of this feature has been completed. All course runs now use the new allowlist behavior, which is described here.

    • Code to generate a new or update an existing course certificate has been consolidated (DEPR-155: Replace Course Certificates generation code in edx-platformRemoved ).

      • The temporary waffle flag certificates_revamp.use_updated has been removed, as testing during the rollout of this feature has been completed. All course runs now use the new consolidated course certificate behavior, which is described here.

      • Code to generate (create or update) PDF course certificates has been removed from edx-platform.

      • The fix_ungraded_certs, regenerate_user, resubmit_error_certificates, and ungenerated_certs management commands have been removed. In their place, please use the cert_generation command.

    • In an effort to be more inclusive, code referencing a Certificate Whitelist has been updated to instead refer to a Certificate Allowlist. The CertificateWhitelistmodel has been replaced by the CertificateAllowlistmodel (data was automatically copied over to the new model).

    • The management command named cert_whitelist has been removed. In its place, please use the Certificate Allowlist, which can be accessed from the Instructor tab on the course page in the LMS. (DEPR-156: Remove the cert_whitelist management command from the Certificates app in edx-platformRemoved)

    • The Segment event edx.bi.user.certificate.generate will no longer emit from the courseware when self-generated certificate generation is attempted by a user. There was some overlap in this Certificate event with the edx.certificate.createdevent sent during certificate generation. A self-generated certificate event will have a generation_mode of self (versus batch for certificates generated automatically).

    • Removed use of the modulestore wherever possible in the certificates Django app of edx-platform. Changes include:

      • Using a course’s CourseOverview over retrieving course data from the modulestore

      • Supporting change: Update the list_with_level function in the Instructor Dashboard to accept a course-id over the entire course object (PR: 27646)

    • Removed the AUDIT_CERT_CUTOFF_DATE setting. Awarding Audit certificates will not be supported in V2 of Course Certificates (DEPR-159: Removal of AUDIT_CERT_CUTOFF_DATE settingRemoved).

    • Removed the openedx/core/djangoapps/certificates app by merging the single api.py file into lms/djangoapps/certificates.

      • All APIs functions have been been moved as is, so if you have any code in a third party repository that used this API, please point them to the new path. openedx/core/djangoapps/certificates/api.pylms/djangoapps/certificates/api.py

  • Removed backpopulate_program_credentials management command in place of an updated notify_credentials command (@Albert (AJ) St. Aubin (Deactivated) )

  • LTI Config Model URL has been updated

    • URL of the LTI Config Model has been updated. This configuration is used to enable LTI PII sharing per course.  The impact of this update is that anyone who has bookmarked the LTI Django Admin model will need to update their pointer.  The new model admin is available in studio admin at : “admin/lti_consumer/courseallowpiisharinginltiflag/”.

    • https://openedx.atlassian.net/browse/TNL-8524

Other

  • Studio: Course and library creation rights can now be granted on a per-organization basis.

    • Pull request: https://github.com/edx/edx-platform/pull/26616

    • Contact: @Farhaan Bukhsh @Kyle McCormick (Deactivated)

    • As before:

      • Controlled content creation rights feature must be enabled via the FEATURES['ENABLE_CREATOR_GROUP'] flag.

      • Creation rights are requested by new users on the Studio page.

      • Administrators handle requests by modifying records in the course_creators admin app: <STUDIO_ROOT>/admin/course_creators/coursecreator/

    • However, administrators will now have a new capability when granting access:

      • Admins may now uncheck “All Organizations”, and instead select one or more particular organizations from the list.

      • Users granted creation access in this manner will only be able to create courses or libraries under the specified organizations.

      • This change is backwards-compatible: existing creation right grants will continue to apply to all organizations, and “All Organizations” remains the default option when granting new rights.

      • However, administrators can safely modify the organization settings on existing creation right grants if they would like to retroactively use this feature.

Deprecations and Removals

Based on estimated dates 2021-04-09 to 2021-11-15

Deprecations

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh

Removals

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh