Open edX Palm Release - Developer & Operator Notes#

These are the release notes for the Palm release, the 16th community release of the Open edX Platform, spanning changes from October 11, 2022, to April 11, 2023. You can also review details about earlier releases or learn more about the Open edX Platform.

Breaking Changes#

Tutor minimum versions of Docker and Compose#

In Palm, the minimum required versions will be Docker v20.10.15 and Compose v2.0.0. These versions date back to May 2022, and not everyone can upgrade. We will do our best to keep backward compatibility with non-buildkit installations, but users will not have access to the fanciest features, such as build-time cache.

RateXBlock unsupported#

The RateXBlock has been deprecated and is now officially unsupported. FeedbackXBlock is the recommended replacement.

Stripe API changes#

Ecommerce now supports the new Stripe Payment Intents API and no longer uses the Stripe Charges API. The legacy Stripe Charges ecommerce payment processor with a frontend in the ecommerce application is upgraded to a Stripe Payment Intents payment processor with a frontend in frontend-app-payment. See the discussion post, Ecommerce: Changes to Stripe payment processor for more details.

Ecommerce is still officially deprecated and we continue to work on the Ecommerce Replacement Project.

Developer changes#

The old developer documentation site has been deprecated and removed. Please use Open edX Developers - Latest Documentation instead.

The modules tutor.hooks.actions, tutor.hooks.filters, and tutor.hooks.contexts are no longer part of the Tutor API. This change should not affect most developers, who only use the Actions and Filters classes (notice the plural) from tutor.hooks. If it does affect you, there are upgrade instructions in the discussion post, Simplifying & documenting the Tutor Hooks API

Learner Experiences#

Discussions Improvements#

  • The Posts page has been streamlined, allowing users to see more information at once.

  • Post load faster

  • Comments and responses can now be sorted in reverse order.

  • Filter by discussion with no responses.

Android App updates#

  • The Learner dashboard was updated. Profile was moved from the header to the footer. Learners can choose between viewing My Courses and My Programs.

  • The course header and course navigation have been updated

  • Learners will see a course dates shift banner in the course header when the server returns that dates needs shifting, similar to behavior in the web browser.

screenshot of Android banner for shifting due dates

iOS App updates#

  • Learners will see a course dates shift banner in the course header when the server returns that dates needs shifting, similar to behavior in the web browser.

screenshot of iOS banner for shifting due dates

Other New Features#

  • Support for Persian language (locale code fa_IR) with 100% translate and reviewed.

Instructor Experiences#

New Visual Problem Editor#

The release includes an experimental improved problem-authoring experience with an interactive editor. When enabled, writing markdown code is no longer necessary. But, the advanced mode is still available, maintaining the ability to write and edit OLX XML.

The Open edX wiki page [2U] New Visual Problem Editor provides a brief explanation of what has changed in the problem editor. Updated detailed instructions on writing problems can be found in section 8.4. Working with Problem Components of the Building and Running an edX Course documentation.

The Visual Problem Editor is hosted in the existing Course Authoring Micro-frontend. To enable the Visual Problem Editor, add the waffle flag new_core_editors.use_new_problem_editor and set the value to “Yes” for all users.

New ORA Grading Experience#

In this new on-platform grading experience one can easily preview common file types, assign rubric values, provide comments, and coordinate grading with all members of the course teams. Complete documentation is in section 10.26.4. Staff Grading for Open Response Assignments of the Building and Running an edX Course documentation.

The new ORA grading experience depends on the ORA Grading Micro-frontend, which was included as an experimental feature in Olive. To turn on the feature, add the feature flag openresponseassessment.enhanced_staff_grader.

New Bulk Email Experience#

The new bulk email experience for instructors is enabled automatically for any courses that are configured for sending bulk emails. See the Eucalyptus release notes for instructions on configuring bulk email.

The instructor editing experience is largely the same, with choices of who to send the email to, and places to author the subject and body of the email:

Send and Email interface for sending bulk emails

The new experience also allows an experimental feature for instructors to schedule bulk emails, rather than sending them immediately. This feature requires a cron service which isn’t currently included in Tutor. For more details see Processing Scheduled Instructor Tasks

Other Studio Updates#

  • Using the setting, FEATURES['ENABLE_CREATOR_GROUP'], users with CourseCreate permission can choose their organization from a drop-down in Studio.

  • Drag and Drop has been moved out of advanced problem types, and now appears along side other problems in Studio.

  • The “jump_to_id” hint in the Unit View will now pre-fill with the current location ID. This should avoid course authors copying and pasting the generic text.

Administrators & Operators#

Experimental New Learner Home Page#

The new Learner Home has many of the same features of the old learner dashboard, with some extended functionality and performance enhancements. Tutor operators can deploy the new Learner Home using the an experimental learner-dashboard-mfe plugin

  • The Learner Home is now built with Paragon, the Open edX design pattern library. It is accessible and easy to style with brand colors.

  • Course cards show the course thumbnail, information about the course, and the ability to upgrade to a paid track or view/begin a course (if applicable). Further course actions (e.g. unenroll, email opt-out settings, and social media share) have been moved to the menu/triple dot icon on the course card.

  • Clicking the “Refine” button opens options to filter by course status or sort either by most recent enrollment (default) or title.

The Refine pop-up with Course State and Sort options
  • All of a user’s courses are fetched on page load. To make the page manageable, we paginate that list, showing 25 courses at a time. To view other courses, a user should page through their list of courses using the pagination controls at the bottom of the course list.

Next, previous and page number buttons appear below the list of courses
  • Site staff can now masquerade as users on the platform by typing a username or email in the “View as” box and hitting submit. This is designed to be “view only” so change actions (e.g. enroll, unenroll, selecting a session) are blocked in this view.

  • There is a complete list of changes in the Open edX wiki.

Other Operator changes#

  • Mongo is updated to v4.4.

  • Added a setting expiration_datetime_is_explicit to the CourseMode model to override the default behavior of the Upgrade Deadline where it is set to be 10 days after the course start date.

  • Operators can now use a shared ElasticSearch installation for multiple OpenedX instances, using the setting ELASTIC_SEARCH_INDEX_PREFIX.

  • the Micro-frontend (MFE) config setting SUPPORT_URL has been added to all MFEs. Use it to set the

Settings and Toggles#

New Features/Toggles added since the Olive release:

The following Features/Toggles were removed:

The following new settings were added:

The following settings were removed:

Deprecations & Removals#

  • The Django setting JWT_AUTH.JWT_PRIVATE_SIGNING_JWK can be removed from CMS configs if it is still present, as it has only been used by the LMS for some time now.

  • Most of the viewing code for PDF certificates was removed in previous releases. In the Palm release, we closed out this work with an ADR (Architecture Decision Record) on Leaving PDF Certificate Fields in Certificates Model.

Developer Experience#

API changes#

  • Filter by active courses in the course listing API.

  • Added certificate_available_date to course detail API.

New filters and hook events#

  • Added VerticalBlockChildRenderStarted and VerticalBlockRenderCompleted filters that will be called at the start of rendering a vertical and after rendering is completed.

  • Added AccountSettingsRenderStarted filter which passes the account settings context before is rendered.

  • Added events XBLOCK_PUBLISHED, XBLOCK_DELETED, and XBLOCK_DUPLICATED to signal changes to xblocks in taxonomy-connector/course-discovery.

Researcher & Data Experiences#

  • Tracking events have been added for reporting of threads, responses and comments, and for marking responses as endorsed.

Known Issues#

  • There are no known issues at this time.