Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 82 Next »

This is a running list of APIs, apps, features, backends, etc that are "deprecated" and should be removed from the edX platform.  Please add/edit this table.

Ideally, all "deprecated" code should be on a progressing path to "removal".  OEP-21 defines a clear process for this.  However, given the already large amount of deprecated code that we have now accumulated (prior to defining the OEP process), we can use Tech Debt metrics to prioritize this list.  The Contagion and Impact columns are used for this.

Contagion

  • How likely is it to spread (via interfaces, copy-pasting, discovery)?
  • If well-contained, the cost to fix it later compared to now is basically identical.  It's impact becomes a higher criteria for when to fix.
  • If highly contagious, it becomes harder to fix and its impact tends to increase.

Impact

  • User-facing issues (bugs, missing features, unexpected behavior)
  • Developer-facing issues (slower implementation, workflow issues, higher cognitive load, more things to upgrade)

DEPR tickets

OEP-21 recommends filing a DEPR ticket for each technology to be deprecated. We keep a dynamic table of those tickets here:

DEPR tickets coming up on removal

The rest of this document below tracks older deprecations before we created OEP-21.

Now Removed

Deprecated CodeStill in use?Places where it's in use (if known)Viable non-deprecated alternative?

Contagion
(1-5)

Impact
(1-5)

Fix Cost (1-5)Removal Status
Course StructuresYes

Studio's unsupported blocks,
CCX

Yes (modulestore, Course Blocks)

33
REMOVED, by Arch Squad
Annotations XModulesNo
Notes11
REMOVED, by Harvard. There's a PR to remove it. We're just waiting for Hawthorn to be cut before moving forward with it. It will delete over 40K lines from edx-platform.  Merged in https://github.com/edx/edx-platform/pull/18560.
CoffeeScriptNo
Pure Javascript


REMOVED by Learner (heart) team
PasswordHistoryNot for edx.orgYonkersCould be replaced using a standard plugin Django validator111

DEPR-7 - Getting issue details... STATUS

To Be Deprecated/Removed

CategoryDeprecated CodeStill in use?Places where it's in use (if known)Viable non-deprecated alternative?

Contagion
(1-5)

Impact
(1-5)

Fix Cost (1-5)Removal Status
Authentication

External Auth

Yes (only by MIT)MITx uses CAS, which is only in external-auth. third_party_auth2

3

(preventing removal of old login/reg)

2

We have DEPR-6 for this. Have MIT's blessing.

Studio redirects to LMS instead of maintaining a separate login and registration flow.

Old login & registrationYes

Open edX and external auth paths.

Still default.

Logistration API

4

(default, fixes are accidentally made to old one)

53

by Diana Huang as part of /wiki/spaces/HACK/pages/600375541

PR: https://github.com/edx/edx-platform/pull/18321


django-oauth2-provider (DOP) / OpenID ConnectYes

OAuth clients, which should be removed if inactive and shifted to DOT if active

most of our IDAs are using DOP

django-oauth2-toolkit (DOT)235See /wiki/spaces/PLAT/pages/160912480.

EdxRestApiClient

YesAll overOAuthAPIClient (from same package)



APIsMobile's old video locker APIs Yeslatent code in mobile apps - need to be removed (Jira ticket(s) exist somewhere)Course Blocks API

3

(since REST API)

22

Mobile apps updated to use the new Course Blocks API 3 years ago.  They just need to remove references and latent code to the old API.

Discovery needed to make sure that there isn't data that the apps are relying on.

LEARNER-2764 - Getting issue details... STATUS LEARNER-5244 - Getting issue details... STATUS

Old Discussions APIYesDesktop view of DiscussionsNewer Discussions API (used by Mobile)224
Frontend



RequireJSYesedx-platform, edx-mktgwebpack, JS153Can be done incrementally - on a page-by-page basis.
BackboneYesedx-platform, edx-mktgReact

2

55
UI Pattern Library / edx-pattern-libraryYes

