DEPR Meeting Notes (2021)

Action Items

Agenda Backlog

  • More documentation around deprecation

  • How do we create a DEPR pipeline?

    • Review the Toggle Removal report

      • toggles are a good first step

      • anything we should add to the report that we’re not capturing today?

    • How do we engage other squads to help out?

    • How do we make it visible to squads what their DEPR status?

    • What are the organization code smells that might indicate DEPR needs?

    • How do we prioritize what to work on?

    • Metrics for analyzing the impact of DEPR work

Agenda

Past Agenda

Agenda (1/5/21)

  • Update / Review DRAFT - Koa Platform Release Notes

    • @Diana Huang to add DEPR tickets to the notes - can review with group next meeting

  • Site Configuration & White Label

    • update: it seems like the Open edX community isn’t interested in supporting this functionality

    • Can we talk to enterprise about removing these with assistance from DEPR?

    • We have code, templates, and data that all should be removed, but can be removed separately

    • talk to the service owners about removing site-specific code as well. does it make sense to deprecate this directly?

    • exclude: theming for now

  • Check in with Revenue team about https://openedx.atlassian.net/browse/DEPR-90

  • 2021 Goals

    • White Label and Site Configuration code

      • Action Item: write a DEPR ticket to gauge community reactions to the deprecation, offer up eduNext model as an alternative - @Nimisha Asthagiri (Deactivated)

      • Action Item: communicate with enterprise team about future plans to deprecate white label and get buy in and support - @Diana Huang

    • Microfrontend/Frontend code

      • Koa has rudimentary support for MFEs

      • Lilac has plans to streamline MFE

      • How do we want to handle this removal of code?

        • ID verification might be a good place to start?

          • has a DEPR ticket

        • Learner profiles

        • start anything currently ‘Accepted’

      • Old Mongo

        • blocked by old mongo courses on edge

          • waiting for product to assess the state of edge

        • should be able to move forward in it

    • Phase out configuration?

      • could be a big project goal

      • looking into replacements

      • write up a project plan on this once we get further on it

    • XServer

      • In progress

    • EdxRestApiClient

      • review the list of services

      • focus on edx-platform, credentials, discovery - others are in the process of being deprecated, potentially

    • XModule → XBlock

    • DEPR pipeline

      • Can we provide a query or something to the eng directors regarding the engineering ops review?

      • Focus on it next quarter?

@Nimisha Asthagiri (Deactivated) write a DEPR ticket to gauge community reactions to the deprecation, offer up eduNext model as an alternative
@Diana Huang communicate with enterprise team about future plans to deprecate white label and get buy in and support

Agenda (1/19/21) -

  • XServer

    • This just needs a little bit of verification left

    • Just want to make sure we’re not breaking any courses unintentionally

  • import shims

    • reviewing the last few PR that are importing the wrong way

    • going to be put into #slash-n-burn channel for group to review

    • woohoo!

  • updates

  • white label + site configuration

    • still need to talk to enterprise about the future of this work

    • still used in other repos to split by sites

    • can we make a separate process for external deprecations? - where external teams are responsible for doing the deprecation work

  • configuration repo

    • dependent on getting devstack and other docker containers off of being reliant on this

    • Open edX looking for alternatives right not

    • BTR - hoping Lilac will be the last Open edX release to use configuration

    • Open edX is only half of the solution - internal edX usages like sandboxes will also have to move off of it

Agenda (2/2/21)

Agenda (2/16/21)

  • Hackathon readout

    • need to refactor the configuration and usage of edx-enterprise’s api client to use the single edx-enterprise user

    • need a review for course-discovery’s refactoring

  • Check in on existing streams

    • some things moved into accepted

  • pycontracts DEPR ticket to be written - @Diana Huang

  • Hack(?)

Agenda (3/2/21)

