DEPR Meeting Notes (2022)

 

Current Agenda

Agenda (15 December 2022)

 

 

Past Agendas

Agenda (1/4/22)

  • Happy new year!

  • Build jenkins vs. tools jenkins

    • Can we move all public-facing jobs to Github?

      • Codejail CI is still running on build Jenkins

        • arbi-bom are looking into Codejail

      • arch-bom has tickets around figuring out what to do with the remaining jobs

      • We want to move all edX-specific things to a single jenkins.

  • Bok Choy DEPR discussion

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

    • edx-e2e-tests use bok choy.

      • This is an edX-private repo

    • We have cypress e2e tests

      • @Diana Huang - Reach out to Incident Management about accelerating work so we can get rid of bok-choy.

  • Maple released!

    • Can move edx-certificates to edx-unsupported now that we’re not on Lilac anymore

      • tCRIL to take on the work for moving this @Dave Ormsbee (Axim)

      • Related: moving edx-ease to edx-unsupported/archiving it

    • Now that MFEs are supported in Maple, we can start looking into removing legacy frontend code

  • Moving DEPR to a Github project

    • What would this entail?

    • Github project can encompass multiple repos, but we would need to turn on Github issues for affected repos to make this effective.

  • Hopes and dreams (deprecation-wise)

    • The One Jenkins

    • Old Mongo

    • Ecommerce

    • Bandwidth to deprecate the stuff we said we’d get rid of

      • @Diana Huang movement on blended brief for DEPR bucket

    • Asgard/Minos

    • Configuration repo (please!)

    • Devstack → Tutor!

      • maybe even by Nutmeg!

Agenda (1/18/22)

  • Blended brief

    • Suggestion from Marco: create several themes of DEPR work in the brief that we can argue for separately

      • ex: Dependence on unsupported libraries

      • ex: Multiple versions of same feature is confusing to developers and creates churn

        • Misc toggles work

      • ex: Incomplete Migrations

      • ex: MFE replacement work

    • Go through DEPR board and see what fits where - what other work can we think of that needs to go in the list?

      • List updated

  • Maintenance Costs Brainstorm

    • What can we do to formalize this?

    • Move to Confluence, ensure is public, linked to from DEPR pages for reference

  • OEP updates

    • Moving everything to Github issues:

    • Concerns?

      • What about edX depr work?

        • Internal work should be tracked by internal groups.

          • Add info to PR

      • Does this mean we have to turn on issues for all repos? Does tCRIL own this decision?

        • This is definitely going to happening, according to tCRIL

    • We are planning on all working group work being on Github projects

      • bring up with David Joy to make sure we have a story around this.

    • TBA what we can do to support this migration.

      • We can make draft tickets duplicating DEPR tickets now and then convert to issues once the issues are turned on in the relevant repos.

        • @Diana Huang will make a few of the issues in ‘Removing’ and ‘Accepted’

    • Entrance Exams

      • We don’t have an owner for the work to keep this going from core-contributors or

      • We can try to reach out to the folks who commented on the DEPR ticket to find out more about their instances and who maintains them.

Agenda (2/1/22)

  • Elasticsearch update

    • edX/2U will do discovery on the feasibility of getting rid of ES by Nutmeg

    • Hopefully will have an answer by Feb 22

  • OEP updates

    • Turning on issues seems fraught internal to edX/2U

    • Can we start with a dedicated depr project, then move to repo issues? Does Github support this?

      • We only want to allow DEPR tickets for now.

      • This is a test case for turning on issues more broadly for the openedx.

      • We can move issues between repos if we need to.

      • Ex of issue creation that we can make use of to ensure only DEPR issues get created: https://github.com/github/docs/issues/new/choose

    • @Diana Huang will continue working on migration of issues to depr.

  • [Jeremy] How can we enable this WG’s members to spend more time following through on deprecation work?

    • Teams are overallocated and understaffed on work, hard to carve out time.

    • We should talk about this during future meetings: what kind of work can we do in the next two weeks?

    • Could we engage more actively with the community?

      • Could we reschedule to be more Europe-friendly? Lots of competition for those timeslots

      • Show up to the community working group meetings and invite more people to this group or to engage with this group via Slack/Discourse

  • Question: MySQL 8?

    • Target is currently allowing Nutmeg with a setting.

    • Need to do cleanup work on old migrations.

    • Talk with OpenCraft about this work to keep up us from duplicating work.

  • Bok choy DEPR update

    • We are seeing good progress around this, and we might be able to move forward on this deprecation over the next two weeks

  • Engage squad is working on DEPR work

    • Removing legacy courseware views

    • Move test modulestore to use split modulestore

      • Talk to Kyle about this

    • Hide old mongo from Studio and Courseware

  • Jenkins deprecation

    • Last thing is the codejail tests

      • Hard to run on Github actions due to AppArmor, but we’re trying to solve this via self-hosted runners on VMs instead of Docker

    • Be prepared to put Build Jenkins behind the VPN and make it private, but wait until the codejail tests get migrated to Github actions

  • What can we do over this next week?

    • Make sure bok-choy DEPR ticket gets announced

      • Diana will poke Kyle about this

      • If this is ready, we can move this into unsupported

    • Kill off old ES clusters

    • What can we do help with the Mongo deprecation?

      • Braden has a PR for switching from Mongo active versions

      • Forums? Focus on killing the Ruby in favor of Python client

        • Check in with them about this. Where is it in their roadmap?

    • Dave and Mike will talk about old Mongo deprecation work