edx-platform, insights, ecomerce, other repos

Bootstrap233

Hard to (1) know which HTML elements are used by pattern library versus not - since there's no namespacing, (2) colors/fonts/etc are different.


INCR-43 - Getting issue details... STATUS

edX-ui-toolkitYesedx-platform, insightsParagon234Re-platforming work by Arch Squad means that we will be rewriting front-end code
FontAwesome webfontsYes
FontAwesome SVG


SVG is smaller size and other benefits. This involves porting from FA 4 to 5, plus using new react bindings. (in paragon or manually)
Notifications

NotifierYesBy Discussionsedx-ACE212

ON HOLD. Open Source community has been building on it. Has to run inefficient queries on a badly optimized DB.

Product has said that we can't remove this until its functionality is duplicated elsewhere.

edx-NotificationsYesBy Yonkersedx-ACE211ON HOLD. edX has agreed to own this and it can't be moved until ACE reaches complete feature parity with it. (Notifications tray and in-browser notifications channel).
Courseware

Old MongoYes (a little)

Old production courses,
check with community, units tests still use the old modulestore

Yes (SplitMongo)333

ON HOLD, pending BlockStore planning work. We have a doc on a potential /wiki/spaces/~dormsbee/pages/525861934 for when the time comes.

# of course runs using old mongo: 615

We will want a backwards compatible release that enables migration for Open Source installations to Split (and then probably BlockStore).

XModuleYessome edX learning components: video, HTML, CAPA problem, etc.XBlock145

Unification of descriptors and classes, conversion of handlers, serialization is different.

Can shave off some of the more painful side of things in smaller chunks.

lti_module.py?on edx.org in a lot of older coursesxblock-lti-consumer122It's marked as deprecated in module/class doc strings.

OfficeMix

Low use, errors in existing blocks

OfficeMix is retired/no longer supported by Microsoft


122

Removed in instructor docs (DOC-3973).

This code is installed remotely.

The endpoint that it contacts no longer exists, so we can be heavy-handed about removing it.

FeaturesMicrositesYesused in Open edXSites/SiteConfiguration121What does the migration look like?
Shopping cartYes. Used by (a) donations from dashboard and (b) Edge.
Ecommerce service???Follow up with ecommerce guild about what is still using shopping cart.
VerifiedTrackCohortYesby 229 coursesEnrollment Track Partition111

It's deprecated. Need to migrate the 229 courses.

Removal work was investigated by the Masters squad with tasks captured at VerifiedTrackCohortRemoval.

InfrastructureDatadogNo. edX devs don't use this anymore
New Relic, Splunk. Metrics gathering middleware that is used for New Relic (monitoring-utils)221

Dependency that does not work with Python 3, so we need to get rid of this.

In progress DEPR-9 - Getting issue details... STATUS

track.backends.django.TrackingLogMaybe Open edX consumers (Stanford?)Not in edx.org
121Can be pulled out and put into a separate installable repo/app, probably.
Lettuce TestsYesedx-platform testingbok-choy133

ON HOLD. Replace both with consumer contract tests on the roadmap.

Can probably remove tests that are not useful any longer entirely.

Dark LangYesedx-platform + IDAsN/A


Currently there isn't a replacement that exists that duplicates this functionality planned or existing.
Opaque Key's deprecated methodsYes




This is only the methods from_deprecated_string and to_deprecated_string. We are not removing the old "org/course/num" slash format.
HaystackYesNotes and Discovery ...?Pure elasticsearch


Haystack is forcing us to stay on an ancient version of elasticsearch. And haystack itself is no longer maintained. We should just use direct elasticsearch instead of the haystack abstraction layer.
display_name_with_default_escapedYesedx-platform, edx-microsite, edx-themesdisplay_name_with_default
See instructions here.
1 (linter stops spread)?2
  • Github search finds 32 usages.
  • Not sure if this is used by the community.

Just do it!


We are now doing this in prep for Jan hackathon:


  • No labels