...
Tracking metrics based on the anonymized session ID will experience a discontinuity or other anomaly at the time of deployment, as the anonymized IDs will change. [PR] This will likely appear as if everyone logged out and back in again, although only from a metrics perspective. In a green-blue deployment scenario, it may briefly appear as if there are twice as many sessions active. (Tim McCormack)
Use of edx-proctoring now requires a setting
PROCTORING_USER_OBFUSCATION_KEY
– it should be initially set to the same value asSECRET_KEY
, in both LMS and Studio. This allows it to be changed independently, although there is not yet a way to rotate it without breaking integration. (Tim McCormack)Upgraded to mongo 4(point-of-contact: Cory Lee (Deactivated) )
No changes were needed for us to move from mongo 3 to mongo 4 , but mongo 4 features may be used by edX developers going forward.
Import unqualified packages from
lms/djangoapps
,cms/djangoapps
, orcommon/djangoapps
is no longer supported. Doing so will cause instances ofimport_shims.warn.DeprecatedEdxPlatformImportError
to be raised. See https://github.com/edx/edx-platform/blob/master/docs/decisions/0007-sys-path-modification-removal.rst for details and context.LMS/Studio: Changes to edx-organizations (point-of-contact Kyle McCormick )
Uniqueness constraint added to
Organization.short_name
This was added in edx-organizations 6.0.0. See release notes for details.
For instances that did not enable
FEATURES['ORGANIZATIONS_APP']
, this is a no-opFor instances the DID enable
FEATURES['ORGANIZATIONS_APP']
, anyOrganizations
with conflictingshort_names
need to be removed (can be done via Django admin), else the migration for edx-organizations 6.0.0 will fail to apply.
Organizations feature globally enabled for all LMS and Studio instances.
See https://github.com/edx/edx-organizations/blob/master/docs/decisions/0001-phase-in-db-backed-organizations-to-all.rst for reasoning and details.
If you don’t care about this change, then it shouldn’t affect you, although we still recommend running the backfill command (see below).
Added
ORGANIZATIONS_AUTOCREATE
Django setting for Studio.Defaults to
True
.When
True
, creating a new course run or content library with an unrecognized org slug (that is, “edX” incourse-v1:edX+DemoX+2T2020
will silently auto-create an organization in the background.When
False
, creating a new course run or content library with an unrecognized org slug will raise an error. This is helpful if you wish to restrict the set of organizations under which course runs and content libraries may be created.
The
FEATURES['ORGANIZATIONS_APP']
is no longer supported.The Organization and OrganizationCourse model are now available on all instances.
If you previously enabled
FEATURES['ORGANIZATIONS_APP']
, then you should override the Studio settingORGANIZATIONS_AUTOCREATE
toFalse
when upgrading to Lilac to achieve the same functionality.
Added Studio management command:
./manage.py cms backfill_orgs_and_org_courses
This back-populates the
organizations_organization
andorganizations_organizationcourse
tables, for Open edX instances that did not previously enableFEATURES['ORGANIZATIONS_APP']
.It is not critical to run this for the Lilac upgrade, since no features depend on these tables being populated yet.
However, future releases may make use of the data in these tables; hence, it is best to run the backfill now.
The
sysadmin dashboard
is no longer supported (point-of-contact Hamza Farooq).The feature has been deprecated according to DEPR-118, Its ADR can be found at ADR-DEPR-118 and related discussions at Discussion-DEPR-118.
The related feature flag
FEATURES['ENABLE_SYSADMIN_DASHBOARD']
is also removed.A separate pluggable app named
edx-sysadmin
has been developed at https://github.com/mitodl/edx-sysadmin and can be used as an alternative tosysadmin dashboard
.
Feature Changes
The Learning MFE is slated to be the default experience courseware experience for Lilac (Kyle McCormick)
Both course-run-level and global opt-out will be available via Waffle flag, falling back to the Legacy courseware frontend.
This necessitates that the Learning MFE will work out-of-the-box in Lilac. Need to connect more with BTR on this.
We expect all this to be true for the Outlines and Dates pages as well (Michael Terry (Deactivated) , Jason Myatt (Deactivated) )
We expect that this is the last named release to support Legacy courseware frontend.
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
topacing_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 ofSECRET_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
, thesave
parameter is deprecated for functionsanonymous_id_for_user
andunique_id_for_user
, and these functions will always save generated IDs to the database. This allows future decoupling of ID generation fromSECRET_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)
...