Agenda (2/15/22)

  • Transition from Jira to GitHub Issues

    • Ready to move/copy all edx-platform related tickets?

    • Should we draft up a moving process?

      • May not be needed yet as long as we focus on the edx-platform tickets for now.

      • Or rather, just put them all in the generic repo for now, and we can move them to more relevant code repos later if appropriate

      • Spreadsheet to avoid duplication of ticket moving effort:

        • Please sign up before copying a ticket over! First column

        • Copy description and any major updates in the comments which aren’t yet included in the Jira description

        • Link back to the Jira issue

      • @Jeremy Bowman (Deactivated) will work with Diana to add a new “Migrated” status or such to the Jira board for tickets that have moved over to GitHub Issues before completion.

  • Persistent grades - should this be made the default and remove the option of doing otherwise?

    • Feels appropriate for a DEPR ticket, removing the ability to have non-persistent grades

    • @Dave Ormsbee (Axim) will write this up

  • codejail CI is just about moved from Jenkins to GitHub Actions, should be able to make that Jenkins server private soon

  • DEPR blended project brief has been written, will move forward once Jeremy has time to review and Diana has time to nudge it along (both should happen relatively soon)

  • @Feanil Patel will review other feature flags that are currently off by default but really should be on by default (completion, etc.)

  • Should internal and external DEPR channels be joined?

    • The internal one has been very low traffic since the WG became public, may make more sense to archive instead. We’ll give it a little time to see if it gets usefully used for 2U-private code deprecation.

  • A PR for is in progress

  • Arbi-BOM is making headway on , hoping for completion shortly

  • Not a DEPR ticket, but removal of legacy a11y testing cruft removed 21K lines of code in edx-platform:

Agenda (3/1/22)

  • Ready to archive the unused repo; does it merit a full DEPR ticket or simply an announcement?

    • Early discussion in

  • and

  • We don’t think this has been working on any Open edX release for the last 4 years.

  • Does this pass the ‘statute of limitations'?

  • Action item: Move to openedx-unsupported and see who complains.

  • What do do with edx-notifications?

    • No active development since 2020. Make a DEPR ticket?

      • Action item: @Diana Huang Make a DEPR ticket, go through the DEPR process.

  • Looking for advice on how to proceed with bok-choy, now that’s it’s deprecated. -Kyle

    • Add information on the ticket to indicate timelines and let tCRIL know when it’s ready to be moved to unsupported.

    • Action Items:

      • Keep tabs on progress moving edX e2e tests off of this so we’re ready.

  • Would folks be willing to move this wiki page tree ( ) under ? -Kyle

    • Yes, I will move this to working groups.

  • -Kyle

    • FYI for now.

    • Should we turn this into bunch of smaller tickets?

      • This doesn’t quite make sense, because people are going to switch in bulk.

    • What is the plan for Nutmeg?

      • Plan: support both Tutor and devstack in Nutmeg

      • Can we target a number of adoption by Nutmeg?

    • Announce now to start the conversation early.

    • Can we tie the DEPR and tech radar together through automation

  • Github Issues: How do we refer to them?

    • Just by their repo/issue number.

  • With all the MFE-ficiation happening, how can we use DEPR to better prepare the community for upcoming frontend changes and make sure that all necessary concerns are gathered?

    • Case study: DEPR-42 and the following custom payment processor debacle. This is still an open issue.

    • Upcoming: frontend-app-authn and frontend-app-discussions.

    • Can we surface decisions made and support dropped on DEPR tickets or somewhere are?

    • Nascent Product Process and working group that might be the long game

    • Make sure we pay attention to the release boundaries?

      • Ideal: experimental named release, default named release, removed named release

      • In the case of smaller features: default named release, removed named release

    • Can we include Discussion MFE in Nutmeg in an experimental version?

    • Bring this discussion to the BTR group.

    • We need to make sure teams in 2U/edX make DEPR tickets.

      • Add deltas in feature sets to the DEPR tickets.

  • Old Mongo deprecation continues - we turned off enrollments. And working on turning off marketing pages.

    • Unblock removing legacy tabs for migration to the learning MFE

    • Unit tests now use split mongo by default! A lot of tests have been migrated to use split.

  • Announced DEPR for start/due dates outside of Sections and Subsections. - Dave

    • Match what is available in Studio.

    • Can we write a management command/coursegraph query that will find any courses that do this?

      • @Dave Ormsbee (Axim) to write a course graph query for this.

  • Continuing to move things from Jira to Github

    • Any help here is welcome.

    • Sidebar: Jira DEPR workflow can’t be updated without IT intervention.

      • When migrating from Jira to Github issues, leave a comment on the Jira ticket and close it.

