Open edX Olive Release#
These are the release notes for the Olive release, the 15th community release of the Open edX Platform, spanning changes from April 11 2022 to October 11 2022. You can also review details about earlier releases or learn more about the Open edX Platform.
All grades are persisted#
The Persistent Grades feature was added as an option in Hawthorne. Legacy, non-persistent grades were deprecated in Nutmeg and enabled by default in Tutor. Now, persistent grades are required.
If you are not using Tutor, and have not turned on persistent grades in your installation yet, grades will disappear from learners’ progress pages and in instructors’ data downloads when you upgrade to Olive. You must follow the instructions in Migrating to Persistent Grading for grades to appear. This process can take a significant amount of time, depending on how many graded problems are in your installation, and how long those grades take to be calculated. While we recommend this be run before the upgrade, to ensure learners experience no disruptions to their Progress pages, it will still work if it is run after the upgrade.
Learning MFE is now required#
The Learning Micro Frontend (MFE) is no longer optional, and must be run as part of your installation. In Tutor, this means that the MFE plugin must be installed and enabled.
The Learning MFE has been the default since the Maple release, with a setting that allowed for opting out. The setting
courseware.use_legacy_frontend has been removed. (See Deprecations & Removals for more).
MFE settings are no longer supported in Tutor configuration#
JWT access tokens expire in 1 hour#
The default expiration for JWT access tokens was changed from ten hours to one hour. This default setting can be overriden now, by setting
Authentication Micro-frontend (MFE)#
The Authentication MFE is responsible for the login, registration and password reset functionality. It is enabled by default in Olive and has all the same features as the legacy login and registration pages. You can revert to the legacy experience by setting
FEATURES['ENABLE_AUTHN_MICROFRONTEND'] to False. Although the deprecation process for the legacy experiences has not yet started, they could be removed as soon as the next release, Palm.
There are a number of settings that affect this experience. See the Authentication MFE README for a complete list.
Discussions Micro-frontend (MFE)#
The Discussions MFE is included in the Olive release and enabled by default. You can control which learners will see it with the waffle flag
discussions.enable_discussions_mfe. To configure course discussions, the Course Authoring Micro-frontend (MFE) must be enabled as well. Although the deprecation process for the legacy discussion experiences has not yet started, they could be removed as soon as the next release, Palm.
See the New discussions forum experience wiki page for a detailed explanation of new and improved functionality.
Known issues: Discussions MFE (rendered in Discussions tab) uses tinyMCE v5 which is a different text editor compared to the in-line discussions. As a result, there are some incompatibilities:
Hyperlinks created in MFE do not appear in in-line discussions
Images uploaded in MFE do not appear in in-line discussions in some cases
Code formatted in MFE does not appear formatted in in-line discussions
Other Learner Experience changes#
add reset option to the Randomized Content Block. See this video demo for the new user experience.
“Live” tab displayed on course when live content is enabled (for example, Zoom or Big Blue Button). More information about Zoom integration is available in two blog posts in the wiki, Course-Level Zoom Integration and Program & Degree level Zoom Integration
Pages & Resources#
Part of the Course Authoring Micro-frontend (MFE), when this feature is enabled course authors can now get to the Pages & Resources view from the Content menu (it replaces the “Pages” menu item). This is a modular interface for settings for various course applications and tools. Depending on which ones are enabled, they can include Progress, Discussion, Notes, Wiki, Calculator, Custom pages, Proctoring, and Textbooks. The waffle flag
discussions.pages_and_resources_mfe must be set to enable access to Pages & Resources.
Text / HTML Editor#
Formerly known as the HTML Component, the newly renamed Text Component includes updates that make it even easier to include text and images in your course content. This editor is part the of Course Authoring Micro-frontend (MFE). To enable it, set the waffle flag
The newly updated editor:
makes incorporating special characters and symbols easier,
adds undo / redo actions,
lets you author tables without going into HTML mode,
makes emoticons easy to include,
see the wiki page New Text / HTML Editing Experience for details.
Part of the Course Authoring Micro-frontend (MFE), the new video editor is not production ready. If you want to experiment with it, you can enable it by setting the waffle flag
An email can now be sent out to discussion moderators when content (post/response/comment) is reported. To use it, set the
discussions.enable_reported_content_email_notifications waffle flag. See openedx/edx-platform#30276 for more details.
Other Instructor Experience changes#
Course authors can optionally set Randomized Content Blocks to display a reset option. This allows students to use the Randomize Content Block as a problem-bank for studying. See this video demo for the new user experience.
Upgraded TinyMCE version 4 to version 5.5.1 in Studio.
Relevant changes to Tutor are in the Tutor Changelog.
MFE runtime configuration support#
Where up until Nutmeg it was only possible to change a micro-frontend’s settings at build time, it is now possible to do so at both server and browser runtime via a new configuration mechanism. In addition to the added convenience, this significantly reduces the frequency at which MFE container images need to be rebuilt. Many operators will never have to build them to begin with, as pre-built ones can be (and are) provided, thus saving up precious time and resources on deployment.
This behavior is optional and controlled by the
ENABLE_MFE_CONFIG_API Django setting in the LMS, and the
MFE_CONFIG_API_URL MFE build-time settings. The actual runtime configuration can then be specified via the
MFE_CONFIG_OVERRIDES variables in the LMS. (These can also be overriden via site configuration, with the effect that such configuration can be changed dynamically via the backing database.) For more details, refer to the corresponding architecture decision record.
ENABLE_MFE_CONFIG_API is enabled and used by default by all supported MFEs. Because of it, a previously supported mechanism of setting some MFE settings via Tutor configuration is no longer available. When upgrading from Nutmeg to Olive, the following variables can no longer be set via
tutor config save --set:
Instead, the recommended way to modify MFE settings from Olive onwards is to write a Tutor plugin and use the
openedx-lms-development-settings hooks to change
MFE_CONFIG_OVERRIDES as needed. For instance:
MFE_CONFIG["PLATFORM_NAME"] = "My Awesome Platform"
MFE_CONFIG_OVERRIDES["account"]["SITE_NAME"] = "My Awesome Site"
Also note that if you’ve maintained such a plugin prior to Olive, the following hooks are no longer available after the upgrade:
You must instead migrate your MFE settings to the LMS settings hooks as described above.
Other Operator Experience changes#
A performance issue that occurs when using multiple themes in a docker environment was fixed by using an LRU cache when searching themes.
Features not supported in Tutor#
The following Micro-frontends (MFEs) are in a “pre-alpha” state. They exist on GitHub but are not yet supported in Tutor. Additionally, they may lack key features such as support for theming, internationalization, and path-based deployments. We include mention of them because we expect all of them to be supported in the next release, Palm.
Settings and Toggles#
New settings and toggles added since the Nutmeg release:
The following settings were removed:
Legacy learner experience#
A few pieces of the legacy/deprecated learner experience have been removed entirely in favor of the Learning MFE experience, specifically, the outline, dates, and courseware tabs. Instead, you must run the Learning MFE, and its tabs will be used. Along with the legacy code, a few old waffle flags have been removed:
Legacy OLX attributes translations removed#
Support for importing courses that use obsolete XML attributes has been removed. Courses with attributes
name in course tags,
id in discussion tags and
attempts in problem tags, will no longer import properly. A simple import and export before upgrading will update the XML attributes. See openedx/public-engineering#74 for more details.
The Molecular Structure Problem type was removed.
The frontend-learner-portal-base repo has been archived. Any MFEs that depend on this library have been updated.
Removed all dependencies on django-ratelimit-backend library.
Open edX Test Course#
In order to make testing your Open edX installation easier, this course and its associated libraries aim to expose as many Open edX Studio & courseware features as possible. It does so by providing example usages of various block types and by enabling various features through Advanced Settings.
Hooks Extension Framework#
As part of OEP-50, the following filters were added in Olive:
Added analytics event on recommendation course click,
Added many new discussion events, including
The Authentication MFE contains some hard-coded mentioned of edX. We expect these will be fixed by the time Olive.2 is released.
The Zoom tool is not working. There is currently no plan for when this may be fixed.
Android app support is currently limited to Release 3.0.2 while the current release is 3.2.2. Besides bug fixes and translations improvements, the only new feature that is unavailable is customizing video download settings. (build-test-release-wg#211).
The default cookie banner has a hardcoded mention of edX. This should be fixed in Olive.2. (build-test-release-wg#146)
Student notes will load the first time a unit loads, but not on subsequent loads. (build-test-release-wg#227)
When deleting a file in Studio, the “Learn More” link in the warning pop-up leads to a 404. (build-test-release-wg#219)
Links in the Notes tab are malformed and do not link to the correct unit in the course. (build-test-release-wg#233)
The dashboard model dialogs for unenrolling and changing email settings do not work. This should be fixed in Olive.2. (build-test-release-wg#228)