DEPR Meeting Notes (2023)
- Diana Huang
- Feanil Patel
- Dave Ormsbee (Axim)
14 December 2023
[Jeremy] I think we’re clear to move ahead with deprecation/archiving of edx-analytics-pipeline
Actually, no, sometime in 2024 to get rid of the last usage…sigh
[Diana] Deprecation of insights
How do we help kick off this process?
What do we need to ensure happens?
Nothing right now. AXIM will take a deeper look in January 2024, so it can wait until then.
[Jeremy] MySQL 8! Is there anything 5.7-specific we can ditch?
We can drop the migration tests in GitHub because we don’t need them yet
No new LTS for MySQL yet
Hooray! We are just happy that we are now current and up to date!
Jeremy will ask Arbi-BOM to update the Support Windows doc
[Jeremy] APM integration deprecation/generalization
We should create a DEPR ticket for New Relic
be clear that we aren’t going to be adding a direct replacement
Trying to target OpenTelemetry as a starting point for this refactoring work
A chance to try to ensure that there are the proper integration points for orgs/operators to build out their own observability stacks
@Diana Huang to create the DEPR ticket for this work
[Diana] EdxRestApiClient code removal from edx-rest-api-client library will be
[Jeremy] edx-platform legacy UI removal status
Removal of the old UI code from edx-platform depends on some of this work
Keep finding corner cases where things stick around
16 November 2023
Admin note: can someone run the 30 November meeting?
It seems like this
courseware_studentmodule work
Do we have a process for removing code that we don’t think is actually accessed from the frontend?
Just go through the DEPR process as normal
For 2U-checking, we have ways to do some observability work to check for whether or not codepaths are used.
Improve DEPR process for toggles · Issue #283 · openedx/edx-toggles
Covered if we want to require the toggle_depr_ticket field.
Likely incoming DEPRs for obscure video features.
New version of the video player
Will need to communicate out within 2U and 2U partners
Can we check for New Relic information about usage?
What version of OpenSearch are we targeting?
We don’t have any in particular, but latest stable seems the best option (2.11)
What client to use?
No determination on this yet.
(Add these questions to the DEPR ticket).
Bok Choy update:
We're getting closer and closer to removing bok choy from openedx
Python 3.11
Targeting Redwood
Hoping to start this in January
02 November 2023
Introducing Brian!
Re: Contributor Coordination Working Group | Comment - providing DEPR updates to the rest of the community
Maybe we can just see if the meeting notes are sufficient for their purposes and if they are not, revisit this topic
[Robert] [inform] Progress being made on [DEPR]: USE-JWT-COOKIE header · Issue #371 · openedx/edx-drf-extensions.
Testing (again) on ecommerce. If that works, will enable by default.
Making sure folks have enough work to do (if they want)
Looked through the temporary toggles spreadsheet, have a few possible candidates, though we will want to do some vetting to ensure that they’re ready to be worked on instead of breaking it.
[Jeremy] [inform] FED-BOM making another attempt to remove legacy account, profile, and ecommerce UI pages
Splitting them up into 3 separate PRs this time to increase odds of each one getting through
[Jeremy] FED-BOM is looking to use Webpack build output to identify unused direct dependencies. Should we try something similar with Python test suite coverage data?
Unsure how much this lines up with depsplorer exploration that we already looked at: Run depsplorer on edx-platform · Issue #32604 · openedx/edx-platform
We don’t know if there’s an existing coverage plugin that would already give us this information.
Could write up some tickets for running some of these existing tools on some of our python repos.
go to repo-health-dashboard and sort by the repositories with the most dependencies, start with the one that has the most.
Alternatives to GitHub - Nathan-Furnal/depslorer: A tool to check if installed dependencies are used in the code ?
Past Agendas
19 October 2023
Account and profile UI removal is still causing issues
can we make documentation/a checklist on what we need for a conversion from server side rendered templates to an MFE?
what things do we need to look for?
create a supporting deprecation ticket around drafting a version of this checklist
what can we do to ensure that the contagion doesn’t spread for things like this?
has also happened with EdxRestApiClient
move a local copy to the only remaining (known) place it’s used and THEN delete the version in the library
Yagnesh is interested in taking this on
we can make better use of DeprecationWarnings?
Linting for deprecations
Is this something that fits with AXIMprovements?
Seems like edge may or may not have been moved over to using the MFE
How do we reduce duplication of effort?
GitHub issue has moved around
Quince release notes
05 October 2023
[Dave] Hide the Matlab key as part of the matlab deprecation work
XQueue deprecation
[Feanil] Bok Choy tests and references are going away in edx-platform
Badges also has a PR to remove it from edx-platform (yay)
xblock-utils got merged into xblock repo, so the separate repo will be archived and moved to unsupported
should be a simple migration, but does involve some work
21 September 2023
depsplorer results
Run depsplorer on edx-platform · Issue #32604 · openedx/edx-platform
If diff coverage is being used?
we are going to try to remove the paver command that calls it and see if any tests break
https://discuss.openedx.org/t/new-tools-for-managing-python-dependencies-in-edx-platform/11263
depsplorer has a bug where it doesn’t handle submodules
seems like it’s not particularly rigorously maintained, so maybe not a good candidate for use going forward
Small task for someone to pick up:
xqueue/xqueue-watcher deprecation
2U is not quite ready for deprecation yet, because we don’t have the resources
we need to put in a forcing function, maybe setting for the end of 2024
update acceptance date to October 2024
07 September 2023
We have a profile MFE. Should there be a DEPR ticket for removing the legacy page from edx-platform?
We think it’s still used in Edge, but that should be fixable
The MFE may not be at full feature parity yet
This ticket references removing/deprecating the old profile page: https://github.com/openedx/public-engineering/issues/71
Some old context: https://discuss.openedx.org/t/deprecation-removal-legacy-frontend-implementations-depr-17-depr-42-depr-109/3193
Next steps:
Can we announce this deprecation? - got a volunteer
Maybe give two weeks for acceptance?
Once this is accepted, the code can start being deleted.
Askbot references still lingering: https://github.com/search?q=%28org%3Aopenedx%29+askbot&type=code
We can make a depr ticket for removing the comments and put it on the depr board as supporting work
We have a lot of staff grading XBlocks. Should we try consolidating them?
https://github.com/openedx/staff_graded-xblock
This was an XBlock living in the edx-platform codebase until 2019, was split out to be a separate repo then.
Installed by default in http://bundled.in
Can possibly be replaced by gradebook.
@Diana Huang MITx folks are not aware of anyone using this xBlock in our courses. We’d be fine with a deprecation announcement, but we would still want a coursegraph search on http://edx.org just in case.
https://github.com/mitodl/edx-sga
One feature in this one that doesn’t exist in ora2 - instructors can submit a file in response to a student file.
eduNext was talking about adding more features, not sure if that happened
Installed by default in http://bundled.in
Can we get rid of at least one of these?
Talk to product about this.
staff_graded seems like the most likely to be removabled/replaced
Need to understand how many people are actually staff_graded this on http://edx.org .
The comment period for xQueue xQueue-watcher has passed with some requests for delaying the deprecation. What comes next?
https://discuss.openedx.org/t/deprecation-xqueue-xqueue-watcher/10932
https://github.com/openedx/public-engineering/issues/214#issuecomment-1691824545
Usually this means we will push out the acceptance dates/leave things in ‘proposed’ until we have a good solution/migration path for the people affected.
MIT is planning on switching to https://www.vocareum.com/
Owner of the ticket should be the one to update with new dates.
Last Old Mongo removal PR of FC-0004 has merged! (barring regressions)
This just went to production
Old static assets sticking around for a while to not block credentials
… so I guess this is still sorta in-progress?
@Dave Ormsbee (Axim) : Mark as Done, but put details about the bits that are left and why, for future reference.
@Dave Ormsbee (Axim) : Make follow-on DEPR tickets for specific pieces.
Upcoming Axim-funded projects that will likely kick off new DEPRs eventually, but not yet:
Prototype for safer XBlock rendering in the LMS
Very tentative and not committed to: Migrate forums to Django + MySQL stack
@Dave Ormsbee (Axim) : Draft DEPR for Ruby service
24 August 2023
Follow up on xqueue
This is still being looked at within 2U to see how much is still remaining.
There’s a request for the removal to be delayed until Dec 2024 because it would involve rewriting problems
Discussion of toggles-related DEPR work
Improve DEPR process for toggles · Issue #283 · openedx/edx-toggles
Specific subtask: https://github.com/openedx/edx-toggles/issues/284 - can be picked up by anyone (maybe Yagnesh, if it makes sense)
Discuss https://github.com/openedx/xblock-adventure/issues/56
Who from 2U can take on the work to investigate how this will impact http://edx.org ?
Someone on 2U support has already been contacted to do some investigation
Came up during some maintenance work. Another case of ‘we don’t want to have to do this if we don’t have to.'
Tutor is moving to MySQL 8.1
MySQL 8.1 is not an LTS release.
This did fix a bug in 8.0.x
Bumping versions on Tutor as soon as possible
http://edx.org is lagging behind, because of licensing issues, technical difficulties with the upgrades/migrations.
AGPL Licensing is not compatible with Mongo and Elasticsearch.
Concerns with falling out of sync between devstack/edx.org and Tutor and ensuring compatibility.
https://github.com/openedx/edx-platform/issues/32343
Communicate with the 2U’s website team about this
Discussion of how to handle non-depr-ticket tickets on the DEPR board
Still need to track as they are deprecation work, just not specifically needing to be announced.
Use a label/field to mark as ‘depr-supporting' work.
10 August 2023
[Diana] xqueue + xqueue-watcher ticket
We need someone at 2U to do a coursegraph search to find the existing usages of xqueue on http://edx.org .
https://docs.google.com/spreadsheets/d/12WkNMYPszx09P3xmKGjxLOaINyzpquJH3KwnvvIYUr0/edit#gid=0 (restricted to 2U)
obtained using NewRelic, Splunk, Mongo
only has a list using the 2U xqueue instance
need to find the ones that are using other instances (like MIT’s)
I was expecting to see the course 6.86x on this list (most recent run
course-v1:MITx+6.86x+3T2023
), but since it points to MIT's xqueue-watcher instances it may have been overlooked.
Aiming for Quince, but MIT will need to do work to migrate existing problems onto the alternatives.
We will need to talk with partners who are also using xqueue to find out what technologies they are using. Are they using xqueue-watcher?
Can we do NewRelic searches to find usages?
we did do this and found a good list seen above
and Splunk
and the Mongo DB
Assigning tickets via comments? can we find docs around that?
Solution: Any user can write a comment that only says,
assign me
, and the ticket will be assigned to them.
Follow up on deadcode discussion:
Maybe we should do the 100% confidence ones and see if we find anything that is a false positive in the resulting PR.
Follow up on moving stuff from openedx org to the edx org
Still have to talk to lawyers about what it looks like for both 2U and AXIM.
27 July 2023
[Diana] Follow up on deprecating devstack/edx-configuration
Set the dates further out, about 6 months
Seems like there is still some use here that we need to be aware of and careful about
Next steps? Draft up a proposal about what this transfer of ownership would look like? Figure out how to pull more people into the discussion?
We do need to figure out what the lawyers have to say about the transfer as well.
Next step: get feedback from AXIM’s lawyers on the implications of this- to be done by @Diana Huang
Initial proposal is to just move from one org to another, keeping the repositories public and available for PRs.
[Diana] Take a look at deadcode and vulture results on edx-platform:
https://github.com/openedx/edx-platform/issues/32603#issuecomment-1646737292
See if we can get vulture results using the existing edx-platform scripts previously used.
[Diana] We’ve been able to clean up some more small DEPR tickets thanks to Yagnesh!
[Robert] [inform] I’ve been implementing 2U-side of https://github.com/openedx/public-engineering/issues/190, and ran into a minor issue where I may take on edx-configuration.
[Peter] XQueue, XQueue Watcher
Can we get a ticket created?
Do we need to get 2U legal involved?
We can get a draft written up for the ticket.
LTI is the best alternative for this and should be the replacement for this code.
13 July 2023
[Robert] [inform/question] I noticed that I had referred to devstack as deprecated, and have discussed edx-configuration as deprecated, but neither of those things are true because there are only draft/proposed DEPRs.
Can we do better at moving DEPRs past Proposed so they are either Accepted or Rejected?
This means that folks need to go through the process of announcing and gathering feedback.
What does this mean for cognitive load?
Can we do better at not referring to things as deprecated when still in “Proposed”?
Can we say that Proposed is just a proposal and that we don’t consider something deprecated until it reaches ‘Accepted’? This is especially useful for making sure people feel comfortable giving feedback in the ‘Announced’ stage, because it means their feedback can sway things away from being deprecated.
Does the term “Proposed” sound too official, and would “Draft” change anything here? To me, “Proposed” sounds more official than what the actual status is, especially because the ticket could be no more than a placeholder title at that point.
[inform] I may miss this meeting. Feel free to discuss this topic without me, and maybe see which parts have lots of agreement and which do not.
2U is the only part of the community that uses these even. Should we move them into 2U’s org and then just let the community move on?
This needs a set of processes and announcements to ensure that this happens.
[Diana] Review results of deadcode:
initial impression: this seems a little too noisy to be useful
Could we find django-specific filters/plugins for this library to help filter out some of the noise?
We need to do a better job of filtering out tests, because that adds to the noise.
Maybe also exclude settings since we’re hopefully tackling that with toggles work.
[Diana] [Action item] I’m going to leave a comment on the ticket with the feedback.
[Diana] Still need to schedule meeting around frontends
How do we want to ‘deprecate’ things in Open edX that only 2U uses?
Maybe we just announce that these things get moved to the edx organization.
What are the gaps that still remain for non-2U developers and Tutor?
MFE development
[Action Item][Diana] Announce the deprecation of devstack.
Make it clear that this is going to be moved only.
Can we just move configuration?
Just make the announcement for it with the caveat that we will be moving it into the edx organization vs. into unsupported.
This shouldn’t have as many blockers from the community.
Is this the best way to go about doing it?
[Action Item][Diana] Announce configuration deprecation.
update the ticket to make it clearer that this is 2U-owned.
29 June 2023
Python adventures: Finding unused dependencies
GitHub - Nathan-Furnal/depslorer: A tool to check if installed dependencies are used in the code
Made tickets for tackling this work and then presenting the results.
@Diana Huang still need to schedule things for frontend work
We’ve got some OEP updates from @Robert Raposa
These small updates have been merged.
Merged in https://github.com/openedx/edx-platform/pull/32517!
How to run tests locally?
Inside the container’s shell. Also need to make sure you have the right python virtualenv enabled for that shell.
Can we update docs for devstack and/or tutor to ensure it’s possible to do?
Deprecating toggles: Improve DEPR process for toggles · Issue #283 · openedx/edx-toggles
How can we improve the process for maintainers of toggles to ensure they get removed?
MFE toggles in particular seem to be complicated and difficult to deal with and confusing for release notes/operators.
Even 2U developers are confused about it.
Can we get rid of Course-Wiki?
DEPR isn’t what we want to do right now(?)
Who wants to maintain it long term?
Could we use the maintainership process to transfer ownership?
It is heavily used on http://edx.org .
2U may need to resolve this internally to see which team actually ends up owning it?
History lesson on django-wiki fork
https://openedx.atlassian.net/wiki/spaces/COMM/pages/3098772044
This is a possible funded contribution/blended project to get our fork and the django-wiki mainline synced up and migrate our usage to the latest version of upstream. See above wiki page for details.
Labels added to DEPR tickets
Add labels for ‘help wanted’ and ‘good first issue’.
Use the ‘assigned’ field to indicate ticket ownership. If you can’t own a ticket anymore, you can unassign yourself.
15 June 2023
@Diana Huang still need to schedule things for frontend work
@Dave Ormsbee (Axim): Old Mongo PR I hope will merge early next week: https://github.com/openedx/edx-platform/pull/31134
@Dave Ormsbee (Axim): More Modulestore cleanup happening (FC-0026)
Yagnesh has a PR for some toggles cleanup!
Discussed https://github.com/openedx/public-engineering/issues/32 and got information on testing
@Dave Ormsbee (Axim): Got Matlab data I need to advance DEPR work (thanks @Peter Pinch!)
@Dave Ormsbee (Axim): Can we shift the database connection for edx-platform to be
ut8mb4
by default, instead ofutf8
? Does that require a DEPR? I think it’s backwards compatible…?https://openedx.slack.com/archives/C05BH88RYG6/p1686795286435919
If it’s backwards compatible, we probably don’t need a DEPR for it.
Being discussed in 2U SRE office hours.
Announcements:
https://discuss.openedx.org/t/deprecation-removal-jwt-auth-refresh-cookie/10433/1
https://discuss.openedx.org/t/deprecation-removal-marketing-site-login-and-user-info-cookies/10434/1
https://discuss.openedx.org/t/deprecation-removal-expected-error-part-of-expected-errors/10435/1
https://discuss.openedx.org/t/deprecation-removal-content-libraries-v1/10421
Review the board
1 June 2023
Should we go through and deprecate old OEPs? Do we have a process for that?
https://open-edx-proposals.readthedocs.io/en/latest/index.html
Example: OEP about bootstrap - still being used by Paragon but planned not to be used anymore
We can move them into ‘withdrawn’ or ‘obsolete’
Just have the same process as writing a new OEP - have an author, find an arbiter.
Update OEPs to point to related OEPs
Assigning WGs or teams to take a look:
https://open-edx-proposals.readthedocs.io/en/latest/architectural-decisions/oep-0031-arch-i18n.html - Frontend WG/i18n WG
https://open-edx-proposals.readthedocs.io/en/latest/best-practices/oep-0002-bp-repo-metadata.html - Feanil is taking a look at the only bits of metadata we use from openedx.yml
https://open-edx-proposals.readthedocs.io/en/latest/best-practices/oep-0037-bp-test-data.html - Arch-BOM to take a look and update
https://open-edx-proposals.readthedocs.io/en/latest/architectural-decisions/oep-0048-brand-customization.html - Frontend WG actively looking at this.
@Adolfo Brandes: https://github.com/openedx/edx-platform/issues/31436
Go through the process, even though we’re sure it doesn’t work.
https://github.com/openedx/frontend-component-cookie-policy-banner - 2U is no longer using this, so I made a DEPR ticket.
There seems to be a bunch of remaining 2U-specific strings lingering here: https://github.com/openedx/frontend-component-cookie-policy-banner/issues/423
Is there any way we could hand off ownership to someone else, who can then pull out all the 2U-specific strings to their hearts' content?
We will ask RG if they want to take ownership or if they’re okay with this repo being archived and they can continue to maintain their own fork.
What can new members pick up?
https://github.com/openedx/public-engineering/issues/33 and https://github.com/openedx/public-engineering/issues/32 are small and approachable.
@Dave Ormsbee (Axim) : Request for assistance on Matlab student state.
Anyone have (anonymous) problem state and a problem definition I can use?
Mechanical Engineering is the best bet
Should have a CourseGraph query for this.
@Dave Ormsbee (Axim) : XQueue?
Ask Aurora about writing that DEPR ticket for xqueue and a separate ticket of xqueue-watcher.
Holding up some XBlock runtime simplification
Try to deprecate xqueue-watcher first.
Redis - are we planning on supporting this for a while?
new project is considering using Redis-specific functionality
this seems fine, since Redis is the recommended backend for celery, and the community backend for caching and the message bus
[inform] I just created a DEPR for legacy marketing site cookies that no one in the community probably cares about: https://github.com/openedx/edx-platform/issues/32343
Still need to schedule a meeting to talk about deprecating frontends with both DEPR and frontend WG.
18 May 2023
xqueue & xqueue-watcher - time to start deprecating?
MIT says they no longer use it
There are two MIT courses on http://edx.org that are still using xqueue.
MIT runs an xqueue-watcher instance for one http://edx.org course.
Owned by Aurora, Mat says the number of users is small (but he doesn’t have a list handy)
May need some sort of fix for legacy certificates
Let’s make a new DEPR ticket for xqueue and xqueue-watcher.
New event bus Redis/Kafka are meant to be the replacement.
Ask Aurora to write up DEPR ticket.
This may also involve some edx-platform changes to remove xqueue code within capa or possibly at a higher level.
Cleaned out a bunch of unused Jenkins code
Checklist for Deprecations: what should be on it?
Useful as a related example? https://openedx.atlassian.net/wiki/spaces/AC/pages/3660316693/Upgrade+Project+Runbook#Appendix:-Roadmap-Issue-Checklist
Can add this to the DEPR template
Some things to add to the checklist:
Announcing to Discourse.
Specify Open edX release (if known) on the ticket.
Name a team (of people) to coordinate the deprecation.
Verify that all the code has been removed.
Examples for how to check (create new documentation for this under https://openedx.atlassian.net/wiki/spaces/COMM/pages/3473506309 ):
Create a repo health check to verify that the thing/code has been removed.
Search for remaining instances of code on GitHub.
Linting checks
Do checks for contagion/new usages of the thing we’re trying to get rid of.
Diana to take on this work.
Look at RCAs of deprecation issues.
Made a DEPR for Matlab code in edx-platform
Just waiting for the acceptance date to arrive
Removes another usage of xqueue!
Check in with 2U about the usage internally (this is pretty broken, so we shouldn’t be).
Timeline for removing support/handling for MySQL 5.7?
Official EOL is October 21, 2023.
Quince?
2U is not migrated yet due to the complexity of the problem of migrating (but we are working on it).
MariaDB?
2U isn’t enthused, but open to others figuring out support
Throw it all out and use Postgres instead
Tackling frontend deprecation
Still need to ask FED WG to write up an OEP about their future vision of frontend.
MFE domains, Paragon
Product vision - don’t want to do a straight port of instructor dashboard
Making sure that our OEPs are updated to clarify how the frontend code
What should we do in situations when folks are stuck working in legacy frontend code?
How do we want to start some of these projects?
Schedule a meeting for both FED and DEPR to talk about how to make progress on this.
Set an agenda for it around scoping a couple different projects: support page (how to get help) - small, and instructor dashboard - large.
Diana to work with Adolfo on scheduling this.
04 May 2023
Legacy Frontend Next Steps
No guidance/DEPR/ADR/OEP on not working on legacy frontend code in edx-platform (or other IDAs)
tickets written:
We want to get a DEPR ticket written as well that can point to these other tickets.
Or maybe a brief OEP about this.
Can we ask the FED WG to write this?
They will have a better vision of what the future of frontend will look like.
What next after this?
Maybe take a look at a small scoped project, like the support ‘ask for help’ page
And also look at a large scoped project, like the instructor dashboard.
safe_lxml
The question is whether or not we wanted to keep maintaining our own solution with all the security risk and maintenance complexity that implies.
It seems like there’s still no real good solution that we could use instead.
Velocity of deprecations
We could try to graph how much we’ve managed to deprecate and remove over time and see if we could find blockers.
Could we use GitHub issue reports to track this stuff? - investigate new reports and features.
There are historical charts that we could take a look at, see if there’s something.
Elasticsearch Project: https://github.com/openedx/public-engineering/issues/16
2U is the major blocker on this.
Arbi-BOM did do some discovery on this, but they aren’t equipped to do the migration for one team.
How urgent is this? What is the community doing?
Can we ask BTR about it?
Algolia usage
Can we make sure Algolia integration code is separated into plugins?
Deprecation Checklist:
What could we do to prevent issues like the one we saw with the EdxRestApiClient and remaining code still using it?
The deprecated client was still around and we didn’t get around to removing it.
People put it back in due to compatibility issues.
New DEPR ticket was created: https://github.com/openedx/public-engineering/issues/189
Maybe new API client work can be worked into auth rethinking work.
20 April 2023
Conference happened!
Some notes on the discussion: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3712680008/LMS+Endpoints+Rendered+By+Django#Process%2FNext-Steps-Suggestions
Different modes of open source conference presentation:
Open edX platform does work in different modes across the platform
Different repos could work under different modes
Does a single DEPR process make sense for all our different repos?
Maybe we could do different timelines for different rings around the core product
Waiting on product working group’s work on defining the core product
Legacy frontends: what’s next?
Lots of energy around this.
Follow up with the FED WG about next steps.
Keep checking in with Frontend WG about what is going on.
Not mechanical enough.
How to make it easier to turn our existing Django frontends into APIs that can be used?
Auth cleanup is a blocker here. Need to make it easier to authenticate so we can make it easier to access REST APIs.
AXIM is going to review auth cleanup and whether or not we can make a funded contribution to do this work.
OpenCraft’s BD-13 Modulestore cleanup work is culminating with:
https://github.com/openedx/edx-platform/pull/31472 (approved and scheduled to merge next week)
https://github.com/openedx/edx-platform/pull/31492 (to follow after the previous one lands)
Shim that logs deprecation warnings
2U/edx.org should probably have monitoring for this.
Put an inform on the DEPR ticket to talk about the shimmed attributes on the system that folks should stop using (that they never should have used)
Makes it easier to implement new storage backends.
May help clean up memory leaks that have been plaguing Open edX for a while.
Major Old Mongo removal PR (this is the lobotomy PR)
https://github.com/openedx/edx-platform/pull/31134 (approved, scheduled to merge)
Returns an empty list when courses are asked for children.
Mainly being kept around to support CourseOverview(s) and how those are regenerated periodically and otherwise anything else that tries to use the Course object instead of CourseOverview.
[Robert] Attempted to disable symmetric JWTs for my hackathon, but backed it out. I have ticketed new follow-up work. See https://github.com/openedx/public-engineering/issues/83.
Palm branches cut, go through board to figure out release notes
https://github.com/openedx-unsupported/edx-developer-docs/issues/112
Add something to Palm docs about the new site: https://docs.openedx.org/en/latest/developers/index.html
[Dave] Going to make an SOW for work to move course data off of MongoDB and into (still under construction) Learning Core data models.
Discussion of maintainer work to remove temporary waffle flag things
Kyle is taking on edx-platform maintainership.
[Feanil] Sphinx theme deprecation moving along
Will hopefully be done in the next few weeks.
23 March 2023
Open edX Conference (3rd time around)
Teaming up with Frontend WG to make a plan for legacy frontends!
How are we doing this?
Which are the frontends that we want to deprecate?
“current” status: https://openedx.atlassian.net/wiki/spaces/FEDX/pages/1920270629
in edx-platform, which Django views still exist?
2U can look at which views are used with which frequency.
Diana to try to prepare this for the conference.
Copy vs. Redesign on views
Bring up as an idea
For each view, come up with a list of questions around the view.
What do we want to make the process to be?
Come up with all the steps that need to happen for a replacement to happen.
Find the open questions around.
What are the acceptance criteria for each part?
Focus on specifying the deprecation process.
Agenda:
Intro to the session
Bring up list of existing Django views in edx-platform.
Backbone views should show up in this list as well.
Ask for opinions on which ones are the most important to remove.
Come up with a process as a group of how to deprecate these frontends.
Account settings pages PR update
PR was reverted due to unforeseen dependencies
State of the WG update
Software Engineering at Google Deprecation Chapter
Advisory vs. Compulsory Deprecation
Can we sequence deprecations to ensure a decent deprecation WIP?
Can we turn on certain warnings for everyone everywhere vs. turning on all the warnings for everyone everywhere?
Python Deprecation Best Practices
We should write up a good HowTo on this and/or add to the existing OEP.
Can we extend DeprecationWarning to allow for more fine-grained control over them.
Use something in edx-django-utils to expose them correctly.
Tooling? - alerting people when they’re writing code that they’re using deprecated components/libraries
Static Analysis
pyupgrade or django-upgrade? Can we make use of these tools?
Process Owners (ha ha ha)
can we dedicate resources towards getting things deprecated?
Intermediate Milestones
Shrinking the size of edx-platform requirements
removing 2U-specific requirements
this needs to be handled properly on http://edx.org with something like pip-compile
can we rid of other dependencies?
scipy is a big one, mostly used by codejail
which modules get exported
repo-health-dashboard work to keep track of dependency trees
Django 4.2 RC is out, so we should be preparing to have deprecation warnings and upgrade things.
django-storages seems like the biggest thing that requires care and concern in migration.
Removing
boto
from edx-platform - making progress!video uploading
bulk email
Tension between putting things on the board that we are planning on working vs. putting things on the board that we want to work on and not lose track of.
Can we set something up in GitHub projects?
Add a sponsor field
Use assignees more seriously and ensure they are up to date and things without assignees aren’t in.
Update the OEP to account for these new processes.
How can we move things along the board?
Use board review time to prioritize the deprecation work.
Try to figure out when things end up on the maintenance board for 2U ownership review.
09 March 2023
Old Mongo
PR coming in to prevent the updates and usage of Old Mongo
Static assets are one of the last things
certificate signature are stored as static assets
Modulestore cleanup
renaming things and terminology usage
State of the WG update
23 February 2023
Open edX Conference (again)
Interesting things to do with our time
Can we collect feedback from community on other things they are interested in removing/excited about
Nominate-a-thon - gather a long list of interests and filter through them later
Get in on the Data WG’s ice cream order
Rival ice cream???
What sort of a pinata we should do?
Raccoons
Leafy Vegetables
Giant X
Kyle’s continued work with pavelib
About half of it was already replaced/replicated with Makefile/shell scripts
Some cleanup already happening (yay!)
Toughest part of this is JS tests and Assets
Want to convert JS tests from Karma to Jest anyway, may be a good time to throw out the JS test pavelib code.
Also work to get Python typechecking working
Some push on Typescript as well
MFE tickets for progress page and learner dashboard
check in on the status of these MFEs to see if they are mature enough yet.
How do we get momentum on the stuff that is already on the board?
Can we specify different levels of ownership?
Who is pushing for this?
Who is responsible for the work?
Who owns the code that this work is in?
Would like to get this done before a bunch of upgrades.
We can do more FCs/Blended, but there is a concern about getting code merged.
Can we involve teams earlier?
Updates to the DEPR board:
can do a workflow that can track how long a DEPR ticket has remained in the same state?
custom fields to track levels of ownership to clarify what needs to happen on each thing
Code owner tracking
Put things onto the Maintenance Board
When we review items on the board, move things from Removing into
09 February 2023
Cross-posting should now be enabled from Discourse to Slack
Open edX Conference
Anything we want to share specifically?
Updates from the RG FC project
Getting rid of EdxRestApiClient
Removing old course views in favor of MFE
Getting rid of references to PDF certs
Persistent Course Grade flags and corresponding code
Upcoming work?
Getting rid of paver
Draft Modulestore removal
Doing some real work to remove legacy frontends in favor of MFEs
Ticketing up replacement of legacy front end code with MFEs
Update from Kyle: Mostly gotten rid of paver asset functionality in favor of bash scripts.
26 January 2023
FYI: We got rid of about 1,200 lines of paver code in edx-platform: https://github.com/openedx/edx-platform/pull/31180
We are aiming to get rid of all of our custom paver tooling!
Trying to remove all the testing stuff first as we target the frontend specific code as well.
Trying to rewrite the asset management code into sh, ADR incoming
Getting close to removing https://github.com/openedx/edx-platform/pull/30336
Will be removing/archiving/moving to unsupported edx-e2e-tests today
Looking for a review: https://github.com/openedx/edx-platform/pull/31633
toggles - can we put into the process that toggles should only last for a specific amount of time?
part of the work of maintainers going forward?
figure out a process for handling this
can we make toggles temporary?
edx-sphinx-theme DEPR Update
Moving things from Accepted to Removed
Adding a ticket to the Maintenance GitHub Project
If it impacts multiple repos, put it on the Maintenance Board and assign a coordinator to help put it on the owning teams.
How does this work compared to upgrades?
We can assign deadlines.
Need to force team to make a decision about these DEPR tickets. Can’t leave them on the board forever.
Accepted vs. Deprecated
Can we move more things into ‘deprecated,' even if we can’t get things into the removed column?
Try it out with some of the auth DEPR tickets that we aren’t.
Can we make use of the Discourse/Discuss-Slack integration to automatically announce things to the correct Slack channel?
Create a Github tCRIL request for enabling this work.
12 January 2023
edx-e2e-tests
using DEPR process for repos in edx vs openedx
still going to carry on as usual. make sure to announce things earlier rather than later.
Does it make sense to add at least some DEPR issues to this board?
Repo health dashboard
Do any DEPR-related checks make sense?
ex: # of DEPR tickets per repo
ex: bok-choy dependency - usage
maybe even going as far as making generic checks looking for specific packages
CFP for Open edX Conference
DEPR topics welcome
upgrade template discussion
conference driven development
what can we do to deprecate things before we have to upgrade it?
Review board
bok_choy: we still have some lingering tendrils in various places, but we don’t have any current work or resources yet.
do we have mechanisms into incentivizing cleaning out some old code or doing small maintenance work?
OpenSearch vs. ES work - who can lead this effort? can the Arbi-BOM team do so? Can the community take this on?
Courseware pages - can we monitor usage of the old views on http://edx.org ? does a method (like a custom attribute) already exist?
Proposal for future DEPR:
Reorganize edx-platform configuration variables
base things on OEP-45
Simplify the configuration overall and the various settings files.
Suggested changes:
get rid of the FEATURES dictionary
simplify Celery configuration
what is the minimal thing we can get to run a version of edx-platform?