Agenda(Ides of March)

  • Should we do a blog post about moving to GitHub issues?

    • Where would this blog post go?

      • Open edX blog?

    • What would be the purpose?

      • An announcement to the community?

      • An exploration of the process?

      • A chance to recruit more people to help with DEPR work?

    • We should talk about this next meeting, hopefully with more people attending.

  • DEPR Blended updates

    • Raccoon Gang has bandwidth (and is in a safe place!), so we’re working with them to get some of our DEPR tickets over the line.

    • Blended brief was moved from 2U to tCRIL for this

    • Raccoon Gang discovered that we lost some links to old Google Drive documents. If you run across anything that is broken, feel free to reach out to Diana about finding a copy of it.

    • Diana will update Jira/Github issues with the new public links to the documents she has already found.

  • Old Mongo updates

    • Tests on edx-platform have been converted to use Split Mongo.

    • Recruitment

      • How do we support this? Can we help make this easier/less intimidating? Can we help do the work?

        • For this work, one of the avenues is going through and removing usage of Old Mongo in tests (this is fairly simple).

        • How can we get work that needs to get done in front of other eyes? Larger discussion about interaction with the community.

    • There are still three big things that need to happen to get things out of edx-platform.

      • These are parallelizable.

      • They all require migrations.

      • Can we do this as a blended project?

        • Check 2U budget on this and TNL bandwidth.

        • Forums is also a sticking point. There’s a forums project going on at 2U that will need to be accounted for.

  • MySQL 8 and Nutmeg

    • BTR wants confirmation that MySQL will work for Nutmeg.

      • will probably not be migrated in time, but the community should be safe to move to it.

  • Rescheduling meeting

    • We will try rescheduling this to 11am EST for now and see if that helps at all.

Agenda (March 29, 2022)

  • Blog post about moving to Github issues?

    • What is the focus? Which blog?

    • We could also make it a discuss post - in announcements

    • More of an inform rather a discussion about the complications around the move

    • Jira to Github move might have some interesting topics

      • Lack of integration with Slack - updates don’t immediately show up in the Slack channel like they did with Jira

      • Subtasks are pretty good in Github issues

  • DEPR blended project updates

    • RG has begun working through the EdxRestApiClient DEPR and will continue to go through it until it is completed or we run out of hours for them.

      • [DEPR]: EdxRestApiClient #37

      • [DEPR]: Remove legacy course info page & related code

      • [DEPR]: Remove Enterprise Catalog API V1 from edx-enterprise

      • [DEPR]: Retire LegacyWaffle classes #28

      • [DEPR]: Remove VerifiedTrackCohort #63

      • [DEPR]: Cleanup: Remove last vestiges of save option from anonymous_id_for_user #35

      • [DEPR]: Replace PDF course certificate view code in edx-platform #27

      • [DEPR]: Remove edx-jsme, Molecular Structure Problem type #14

      • [DEPR]: Account pages -> micro-frontend #71

      • [DEPR]: ecommerce Basket Page -> micro-frontend #68

    • Discovered usages of bok choy that we didn’t previously know about in ecommerce and credentials.

  • Old Mongo updates

    • @Dave Ormsbee (Axim) and @Michael Terry (Deactivated) do you want to give async updates on this work?

      • @Michael Terry (Deactivated) says: I’m planning on removing acces to Old Mongo next Monday (April 4th)

    • Removing access to old mongo courses - approved a while ago and unclear when it will land

      • Once this lands, we can start removing pieces of old mongo

    • Write out subtasks, game plan for removal after this.

    • Can maybe include this work in our blended project with Raccoon Gang

  • site_configuration

    • Github issue about deprecating it in public engineering (roadmap?)

      • Concerns brought up during a contributor’s meeting

    • Previously discussed with Sarina

    • Maybe we should put it through the proper DEPR process so we can formally abandon it if there’s enough pushback

    • There’s a separate possible option eox_tenant for multitenancy as a replacement - should get feedback from the rest of the community

    • Action item: move/create depr ticket and announce with a longer acceptance period to see if eox_tenant is a good replacement - follow up to see if we have a point person on this discussion, then let them take care of announcement.

  • @Michael Terry (Deactivated) async update: I have PRs to remove legacy outline & dates tabs, but since we’re so close to the Nutmeg cutoff, I’ll just wait until after then (April 11th) to land them, to let Open edX have another release with the legacy views still supported.