Agenda (3/16/21)

  • Last XModule removed from edx-platform!

    • Set up pinata celebration?

    • “One idea: When we retired Vertica recently, we each wrote Vertica tributes that were poems/odes/prose/limericks - and bbeggs read them all. That could be expanded to add PPT/Sheets presentations? And maybe fanfiction? Songs?” - Data Engineering

    • Round robin reading of odes

    • Mail everyone in the company one (1) piece of candy

    • Origami pinatas that people can make it at home

    • Ask Usman to stream himself destroying a pinata

      • Send him a jacket at least!

    • Send something out digitally for people to do themselves

    • @Sarina Canelake (Do Not Use) (Deactivated) to organize this.

  • Removal dates for DEPR tickets: can we just say this is the acceptance date?

    • Yup, we can do this

    • @Diana Huang to make these changes to the OEP

  • https://openedx.atlassian.net/browse/DEPR-108

    • In progress, getting close

  • https://openedx.atlassian.net/browse/DEPR-123

    • Community is not comfortable with replacing front ends with MFEs

    • No Tutor plugins or single-install support yet

    • Planning for Lilac to ship with a few MFEs as a sort of test case

  • Can we measure the metric of DEPR work?

    • Community contributions - @Sarina Canelake (Do Not Use) (Deactivated)

      • Contributions to front end code from anyone

    • Recouped cost of upgrade - @Jeremy Bowman @Feanil Patel (Do Not Use) (Deactivated)

      • Lines of code(?)

      • Repos(?)

      • Dependencies

      • Rough estimate of this work

    • Coverage metrics

    • Code complexity - @Dave Ormsbee (Do Not Use) (Deactivated)

      • Run automated tools before and after

      • Measure happiness with code before and after

        • Could use 2 question survey to see how people

      • Flavor complexity

    • Developer effectiveness

      • Multiple implementations is confusing

    • Import tree size of edx-platform @Michael Terry

      • Automated tools for this

      • proxy for code comprehensibility

        • How many other things do you need to understand to understand this file

    • Lines of code @Diana Huang

      • Talk to Ned about this - instrumented for OSPR

  • Meta discussion

    • How do we track non-DEPR work for the group?

      • Use wiki with checkboxes for now

    • Should we make another project?

    • Github projects

@Diana Huang update OEP for removal dates, add communication field to link to Discourse discussion
@Sarina Canelake (Do Not Use) (Deactivated) organize XModule pinata celebratin
@Sarina Canelake (Do Not Use) (Deactivated) Discovery: Community contributions metrics
@Jeremy Bowman@Feanil Patel (Do Not Use) (Deactivated) Re-couped cost of upgrade metrics
@Dave Ormsbee (Do Not Use) (Deactivated) Discovery: code complexity metrics
@Diana Huang Discovery: lines of code metrics
@Michael Terry Discovery: size of import tree metrics

Agenda (3/30/21) -

  • Discuss metrics discovery

    • lines of code metric

      • not available easily through existing Github or Jira interfaces

      • still need to discuss with Ned about OSPRs

    • recouped cost of upgrade

    • Focus on fewer metrics

      • Cost of upgrade

      • Lines of code - will give us a multiplier for cost of upgrade as well

      • Code complexity - is there a quick win we can get here?

  • Remove XQueue Watcher? Only 1 Partner uses it: MIT only for 7.QBWx and 6.00x courses. What is the purpose of this feature? Can it be either deprecated or deemed to be useful for other partners?

Understand the need for XQueue Watcher and its future
@Diana Huang to respond to just mention the general guidelines.
  • Community involvement - core committer commitment/participation

    • FYI - had a meeting with how we can invite core committers to what are currently internal-only meetings

    • DEPR working group is a good possible venue for inviting them

    • need to make sure that we have appropriate understanding about what’s internal and what’s not

    • maybe one meeting a month will be open to the community

Agenda (5/14/21) -

  • Shoppingcart removal

    • Final removal of shoppingcart djangoapp

  • DEPR metrics

    • what about the intangible effects of deprecation work and tech debt?

      • developer effectiveness

      • reliance on institutional memory

      • developer sanity/retention

  • AJ's question about DEPR project access

    • Look at Jira permissions on the DEPR project and verify they work correctly

    • New Jira vs. Old Jira confusion

    • Now we know where the permissions tab is

Agenda (6/8/21) -

Agenda (6/22/21) -

Agenda (7/6/21) -

@Diana Huang - create DEPR tickets for Devstack deprecations

