Versions Compared

Key

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

The 10th Open edX release will be named Juniper.Put stuff here that we have to remember when we start packaging up The 10th Open edX release will be named Juniper.

Put stuff here that we have to remember when we start packaging up for Juniper.  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.

Timeline

Juniper is gated by the upgrade to Django 2.2

As of April 27, it looks like all services will be upgraded and in production this week.  The master branches can be created soon after that point.  We are triaging issues (

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
keyCRI-171
) and will decide when to make the master branches based on that triaging.

Installation and Operations


Impact on Your Code

    • _with_redirect.  A new implementation of check_course_access returns AccessResponse objects, rather than performing redirects when access is denied.  check_course_access_with_redirect is a drop-in replacement for the old behavior of check_course_access.  This is likely a breaking change for any code outside of edx-platform (such as plugin apps) that was using the check_course_access function directly.  See https://github.com/edx/edx-platform/pull/23651 for more information.
  • Mobile Apps

    Expand
    • Android
      • Android 2.20.2 Added a testing feature of the 'Upgrade to Verified' course.
      • Android 2.20.1
        • You can now view the edX app in French, German, Portuguese, Chinese, and Turkish. The application uses your device language to specify this setting.
        • It's now clearer when there are areas of a course that cannot be completed in the app or are unavailable for audit track learners.
        • We have fixed the ‘Downloading Videos’ to phone memory issue. All users having any OS and device model should be able to download them on phone memory now.
        • We have hidden/removed the ‘Downloading Videos’ to SD-Card feature for OS 9 and above for now (as this beta feature is having many issues on them and team will prioritize its fixes in near future). While all users having any device and OS below 9 can enable the feature from settings and should face no issue.
      • Android 2.19.0
        • Watch and learn at your own pace by adjusting the video play speed controls.
        • You can now choose to store downloaded videos in your SD card from the settings area.
      • Android 2.18.2 Facebook login/register button brand enforcement.
      • Android 2.18.1 You can now search edX programs and degrees using the mobile application.
      • Android 2.17.1 Accessibility improvements
    • iOS
      • iOS 2.20.0 You can now view the edX app in German, Hebrew, French, Portuguese, Chinese, and Turkish. The application uses your device language to specify this setting.
      • iOS 2.18.1 You can now search edX programs and degrees using the mobile application!
      • iOS 2.17.1 Accessibility improvements.


  • Forum:
    • The MONGOID_AUTH_MECH environment variable needs to be defined, even if just empty. Otherwise the following error will be triggered: "in `encoded_name': undefined method `encode' for nil:NilClass(NoMethodError)".
  • Database migration:
    • Due to a migration in "SiteConfiguration", it is not possible to have an Ironwood instance serving traffic while a Juniper one is being set up with zero downtime. It will result with OperationalError exceptions being raised until the Ironwood instance is shutdown. (Slack thread)

