Core Contributor Update: March 16th - March 29th , 2024
Use the jump links below to view the section that interests you:
1. Working Groups Updates
1.1. BTR Working Group
Chair: @jalondonot
Latest news
- They’ve decided to postpone the Redwood cutting session and wait until the next Redwood release monthly planning, on April 11, to get a final update on the ongoing projects’ progress. Based on that information, determine and schedule the definitive date in April for cutting Redwood.
- MFEs in Redwood - any new ones? Can the build time actually handle any new ones?
- To stop OOMs when building: limit number of builds that happen in parallel.
- Impact on those building with CI infrastructure?
- Full build takes 2+ hours for RG, new MFE would be ~20 extra minutes.
- Adolfo will follow up with Glib and David Joy w.r.t Piral project.
- Plugins and JS configuration support
- See issue in tutor-mfe: Support Javascript configuration · Issue #199 · overhangio/tutor-mfe
Blockers or Calls/offers for help
- Calls for help/bug reports
- Jorge Londoño will post a call for help in the Community channels for filling the vacant BTR roles.
- The Release Testing Coordinator position hasn’t been filled yet
Meeting notes
1.2. Contributor Coordination Working Group
Chair: Jorge Londoño
Latest news
- Release Coordinator for Redwood: Jorge Londoño highlighted the need for a release coordinator for the Redwood release. Discussion about the role between the protocol group and BTR working group ensued. Adolfo Brandes mentioned Peter Pinch volunteered for the role, with some reservations.
- Plug Ability Summit and Implementation Decision: Adolfo Brandes discussed a second Plug Ability Summit to decide on competing implementations for frontend communications. The goal was to decide which implementation to move forward with and if it could be included in the Redwood release.
- GitHub Milestones Proposal: Adolfo Brandes proposed using GitHub milestones in every repository for upcoming releases to better organize epics and tickets.
- Elephant Factor Increase and Core Contributors as Backup Reviewers: Discussion on increasing the “elephant factor” by expanding maintainers and the role of core contributors in reviewing pull requests. Emphasis on filling gaps where there is a lack of maintainers.
- Feedback and Iteration on Core Contributors’ Sprint Check-ins and Retrospectives: Discussed the importance of gaining feedback through surveys to improve sprint check-ins and retrospectives. Mentioned a low response rate to the survey and the need to encourage more responses.
- Use of Slack vs. More Asynchronous Communication: Touched on the use of Otter for meeting transcriptions and the potential for working group hosts to decide on their transcription methods.
Meeting notes
1.3. Data Working Group
Chair: @e0d & @blarghmatey
Past meeting notes 2024-02-21 Meeting notes
- Aspects V1 Product Requirement Document in progress: Aspects V1: Product Requirements
- Event bus updates: Brian Mesick is going to do some work on prototyping a Tutor plugin that will let people easily configure and run the Kafka or redis backends, test changes, and experiment with the event bus. Looking for feedback on the direction and desire for such a tool.
Meeting notes
1.4. DEPR Working Group
Chair: @feanil
Latest news
- Diana:
- Devstack has been deprecated/archived. 2u has created a fork.
- Kyle added a plan for long-tail work on the DEPR.
- [DEPR]: Phase out edx-configuration · Issue #51 · openedx/public-engineering · GitHub
- Discussion: how do we handle breaking changes in, for example, edx-platform in the future?
- Proposal to update the process:
- People can post things to Proposed whenever they want.
- Optionally can be announced to the can be pushed to the community whenever.
- Whenever someone comes around who wants to push the DEPR forward, they can pick it up and commit to being owner.
- If they have to drop it, we move the DEPR back to Proposed.
Meeting notes
1.5. DevEx Working Group
Chair: @Rebecca_S_Graber & @kmccormick
Past meeting notes 2023-12-04 DevEx Meetup Notes
- Scheduled Topics / Demos
- Becca: Tutor on M1 redux
- Webpack failure during
npm ci
for bind-mounted edx-platform
- debug after meeting if time allows
- If the live demo gods smile on us: tutor package auto-mounting – new for Quince.
- Challenges
- Adding Typing/Linting/Testing to all tutor plugins:
- Feat: Testing and Linting by CodeWithEmad · Pull Request #16 · overhangio/tutor-credentials
- Feat: Testing and Linting by CodeWithEmad · Pull Request #54 · overhangio/tutor-discovery
- Feat: Testing and Linting by CodeWithEmad · Pull Request #31 · overhangio/tutor-notes
- Feat: Testing and Linting by CodeWithEmad · Pull Request #32 · overhangio/tutor-minio
- Feat: Testing and Linting by CodeWithEmad · Pull Request #50 · overhangio/tutor-ecommerce
- Feat: Testing and Linting by CodeWithEmad · Pull Request #19 · overhangio/tutor-cairn
- Feat: Testing and Linting by CodeWithEmad · Pull Request #13 · overhangio/tutor-android
- Feat: Testing and Linting by CodeWithEmad · Pull Request #29 · overhangio/tutor-forum
- Feat: Testing and Linting by CodeWithEmad · Pull Request #9 · overhangio/tutor-webui
- Feat: Testing and Linting by CodeWithEmad · Pull Request #50 · overhangio/tutor-indigo
- Running a shared elastic on our k8s cluster with some help form openedx-k8s-harmony:
- fixed some issues there:
Meeting notes
1.6. Tutor Users’ Group
Chair: Kyle McCormick
Latest news
- Auto-mounted directories
- Can we add mount keywords in our own plugin? → yes, or open a PR to upstream plugin
- Do we list the keywords anywhere? example,
platform-plugin-
- The exact list is not documented anywhere
- MFE mounts
- Tried to mount custom mfe – couldn’t do it
- used command line mount
- did not see the mfe on the port
- seems like folder was mounted, but MFE filter wasn’t added to, so the tutor-mfe plugin didn’t know to build/run the mfe
- How Zach did it:
- Let’s talk about MFE image building… why we (usually) don’t need to re-build, and figuring out this Docker build cache madness. (Régis Behmo )
- Theoretically, rebuild should only happen if (1) we change an MFE and (2) we’re pushing it to production
- Errors when installing node_modules
- npm error, socket reset, registry hangup
- Docker build cache size needs to be set large enough so that it doesn’t get garbage collected between mfe builds
- Change Docker Desktop settings on Mac
- need to change a config item in $HOME/.docker/daemon.json
- If you think you rebuild too often, try upping docker build cache max size
- Talked about Use the new edx-platform assets build + other improvements by kdmccormick · Pull Request #34 · kdmccormick/tutor - kyle will continue to work on
- Production vs dev flow in docs - docs nudge you towards production flow
- Remote image building - anyone?
- edunext has - they build tutor-nightly images on an ec2 instance
- 20-30 minutes for uncustomized mfe image
- custom multiarch builder - regis builds macos images even though he doesn’t have a mac
Meeting notes
1.7. Educators Working Group
Chair: @john_curricume
Past meeting notes 2024-02-12 Educator WG
- Open edX Roadmap
- Rebecca Rumbel from the Penn State College of Agricultural Sciences present how the UPenn Extension Program has build up a large library of video content, and the best practices they’ve learned building educational video under resource constraints like many of us face.
- You can see the full discussion here 2024-02-12 Educators WG: Balancing Video Production and Available Resources
Meeting notes
Blockers or Calls/offers for help
- Looking for any and all documentors!
1.8. Frontend Working Group
Chair: @arbrandes
Latest news
- Introduction and Welcome Back to David Joy: Adolfo Brandes welcomed the attendees and highlighted the return of David Joy to the team. David will be working on the Piral project in the coming months.
- Debugging and Tutor Setup for Development: The group discussed setting up Tutor for development purposes. Adolfo offered to help David with this, mentioning an issue linked in the chat about configuring modules with Paragon and Tutor.
- Discussion on TypeScript and Frontend Build: Muhammad Abdullah Waheed Khan raised a concern about merging an alpha branch into the master for the frontend build that includes TypeScript support. He suggested using a separate wrapper for TypeScript configuration to avoid adding TypeScript dependencies across all micro-frontends (MFEs) that don’t use TypeScript, thus preventing future dependency issues.
- Proposal for Handling TypeScript in MFEs: After much discussion, the group leaned towards a solution that involves keeping TypeScript configurations in a separate config package rather than including them in each MFE. This approach aims to minimize redundant dependencies and simplify maintenance.
- Paragon and TypeScript: Fox Piacenti informed the group about a pull request by Brayden for adding types to Paragon, indicating a move towards enhancing TypeScript support.
- Decision on TypeScript and Frontend Builds: The group concluded to experiment with merging the TypeScript configuration changes into the alpha branch of the frontend build and testing it with other MFEs to evaluate its impact.
- Discussion on Plugins and Configuration: The meeting ended with discussions on the use of plugins in the learning MFE sidebar and potential challenges with configuring and building plugins alongside other code. The group discussed separating runtime and build configurations for better management and flexibility.
Meeting notes
1.9. Large Instances Working Group
- Updates from each org on the call - 2U, Edunext, OpenCraft, Raccoon Gang
- OpenCraft:
- Continued development of Meilisearch for Studio content search - see thread on Discourse.
- Gábor Boros is working on removing functionality from OpenCraft’s internal “Grove” tool and migrating to Harmony. Making good progress. Encountered some issues with installation etc. so opened several PRs to Harmony to fix those. One other minor issue encountered is that the migration to Harmony causes the load balancer to be replaced and a new cluster IP assigned; but that’s expected and manageable.
- Edunext:
- has been working on drydock to manage k8s deployments in a more gitops oriented way. Added the ability to put annotations on the jobs so that ArgoCD will run them in a specific order. Now, they’re able to initialize the instances using the tutor-defined jobs/order.
- has been experiencing performance issues in a couple of installations that are running on bare metal servers. Wondering if anyone has guidelines around best practices for bare metal. (By “bare metal” they mean it’s a very large instance and they install kubernetes onto it.)
- had a customer worry about their shared ArgoCD instance - if they ever need to change providers, worried it’s hard to replicate. So eduNEXT is interested in moving to 1:1 ArgoCD per Open edX instance, and wanted to know if there would be interest for incorporating ArgoCD into Harmony.
- Braden MacDonald said that sounds interesting and we should explore it as an option.
- Moisés González asked what load testing tools others use. They have used functionality built into Grafana and New Relic, but are interested in other tools especially ones that can incorporate profiling and compare instance.
- Felipe Montoya : it would be good to collaborate on building a standard performance measurement tool for Open edX instances. Is anyone interested?
Blockers or Calls/offers for help
- Felipe Montoya wants to make everyone aware of an important issue opened for tutor MFE: Support Javascript configuration · Issue #199 · overhangio/tutor-mfe → related to supporting GitHub - openedx/frontend-plugin-framework: An experimental framework for micro-frontend plugins. so we can get better plugin support for MFEs.
- Q: does the JavaScript configuration run at runtime or build time? Seems like runtime but not sure.
Meeting notes
1.10. Marketing Working Group
Chair: Eden Huthmacher
- Google Ads Account Suspension – blocked for promotions - advise on recovery?
- Open edX Conference 2024 Ambassador Program - open to all - expanded program
- Next Open edX Meetup - Mobile App Benefits + Use Case & Product Update - Redwood
- register for free here: Open edX Mobile App Usage & Feature Enhancements
- OKR Strategy Review in GitHub Marketing Working Group • openedx
Meeting notes
1.11. Maintainers
Chair: Feanil
Past meeting notes 2023-09-07 Maintainers’ Meeting notes:
- Mongo 7 Upgrades:
- Python 3.12:
- Tooling to Detect Python Version?
- Repo health dashboard might be able to get this from classifiers.
- 3.12 Update is now the highest priority maintenance item for Redwood, please prioritize it over other maintenance work.
- Paragon Maintainer:
- Currently no maintainer listed.
- Joint maintainership between Axim and Opencraft probably makes the most sense.
- Redwood Cut
- Did this move? Is it still April or May?
- Neither, we’ll do the cut Apri 23(ish) unless we push it further when we get closer
Meeting notes
1.12. Product Working Group
Chair: Jenna Makowski
- UX/UI Working Group
- Database of UX/UI Projects (experimenting with a new view)
- Old view: List of UX/UI Projects
- LTI/Learning Tool WG Meeting
- Update on the LTI project:
Relevant links
- Documenting the research process to create a better experience in creating and reusing LTI tools: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
- Current LTI prototype: https://www.figma.com/proto/apH0sMD5tqGnNxa18wuyhJ/LTI-Prototype?type=design&node-id=819-60971&t=3wAPsOgUrE1Gz1sv-0&scaling=min-zoom&page-id=819%3A60970&starting-point-node-id=819%3A60971
- UX Writing Matrix: UX Writing - LTI Project - Google Sheets
- Heuristic Evaluation: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
Meeting notes
1.13. Security Working Group
Chair: Feanil Patel
Past meeting notes 2023-07-26 Security WG Meeting
- Vision-casting: Where do we want to go in the future for proactive security work?
- Areas
- 1st-party dependency security upgrades
- Maintenance Board
- 3rd-party security upgrades
- Maga is working on creating process in BTR for Django
- Code
- XSS linting on edx-platform
- What are the top possible improvements?
- 3rd-party security upgrades
- Django security linters
Meeting notes
1.14. TOC
Chair: Ed Zarecor
- The TOC members discussed the development of privacy-preserving educational research platforms, with a potential project partnership and funding for Open edX. They also shared updates on Open edX adoption and community involvement, and strategies to improve the long-term sustainability and extensibility of the platform. The board members discussed challenges and strategies for maintaining open-source repositories, including identifying which repositories to maintain and which to deprecate, the need for maintainers, and the impact of breaking changes in non-maintained repositories. They emphasized the importance of transparency and fairness for maintainers in open-source projects.
- Action Items:
- Xavier to check if Otter has a setting to warn participants about recording/transcription prior to the meeting
- Axim to send a proposal for transitioning 2U developers to core contributors rather than direct commit access, as well as reviewing 2U roles, access and permissions.
- RĂ©gis to open a discussion on the forum about open course material, and share the link with the TOC mailing list.
- RĂ©gis to investigate the state of Open edX extensibility and propose improvements to existing mechanisms, leveraging the work of other contributors
- George to share the list of repositories 2U will maintain with Feanil and the maintenance working group once it is approved internally
Relevant links
Meeting notes
1.15. Translation Working Group
Chair: Eden Huthmacher
- Review language performances - performance went down due to the transition from edx-platform to openedx-translations project - machine translations have been activated for all languages, except for Portuguese (Portugal). Translation Working Group
- GH Board review Translations Working Group • openedx
Meeting notes
2. Events
- We are excited to announce the 2024 Open edX conference! The conference will be held at Stellenbosch University in Cape Town, South Africa and will take place between July 2nd and July 5th, 2024. Register here to secure your seat!
- Would anyone like to highlight any past or upcoming events? Let us know in the comments!
3. Projects
Are there any new or ongoing projects you’d like to discuss? Get the conversation started in the comments below.
4. Next async update and meetup
- Friday March 29th - Async update
- Tuesday April 16th - Join the meetup here!
- Details and draft agenda on Confluence
Anything to add?
If there’s anything else you’d like to mention, please let us know in the comments below.