April 12, 2022

  • [Feanil] Comms improvement as things are going away(From core-contributors meetup)

    • Can we have more details in the deprecation section of the Release notes?

    • What are other things we can do to make the DEPR board easier to consume as a summary of work.

    • Take a look at what landed between releases

      • do lookups/create filter for the DEPR board for each release - what got removed between these two dates

      • create label ‘needs release notes’ for DEPR tickets

        • badger people until they’re added to the release notes

      • archive things at the Open edX release boundary

      • add agenda item for WG

      • @Feanil Patel talk to BTR about contacting DEPR after a new release has been cut in order to trigger our own process

      • @Diana Huang take ideas and turn into a checklist for next release

  • Working Group Meetup at Open edX Conference

    • Feanil will be our representative

  • Blended project update

    • Making progress through EdxRestApiClient

    • Starting on other tickets

  • Old Mongo progress

    • remove legacy outline and dates tabs

    • preview mode in studio still relies on the courseware endpoints and template rendering

    • TNL has a ticket for handling this case

  • site_configuration DEPR ticket still needs to be created

Agenda (4/26/22)

  • Flags that should maybe be enabled by default/flag should be removed.

    • [Request] Review the flags as a group and figure out which ones to DEPR

      • Process: Do we want a depr ticket for each of these? Should we batch them together?

        • Change defaults for the ones we believe should be a different default

        • Add something to the next release notes about the flip

      • Next steps:

        • 1 DEPR for Studio login flow

        • 1 DEPR for removing the ones that we want to remove

          • Removal will happen after Olive is cut.

        • Announcement in Discourse about turning these flags true

        • Also add to release notes for Olive that we are changing these defaults

Name

Current Value

Notes

Next Steps

Name

Current Value

Notes

Next Steps

DEFAULT_MOBILE_AVAILABLE

False

Go with mobile ready by default?

Flip to True by default

 

DISABLE_DEPRECATED_SIGNIN_URL

False

This is the CMS sign-in endpoint, which should be deprecated if we're defaulting to lms login.

Make a DEPR ticket for this and the next one around removing the CMS login page entirely in favor of the Oauth flow.

DISABLE_DEPRECATED_SIGNUP_URL

False

The related CMS sign-up URL which should also be dropped with the lms login.

 

ENABLE_COPPA_COMPLIANCE

False

Should we enable this by default?

Default to true

FEATURES['ENABLE_OAUTH2_PROVIDER']​

False

Apparently needed to enable the mobile REST Api

Default to true

Possibly should just be removed as a toggle.

FEATURES['ENABLE_UNICODE_USERNAME']

False

Should probably be enabled by default

Could break apps or other things that can’t handle unicode

FEATURES['MILESTONES_APP']​

False

 Seems like it should be enabled by default

Default to true

Should be removed

Ensure that we also have defaults for any other configuration needed

  • edx-microsite and remaining microsite cleanup

    • move into edx-unsupported

  • Enterprise Catalog v1 deprecation

    • might have some ecommerce calls to the old thing in edx-enterprise

    • check in with enterprise engineering at 2U about the status of this migration

  • legacy frontend deprecation timeline

    • proposal: toggle them off by default in Olive, remove code for the release after

      • Create PRs right now, but wait until after Olive is cut to merge

    • These are the templates/code that live in edx-platform and ecommerce

    • Re-announce the appropriate deprecation tickets to ensure everyone sees them

      • make forum threads in Discourse to discuss the timeline for these removals

Agenda (May 10, 2022)

  • Review steps for deprecating toggles and switching defaults

    • actually do the work for creating tickets and swapping these toggles

      • 1 DEPR for Studio login flow overall

        • this is technically two toggles

        • @Feanil Patel

      • 2 DEPR tickets for removing the ones that we want to remove

        • OAuth2 Provider & Milestones App

        • Removal will happen after Olive is cut.

        • @Feanil Patel

      • Announcement in Discourse about turning these flags true

        • @Diana Huang

      • Also add to release notes for Olive that we are changing these defaults

        • Can we ensure that this gets picked up by the diff in documentation?

        • @Diana Huang

      • Change the defaults

        • @Diana Huang

  • Working group support for DEPR blended project

    • Enterprise catalog version 1?

      • @Diana Huang

    • JSME removal from edx-platform

      • @Peter Pinch

      • @Dave Ormsbee (Axim)

    • course info pages

      • @Feanil Patel

  • Old Mongo progress

    • Find epic of this work

    • @Dave Ormsbee (Axim) to map out next steps of this work

  • Review DEPR board

    • VerifiedTrackCohort

      • needs a PR review @Diana Huang or @Feanil Patel to take it eventually