Agenda (7/20/3221) -

Agenda (8/3/21) -

  • DEPR Blended

    • @Diana Huang still needs to write a brief

      • Will collab with @Sarina Canelake (Do Not Use) (Deactivated) on this brief

    • Possibility of pitching different briefs to different providers

    • Give a ranking to the providers of projects

      • Within EdxRestApiClient project, we could just use contagion as a ranking criteria

      • What do we want to get rid of before the next Open edX release?

    • other candidate possibilities:

  • Taking advantage of the updates to engineering pathways

Agenda (8/17/21)

  • Blended Brief(s)

    • separate ones for site configuration + general bucket of DEPR work

      • briefs in progress, getting close to being in shape to be submitted

  • Engineering All-Hands

    • have some time to ask for recruits

    • how should we sell it?

      • learn about unfamiliar parts of the codebase

      • delete things so you never have to work on them

      • get to meet/work people in other parts of the organization, including more senior folks

Agenda (8/31/21)

  • Welcome to the new folks!

  • Blended project updates

    • site configuration

    • general DEPR work

      • Can use the Paragon Blended Brief as an example

  • https://openedx.atlassian.net/browse/DEPR-163

    • Help define how the community can continue to use entrance exams while removing it from edx-platform

      • Next Steps

        • Reach out to Ken/TNL first, to make sure we extend the Acceptance Date @Diana Huang

          • Find out what other blockers exist for Learning MFE

            • proctoring?

            • If there are others, we can delay until they are dealt with

        • Reach out to Appsembler to see if they can extract this from edx-platform @Nimisha Asthagiri (Deactivated)

          • Reach out to other preferred providers in #core-committers @Nimisha Asthagiri (Deactivated)

  • Elasticsearch vs OpenSearch @Diana Huang

    • propose OpenSearch as a replacement for Elasticsearch

    • would like to write a DEPR ticket to get input from community early

  • Interests and Contributions of New Members

Agenda (9/28/21) -

  •  

    •  

    • Need to announce in Slack/on Discuss, etc for further feedback

  • Remove Jenkins jobs

    • We are moving things to Github actions

    • Can’t use the Github-hosted runners, need to spin up self-hosted runners with SRE support

  • RequireJS

    • When can we move us off of Require to Webpack

    • May need to be a FEDx-led project to help fill in expertise gaps

    • Can we make this a Blended dev project?

    • @Diana Huang reach out to the FEDx group about next steps

  • Hacking time

 

Agenda (10/26/21) -

Agenda (11/9/21) -

  • Discovery around removing ES from our services

  • Ecommerce update, maybe?

  • DEPR in the time of non-profits

    • Making DEPR meetings public

      • Learning how to be public first vs. private first is going to be different

    • We (2U) probably won’t own this in the future, but would still have to be driven by the folks as part of this working group and at 2U.

    • Would like to see more involvement from the community in DEPR process, proposing, etc.

    • Hopes and dreams: Can we get more visibility into DEPR and attention from the internal folks? Should we communicate these internally as well as externally?

Agenda (11/23/21) -

  • https://github.com/jazkarta/edx-jsme - Nobody really maintains this anymore and we’d like to deprecate it, Peter Pinch has offered to help

    • Can talk to MIT when we open this up more directly

    • edx-zoom also being deprecated, can we bundle the work of deprecating them together?

    • This might be more tricky due to the JS inserted into every capa problem.

  • lms/djangoapps/dashboard has only contained 2 ADRs for about a year after its removal, can those be removed now?

    • Answer seems like ‘yes’ - @Michael Terry to open PR

  • Blended Projects

    • ‘Bucket’ project needs to find contact to move onto the next step

      • Talk to Marco about this

    • ‘Site Configuration’ project was owned by Sarina, who moved over to TCRIL

      • Would need to find out from her what the status of this is.

  • Steps to open this up to the community

    • Discourse thread

    • Posts in Open edX Slack

    • Move meeting to Zoom

    • Create a new calendar for DEPR and can send invite to the calendar

    • Ensure wiki page is visible to community

    • Mention in the contributors meeting (happens every two weeks)

 

Agenda (12/7/21) -