State of Deprecation Working Group (March 2023)

Date: March 1, 2023

Introduction

The Deprecation Working Group focuses primarily on managing deprecation processes. Our primary goal is to get duplicate/unsupported/useless code removed from the platform.

Consider this report as a compilation of what we’ve done over the past year, what we’re looking at doing in the next 6 months, and a wider vision of the group’s future beyond that.

Accomplishments

Over the past year, our major accomplishments were:

 

  • EdxRestApiClient replacement happened, so we are no longer dependent on the Slumber library, which has not been supported for a few years now.

  • Removed old UI pages that have been replaced by MFEs from edx-platform. These UIs were not very well supported and were difficult to continue to maintain.

 

Further, we’ve made significant progress on the following initiatives:

 

  • Removal of Old (Draft) Mongo Modulestore. We have too many modulestores for course content on our system. We are closer to getting rid of one of them.

  • Ripping out pavelib from edx-platform. This is a fairly slow, fairly clunky system we used to run various important commands in edx-platform (like installing requirements, updating assets, running tests). Many of these have been replicated in Makefiles/shell scripts/something else, and we are going to try to rip out this dependency entirely.

 

We continue to engage in a set of ongoing tasks; these tasks are work we need to be sure we’re doing on a regular basis, but we don’t want to lose sight of their importance. Those tasks are:

 

  • We review the Deprecation Board and work to move things all the way to ‘fully removed’.

  • We review the deprecation processes and OEP to ensure that the process is as smooth and as easy as it possibly can be.

  •  

 

Concrete Plans - Next 6 Months

Over the next six months, the deprecation working group has some really exciting work queued up. Our primary goals are to work on the following tasks and projects:

 

  • Continuing work on UI deprecation for non-MFE UIs.

  • Deprecating the edx-sphinx-theme and using the new theme across our documentation.

 

If applicable: Links to roadmaps/GitHub projects/important wiki pages/etc

Deep Dive: Accomplishment/In-progress Initiative/Ongoing Task/Concrete Plan

Old Mongo Deprecation

  • All student and instructor access to Old Mongo courses has been removed.

  • Old Mongo will now be a read-only Modulestore that only supports returning the root CourseBlock (so we don’t break CourseOverviews).

  • Removing static asset support is blocked on certificates (which stores signatures there). We’re working on migrating this out.