Impact on Your Code

  • edx-platform
    • The courseware Django app is now only imported as "lms.djangoapps.courseware".  If you import it as "courseware", you may get errors.  Fix the imports.
    • Jira Legacy
      serverSystem JIRA
      serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
      keyDEPR-16


    • Comprehensive theming is now disabled by default. To enable it, make sure to add ENABLE_COMPREHENSIVE_THEMING = True in the edx-platform settings of both the LMS and the CMS.
  • Frontend
    • Paragon enhancements and edx-bootstrap (Adam Butterworth (Deactivated))
      • The Paragon reusable component and pattern library has seen significant investment and refinement since the last Open edX release. A number of components have been re-engineered for ease of use and flexibility. We’ve also launched an interactive documentation site (https://edx.github.io/paragon) where you can explore the components, their implementation status, as well as the library’s foundational CSS utility classes.
    • frontend-platform (David Joy (Deactivated))
      • The Frontend Platform is a framework for Open edX micro-frontend applications. It provides a number of common services used by frontend apps, including analytics (Segment), logging (New Relic), authentication and HTTP/AJAX request client (Axios/JWT), and internationalization (React Intl). It also includes a number of helpful React components and utilities.  The framework is highly configurable and extensible, allowing override implementations of analytics and logging, as well as a number of customization hooks for the application. It should be used as a basis for new micro-frontends. A detailed documentation site can be found here: https://edx.github.io/frontend-platform

    • Frontend Repos

    • We have created a new Microfrontend named Publisher (https://github.com/edx/frontend-app-publisher/) for creating courses and course runs. Although primarily used to keep track of course metadata (such as marketing information), Publisher can also help manage ecommerce products. Publisher integrates between edx-platform, ecommerce, and course-discovery. (Dillon Dumesnil)
      • Note: At this point in time, there is no standard process for installing Microfrontends, but Publisher is still being provided so the community can become more familiar with it and possibly configure and install it on their own.
  • Upgrades
    • Python-3: OEP-7Python 3 How-To Note: Ubuntu 16.04 (and thus the ansible playbooks) ships with Python 3.5.1, but Python 3.5.9 was found to work in Tutor, and it works "better").
    • Django-2: Django 2.2 Upgrade Plan
    • Node-12
    • Ruby was upgraded to v2.5.7 in cs_comments_service (forum). Bundler v1.11.2 and Rake v10.4.2 versions remain identical in the configuration repo, but I (Régis Behmo) am completely unable to get them to work in Tutor. I had to upgrade to Bundler v1.17.3 and Rake v13.0.1.
    • MongoDb: upgraded from 3.2.16 to 3.6.17
    • Pip: upgraded from 19.3.1 to 20.0.2
    • Setuptools: upgraded from 39.0.1 to 44.1.0
  • DEPRs (see below)

  • Relevant ADRs

    Jira Legacy
    serverSystem JIRA
    serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
    keyDEPR-12
    Removal of microsites includes the removal of several tables that were in this djangoapp: 
    Expand

Deprecations and Removals

Deprecations and Removals

Based on Juniper Dates: 2019-01-17 to 2020-05-27

Deprecations

Jira Legacy
serverSystem JIRA
columnskey,summary,reporter,status,deprecation proposal accepted date,removal date
maximumIssues40
jqlQueryproject = DEPR AND Status NOT IN (Proposed, Rejected, Abandoned, Removed) AND (("Deprecation Proposal Accepted Date" >= '2019-01-17' AND "Removal Date" IS EMPTY) OR ("Removal Date" >= '2019-01-17' AND "Removal Date" <= '2020-05-27')) ORDER BY Status, Key
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4

...

Removals

  • Jira Legacy
    serverSystem JIRA
    serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
    keyDEPR-
    51 
    12
    • Removal of microsites includes the removal of several tables that were in this djangoapphttps:
    //github.com/edx/edx-platformpull/22006 (Bill DeRusha (Deactivated))edx-certificates is no longer installed. This was an error.  edx-certificates is still part of Juniper
    • /github.com/edx/edx-platform/pull/21355/
    • We have removed the entire djangoapp, but if installations would like to clean up these tables after upgading, they can drop all the tables prefixed by microsite_configuration.
  • Jira Legacy
    serverSystem JIRA
    serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
    keyDEPR-
    89

Based on Juniper Dates: 2019-01-17 to 2020-05-27

...

  • 52
    • Removed now unused /login_post endpoint, which was just used by Studio login.  Note: /login_ajax points to the same login code. 
      Jira Legacy
      serverSystem JIRA
      columnskey,summary

...

    • ,type,created,updated,due,assignee,reporter,priority,status,

...

    • resolution
      serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
      keyBOM-1096
      (was ARCH-1253)
    • Several breaking changes were made to clean-up login_user, used by our login POST endpoints.
      • JSON is now always returned, including for the third-party auth errors.
      • 400 status is now used for errors instead of 200. JSON included 'success': 'failure' both before and after the change.
  • Jira Legacy
    serverSystem JIRA
    serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4

...

Jira Legacy
serverSystem JIRA
columnskey,summary,reporter,status,deprecation proposal accepted date,removal date
maximumIssues40
jqlQueryproject = DEPR AND Status = Removed AND (("Deprecation Proposal Accepted Date" >= '2019-01-17' AND "Removal Date" IS EMPTY) OR ("Removal Date" >= '2019-01-17' AND "Removal Date" <= '2020-05-27')) ORDER BY Status, Key
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4

Feature Changes

  • Will Public Course Content be on by default?

  • Learner Portal. learner-portal (https://github.com/edx/frontend-app-learner-portal) and it's accompanying configuration service (https://github.com/edx/portal-designer) were created

  • SAML. Irfan Uddin Ahmad: As part of https://github.com/edx/edx-platform/pull/20665 we have updated the username match criterion for SAML SSO users to be based on email only instead of both email & username.

  • e-Commerce
    • As part of https://github.com/edx/ecommerce/pull/2621, the payment page microfrontend is the default payment page for edx ecommerce. To use your own microfrontend, you need to add enable_microfrontend_for_basket_page to your site configuration as well as payment_microfrontend_url . If you do not use the microfrontend, you can use the waffle flag disable_microfrontend_for_basket_page to see the old basket page for testing, etc. (Brandon Baker (Deactivated))
    • Performance improvements, etc. (Emma Green (Deactivated))
      • TBD - Need to provide a description of feature changes in ecommerce since April 2019 as it impacts the community. (Perhaps links to ADRs.)

  • LMS
    • Learner Dashboard. Adeel Ehsan (Deactivated): As part of https://github.com/edx/edx-platform/pull/20439 by default LMS dashboard will show only limited courses based on the course limit set in configuration. Show all the courses link will be at bottom if enrolled courses count is greater than course limit.

    • Instructor Dashboard
    • Gradebook
      • TBD - Need to provide a description of changes in gradebook since April 2019as it impacts the community.

    • Proctoring
      • TBD - Need to provide a description of changes in proctoring since April 2019 as it impacts the community.

    • ORA-2
      • TBD - Need to provide a description of changes in ORA-2 since April 2019 as it impacts the community.
         
    • Course Dates
      • TBD - Need to provide a description of changes to course dates since April 2019as it impacts the community.

    • SGA xBlock
      • Python3 and Django 2.2 compatibility added in version 0.11.0. This version is not backward compatible with Python2 and Ironwood.


...