Agenda (May 24, 2022)

  • COPPA compliance toggle discussion

    • Turns off year of birth from being exposed in the UI to learners

    • Could use an improvement in the toggle documentation

  • Milestone app can be turned on safely without other configuration updates

  • Auth-related DEPR work

    • Note: Tickets have “unfinished” label.

      • This seems to be mostly table/DB cleanup. Which can be tricky and complicated.

      • Maybe a good testcase for simple work that the community can tackle

      • Needs to be broken up into subtasks.

      • Maybe this needs a DEPR ticket to ensure community knows that these JWTs are going away?

      • There will need to be a migration path for using asymmetric JWTs, since all of our services used to use symmetric JWTs.

      • This has a high likelihood of breaking if not handled carefully.

      • Ecommerce is also an exception to this, but we would like to contain it to ecommerce.

  • Blended/FC project updates

    • LegacyWaffleClasses removal

    • edx-jsme PR still waiting for review

    • EnrollmentTrackUserPartition - is it being used currently? what other features are relying on it?

      • We believe the previous removal, VerifiedTrackCohort, might need this removal to continue.

      • If we do this, we need a good migration plan at the very least. Start discussion in Slack asynchronously.

    • Adding new toggles to turn off old UIs

  • Decommissioning the old build Jenkins that used to be running the edx-platform tests

    • Still a few jobs still running on it

    • Most of them have been converted to Github actions

    • edx-e2e-tests are being moved onto Cypress. A team at 2U is actively working on these.

    • Some mobile build jobs.

  • Diana to update invites with meeting notes links

  • MFEs

    • keep the community synced with what new MFEs are being created

    • ensure that a DEPR ticket for the old frontend is also created

    • how do we create a process around ensuring that this happens?

    • ARCH-BOM can add a note to our runbooks around creating DEPR tickets when new MFEs are created.

    • Ask squad considering a new proctoring IDA to create DEPR tickets

    • New FED maintenance group at 2U for helping to remove old code and maintain frontend

    • is a page where things are tracked. Make sure it is kept up to date.

    • Async in Slack: inventory of current MFEs and current MFE-related DEPR tickets to make sure we have DEPR tickets for MFEs that currently exist

  • Prepare for us to review temporary toggles next meeting. Ensuring any private toggle information is removed.

  • Wiki and Pages are they deprecated?

    • We are stuck in the state where they are neither maintained nor deprecated

    • Bug in Nutmeg

    • Create a DEPR ticket for Wiki removal to see what the concerns around it are.

      • @Diana Huang to create the ticket for this work

Agenda (June 7, 2022)

  • TODO item for @Diana Huang : update calendar invite to include a link to this page (ideally in edit mode)

  • Review temporary toggles in the documentation

    • 2U internal link:

    • Deprecation tickets to be created:

      • user_authn.enable_login_using_thirdparty_auth_only [Feanil will create]

      • DISABLE_DEPRECATED_SIGNIN_URL and DISABLE_DEPRECATED_SIGNUP_URL [Feanil will create]

      • registration.enable_failure_logging [Cristhian will create and follow through]

    • Toggle tooling enhancements:

      • Need to add deprecation ticket to a separate annotation for convenient filtering out during future reviews

      • Good to document the expected final default for a temporary annotation.

  • [inform] [Robert] Created:

  • Review the board:

Agenda (June 21, 2022)

  • FC/BD project update

    • course info removal

    • PDF cert download frontend

    • held up on data engineering right now

    • can we get manual testing resources?

      • can we get a test plan from DE?

      • manual testing team is known as QA internally

        • led by Agha Awais Khan

  • Content Libraries v1 DEPR ticket to be created

  • Reviewing the board

    • assigning things

Agenda (July 5, 2022)

  • EdxRestApiClient is… done, maybe?

    • maybe we can try to remove the code and release a new version of the library.

    • can we add monitoring to see if we are still using this

    • let’s check production logs on to see if we can find deprecation warnings, etc, that are still remaining

  • enterprise-catalogs v1 is next

  • Talk about how to split remaining work

    • jsme - accounts for 8MB of the 11MB of capa

      • can we measure the change in performance for mobile to make the case for this work?

    • make sure we verify that the persistent course grades change doesn’t break other instances

  • How do we ensure that we have a process around monitoring around DEPR work?

    • existing example:

    • create a simple wiki page and then add to it

    • HOWTO index for DEPR work to be created

    • @Robert Raposa to sketch out the beginnings of this

