Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The Learning Micro-Frontend (MFE) may be installed for opt-in usage (Kyle McCormick).

    • By default, the course experience is still run in the legacy LMS templated frontend, so this should not affect the out-of-the-box Lilac experience.

    • If the Learning MFE is installed using the MFE Deployer Ansible role (I lack the details on what entails) then certain features can be opted in to the Micro-Frontend, as noted below.

    • These LMS CourseWaffleFlags can be toggled on (globally, per-user, or per-course) to switch certain features over the Learning MFE:

      • courseware.courseware_mfe : Enable to host courseware (ie, the learning sequence experience) in the MFE.

      • courseware.microfrontend_course_team_preview : Enable to show global and course-level staff members the ability to preview courseware in the MFE. Does not affect learners.

      • course_home.course_home_mfe and course_home.course_home_mfe.1: Enable both of these in conjunction with one or more of the following (contact Michael Terry (Deactivated) or Jason Myatt (Deactivated) for details):

        • course_home.course_home_mfe_dates_tab : Display the “Dates” course tab in the MFE.

        • course_home.course_home_mfe_outline_tab : Display the course outline (the target of the “Course” course tab) in the MFE.

        • course_home.course_home_mfe_progress_tab: Display the “Progress” course tab in the MFE.

  • Switched from Elasticsearch 1 to Elasticsearch 7 across Open edX. This may require some syntax changes for custom scripts that used search APIs. (Michael Terry (Deactivated) )

    • Please change queries that used __not to __exclude

    • Please properly URL-encode any plus signs in query URLs (like in course run key parameters) to %2b. Our Elasticsearch 7 implementation is more strict in that regard.

    • Please change queries against course-discovery that used pacing to pacing_type

  • Xblock URL token signing can now be migrated to use a new multi-key mechanism rather than being tied to SECRET_KEY. It is recommended that you perform this migration, as it permits easier rotation of SECRET_KEY. (Tim McCormack)

  • Various bug fixes and updates around course certificate generation (crice (Deactivated))

    • In an effort to be more inclusive, code referencing the course CertificateWhitelist model is being updated to instead refer to a Certificate Allowlist. The model itself has not yet been renamed.

    • Temporary CourseWaffleFlag added to control access to updated behavior of the CertificateWhitelist (aka Certificate Allowlist)

    • Temporary CourseWaffleFlag added to control access to updated behavior of the course certificates

    • The management command named create_fake_cert has been removed. The Certificate Allowlist should be used in its place.

    • The management command named gen_cert_report has been removed. To view the status of generated course certificates, query the certificates_generatedcertificate database table.

    • A user can no longer be added to both the Certificate Allowlist (meaning the user should be granted certificate) and the Certificate Invalidation list (meaning the user should not be granted a certificate) for the same course run.

    • Removal of the allow_certificate field on the UserProfile model has begun (https://openedx.atlassian.net/browse/DEPR-140)

  • Added a new export-course-metadata-to-storage feature. In order to use it set COURSE_METADATA_EXPORT_BUCKET and COURSE_METADATA_EXPORT_STORAGE. Useful for external services you might have that want to scrape course data.' (Matthew Piatetsky (Deactivated))

  • In common.djangoapps.student.models, the save parameter is deprecated for functions anonymous_id_for_user and unique_id_for_user, and these functions will always save generated IDs to the database. This allows future decoupling of ID generation from SECRET_KEY. Including the parameter will result in a DeprecationWarning; after Lilac we plan to remove the parameter (which will be a separate breaking change – DEPR-148). (Tim McCormack)

Deprecations and Removals

DEPR tickets between 2020-11-12 and 2021-04-09:

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = DEPR AND Status NOT IN (Proposed, Rejected, Abandoned) AND ( ("Deprecation Proposal Accepted Date" > '2020-11-12' AND "Deprecation Proposal Accepted Date" <= '2021-04-09') OR (Status = Communicated AND "Deprecation Proposal Accepted Date" IS EMPTY AND created > '2020-11-12' AND created <= '2021-04-09') ) AND (Status != Removed OR "Removal Date" > '2021-04-09') ORDER BY Status, Key
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4