Agenda (Next)

  • BD DEPR project - need reviews on PRs to replace legacy front ends with MFEs

    • David Joy may be able to help with this

  • Build Jenkins (https://build.testeng.edx.org/ ) Decommission August 15th, 2022

    • AWS will shut off EC2 classic which we use for the packer builds for the AMIs used by the Jenkins Workers. We will not be able to fully support Build Jenkins after August 15th without rework.

  • MFE rewrite coordination

    • seems done from the updated ticket scope, but leaves a bunch of loose ends

      • Retitled and marked as Removed, the loose ends will get new issues as part of the overall MFE rewrite project

    • It looks like is done, but repo was archived before the ticket was closed. Should we just delete this from the DEPR board? Update the OEP to make sure DEPR (and maybe other) issues get closed before archiving?

      • Feanil temporarily unarchived the repo so we could close the issue

    • Who should be tracking the big picture of making sure we actually get to a state where we can rip out the legacy front end code in this initiative? doesn’t have much green yet.

      • Feanil will discuss with Adolfo and Jenna, we may need a technical product manager to spearhead this

  • [Feanil] Questions about interaction between OEP-21: DEPR and maintainership transfers

    • Will keep as an ADR on OEP-55: Maintainership for now

    • But we may want to reword OEP-21 later to be more focused on how and less on why

  •  

  • [inform] OEP now requesting an ADR when someone chooses to continue usage of a DEPRed feature:

  • Review board, update issue statuses and decide next steps

August 2, 2022

  • jsme fallout

    • some courses were using it on , more than we thought

    • proposal for future work:

      • an internal owner for reviewing how the feature is currently used on our platforms, and on communicating impact to stakeholders (relationship managers, courses teams, learner channels)

      • updating documentation

      • monitoring could maybe have caught this.

        • we could have checked this more closely to the time we removed it

        • how quickly can we have monitoring as a follow-on to announcing a deprecation?

          • Can we add a checkbox or something to encourage fast follow on?

          • this can only be tracked by edx.org/2U engineers, which limits work that can be done by members of working group

          • Can we add more notes to the DEPR template to help with this?

      • we thought this was handled and checked in coursegraph

  • Open edX impact report

    • Check the ‘removed’ column on the board.

  • Persistent Course Grades flag fallout

    • What can we do to prevent this in the future?

    • There will be a few internal RCAs, but I would like to put it out to the group as well.

      • We’ve talked about flagging certain types of migrations in PRs.

      • Tracking the number of DEPR projects result in RCAs.

      • Can we see the impact of these on Open edX installations?

        • How many installations are even using this?

        • Is there a way for the community to tell us that we broke something?

          • Just a part of the usual communication channels for things that get done in master and impact other operators.

  • Follow up on MFE discussion

    • What needs to be left done?

    • tCRIL is focussing on looking at the gaps in MFE coverage to see what needs to get done.

  • Review the board and decide next steps

Agenda (August 8, 2022)

  • How do we want this group to operate going forward?

    • What kind of agenda items do we want to see? What kind of work do we want to do?

    • Spreading knowledge and information about deprecation efforts

      • Understanding what can we spread to the community in terms of work.

      • What can we do to spread information and make feedback collection easier so that we can hear about issues with deprecation?

    • How do we enable deprecations to happen?

      • This is getting increasingly complex as our architecture is getting increasingly complex - what can we do to help with this?

    • Mature the deprecation system.

      • Hold people responsible for the thing they’re replacing.

      • Investing in tracking which things are being used where.

      • Easily communicate what has changed between named releases.

        • DEPR is a good use case for ensuring that this process works.

  • What processes can we add to move tickets to the next column?

    • What blockers are there for tickets to move into Communicated?

      • dates - should we just suggest a default?

        • Two weeks by default

        • Focus on named releases

      • Tickets need more research or discovery and updates before they can be moved into Communicated

        • e.g. migration plans, replacements, documentation

        • Already in OEP, but we need people filing tickets to do the work.

      • Can we close the open issue on OEP-21?

  • Announce a few more DEPR tickets after discussing each meeting, move the tickets from ‘Proposed’ to ‘Communicated’.

    • Focus on this until we fill ‘Communicated’ and ‘Accepted’ again.

  • Build Jenkins is being shut off today

    • archive/move edx-e2e-tests to unsupported?

Agenda (August 30, 2022)

  • How do we want this group to operate going forward?

    • What kind of agenda items do we want to see? What kind of work do we want to do?

    • Time slot collides with the product working group.

      • we could move this to the opposite off-week to ensure that we don’t overlap

      • reschedule for off weeks - 3 weeks until next meeting

  • How do we deprecate XBlocks with minimal course impact?

    • context: how can we tell instructors/users of Open edX in a way that means that everyone is aware and prepared?

    • RateXBlock: individuals/support members can look at the board, but doesn’t scale.

    • Historically, the development team would be responsible for this.

    • We do have toggles on Studio, where we can toggle a banner that shows up.

    • Feedback: if someone doesn’t want something to go away, we would transfer ownership to the group that is willing to own it.

    • Proposal:

      • When an XBlock DEPR shows up, DEPR working group member at 2U/other organizations reaches out to their user facing team.

      • If it is used at the organization/installed, we should toggle the setting to put up a warning banner about it going away.

        • For 2U/edx.org: (link to internal wiki)

        • For community: Support can be toggled via the xblock_django admin interface:

      • Collect feedback from users.

      • If everything is good, move forward with removal.

      • If not, figure out new ownership.

    • Use RateXBlock as a test case for this.

  • Old Mongo removal is Happening!!! (as in, right now :-P)

    • Raccoon Gang is doing this work.

    • Open edX Slack channel: #tcril-raccoon-gang-old-mongo

    • Planning on removing this in pieces for .

    • CourseOverview objects will continue to be generated, so course information at the top level (e.g. names, ) will be still be accessible.

    • Risks:

      • could break CourseOverview generation

      • links will be broken

        • will show up in the logs as c4x, etc.

      • keep an eye on the certificates and other code paths that access to the modulestore

      • there are xblocks that use modulestore directly?

        • generally use the top level course information - attributes on the course object that will be accessible

        • eg: LTI Consumer Xblock getting the course

    • Can roll out monitoring for this?

      • New Relic alert for course ids that match a pattern and 404s there?

    • Probably not worth it to remove the old collections of Old Mongo courses.

Agenda (Sept 20, 2022)

  • edx-proctoring deprecation

    • It turns out the legacy proctoring front end code didn’t work in Nutmeg, maybe Maple either (proctoring works in the learning MFE with a new library)

      • No one from community seems to have noticed?

      • MIT uses proctoring, but doesn’t seem to have had an impact

        • switched over to the learning MFE, so did not run into this issue

    • But we never removed it

    • Dropping it as a front end dependency in edx-platform now

    • Back end code to be replaced with a new IDA soon, we should create a DEPR ticket for that

      • edx-exams IDA

    • Punting on deletion of the front end code until the whole repo gets archived, unless it comes up again as a distraction.

  • Can/should we have this group focus more on finding things to deprecate and helping integrate deprecation into the regular work of other teams?

    • We don’t find the deprecation work before an upgrade cycle.

    • Bigger concern is getting this work on a team’s workload, because our concern is that teams have found things and not committed to finishing it in the past.

    • Maintainer scrum of scrums?

      • part of maintainer responsibilities

    • Making DEPR tickets a prerequisite for upgrade help.

      • tier 1: if you don’t handle DEPRs, no assistance from the Arbi-BOM and FED-BOM teams when upgrades are due.

      • tier 2: if upgrades are not accomplished by pre-established deadlines, then all feature work has to be dropped until they’re done

    • There are plenty of toggles that are probably ready for deprecation

  • Moving forward with OEP changes

    • need to update the DEPR template across the various repos - in .github, file tCRIL request for the rest

  • Olive branches being cut on 10/10 - anything we should try to finish by then?

    • FC work - account page and ecommerce basket pageW

      • would like to get toggles in and be able to toggle off the old UIs for Olive

    • Check in on persistent course grade flag migration/documentation - make sure it’s working for other deployments

  • Bearer Auth - future work that we want to make sure we have the right communication around.

  • Hooray for persistent course grade flags getting merged

  • Ambient discussions of deprecations going around without any commitment?

Agenda (October 4, 2022)

  • Overlap with CC meetings?

    • Every other week from Product Delivery meetings

    • Should we attempt to reschedule?

      • Keep this for now until it becomes an issue with overlap

  • frontend-app-account FC PRs

    • FED-BOM will review

    • Raccoon Gang moving on to other work

  • Plato mentorship conference

    • only available to subscribers, unfortunately

    • need to focus on both Developer Experience and Deprecation work to maintain/increase developer velocity

    • design code to be deprecated in the future

      • what does this look like in Open edX?

        • decoupling - moving towards event bus will help

        • even with event bus - being able to transition between different event buses

        • what do other projects do around deprecation?

      • a good place to discuss how to do this in the future and think about it as we catch up to the existing backlog

      • systems for handling backwards incompatible migrations

  • DEPR process questions

    • moving from proposed → communicated

      • no review steps in between

  • How can we tweak the incentives around deprecation?

    • on top of the existing discussions previously

    • talking to product owners and engineering managers

    • allocating time for deprecation work with maintenance

    • FC retro and RCA to discuss process improvements

      • general RCAs around deprecation projects to talk about things more holistically

        • how could this feature have been designed to make it easier to remove? etc.

      • several mini retros around different parts of the FC work

Agenda (18 October 2022)

  • OpenSearch migration

    • Who is going to be responsible for it?

    • [Jeremy] How much do we really want/need to keep this at all? Simon did some discovery on this, and determined that LMS and Studio get pretty minimal benefit from Elasticsearch usage; other installations may use these features more.

    • @Dave Ormsbee (Axim) : See if tCRIL can fund some of this work.

    • See (this is currently private and will need to be cleaned up before shared publicly)

      • Concerns:

        • Will it require 2U reviews?

        • Support both or will migrate?

          • Plan was to move over fully.

  • XBlock deprecation procedure

    • While deprecating RateXBlock, it became apparent that we’re a little fuzzy on exactly what needs to happen before uninstalling an XBlock with non-zero production usage. We should figure this out and document it, for both usage and reference in Open edX release notes.

      • There is a procedure for some of this for that we could follow if we need to:

  • XBlocks in ownership limbo; can we deprecate some of these?

    • There are many XBlocks nominally owned by the now-defunct Community Engineering Squad

    • One of them (RateXBlock) was recently deprecated after discovering that no courses have used it since 2016.

    • Can more of these be deprecated before I hunt down new owners for them? Who at 2U should take the time to look at CourseGraph and figure out which of these can potentially go?

    • List:

      • acclaimbadge-xblock (private 2U repo)

      • acid-xblock (test of the XBlock API)

      • AnimationXBlock

      • AudioXBlock

      • ConceptXBlock

      • crowdsourcehinter

      • DoneXBlock (obsolete in light of completion feature?)

      • RecommenderXBlock

      • schoolyourself-xblock

      • staff_graded-xblock (goes to MIT?)

      • xblock-free-text-response (Stanford)

      • xblock-image-modal (Stanford)

      • xblock-in-video-quiz (Stanford)

      • xblock-qualtrics-survey (Appsembler)

      • xblock-sql-grader (used in some Stanford courses, not sure how many or old)

      • xblock-submit-and-compare

    • Next steps: 2U needs to look through this list and check usage, who owns them, how much they’re used, etc.

  • Old Mongo no longer accessible in LMS

    • Partial blockers: certificates, course overviews dependencies

  • BD-13 upcoming changes: XBlock serialization, event log tracking refactoring

    • @Dave Ormsbee (Axim): Who to talk to on DE? Troy?

  • Olive release notes:

    • Go through the board and make note of what has been removed.

    • Doesn’t need release notes:

    • Needs Release Notes:

      • - @Dave Ormsbee (Axim)

        • not fully removed yet, but should be deprecated

        • planning for removal of old client in Palm

      • @Dave Ormsbee (Axim)

        • removed old UI code from edx-platform

        • This was already covered by MTerry

      • @Diana Huang

        • Now this feature is on by default for all installations.

  • O’Reilly’s has an entire chapter on deprecation. At least one of us should probably read it and see if there are any useful tips.

  • from the Plato Elevate conference had advocacy and tips for deprecation as a software engineering velocity booster

  • Open edX Conference 2023 Call for Proposals!

Agenda (1 November 2022)

  • Scheduling, again!

    • Move to Thursday work for most folks?

    • @Diana Huang to reschedule for Thursday at the same timeslot

  • Release notes for Olive:

    • Do we need to do anything else?

    • Add info about backfilling grades to persistent course grades

    • Still need release notes for the removal/removing of EdxRestApiClient

      • @Feanil Patel as backup/work with @Dave Ormsbee (Axim)

  • Maybe mini book club for one chapter of this?

    • O’Reilly’s has an entire chapter on deprecation. At least one of us should probably read it and see if there are any useful tips.

Agenda (17 November 2022)

  • FED-BOM would like some time with people who have context on legacy edx-platform frontend code, to help identify which chunks do what so they can start planning out removal of stuff replaced by MFEs.

    • Diana & Kyle can help with this

      • David Joy would be a good candidate, but he’s still on paternity leave

    • Any updates on getting the MFE rewrite status page refreshed?

      • It’s on Adolfo’s radar

  • Legacy frontend vs. MFE differences

    • warning message about not being enrolled rendering unless there’s a refresh of the page?

    • This is an edge case, but we’re considering it a bug and not a deprecation.

  • some updated discussion about the future of site_configuration

  • MFE migration painpoints

    • Old custom plugins and customization into edx-platform don’t work with the new MFE worlds

    • tCRIL is interested in this, MFE domains

  • Upcoming Translations managements

    • This is more important to 2U internal and the old Jenkins framework, but good to know about.

  • Is CCX a candidate for deprecation?

  • [Robert] [inform] Landed OEP and DEPR Issue template changes to simplify DEPR date guidance (related to named releases).

  • [Robert] Potential DEPRs to announce:

    • 3 AuthN DEPR tickets (includes 1 on BearerAuthentication that needs to be written)

    • 1 ticket for is_active and email activation.

  • [Kyle] On Feanil's behalf, heads up on

  • Configuration deprecation

    • Who is still using Ansible vs. containers?

      • MIT is probably using some of the stuff in configuration, even if they aren’t using a lot of the Ansible code

    • Arbi-BOM has been migrating devstack containers off of using configuration

    • edxops docker hub will probably be shut down, openedx docker hub may be shut down since it only hosts devstack images currently, though it does also have the edx-platform github action runner images as well.

    •  

Agenda (1 December 2022)

  • CCX update

    • Roadmap ticket was submitted

  • is_active/email activation DEPR

    • removing email activation flow

    • product decision needed

      • proposing to the product working group

      • adding a section to the DEPR tickets to discuss end user impact for product folks to better understand the decision.

    • should we submit this with the other auth DEPRs?

  • announcement frequency

    • would it be confusing to announce two at the same time?

    • different audiences?

  • Archiving obsolete mobile repos

    • There are 6 of these, mostly private

    • Confirmed with Mobile that these can go

    • Who should archive and move to unsupported?

      • Arch-BOM

  • Taking a hatchet to build-jenkins configuration code

    • jenkins-job-dsl, testeng-ci, testeng-secure, configuration, etc.

    • Pretty sure nobody in the community is using this, but will run these PRs by any 2U squads still maintaining a Jenkins server

  • configuration repo deprecation

    • what plans should we put in place to move this migration forward?

      • devstack images are starting to be built without configuration

      • DevEnv discussion will probably address sandboxes

      • then the question of production deployments like

      • Make subtasks for deprecating configuration?

        • go through the roles and try to form logical groups around them

        • as things get moved off configuration, make subtasks so we can track deletion of code

    • for now, focus on clearing out stuff that we know we can get rid of

    • 2U SRE is probably some of the best people to focus on monitoring and helping ensure this code removal doesn’t break anything.