Core Contributor Update: Jan 20th - Feb 2nd, 2024
Use the jump links below to view the section that interests you:
1. Working Groups Updates
1.1. BTR Working Group
Chair: @jalondonot
- Next point release: quince.2 - 2024-02-09
Redwood:- redwood.master - 2024-04-09
Meeting notes
1.2. Contributor Coordination Working Group
Chair: Jorge Londoño
Past meeting notes 2024-01-09 CC Working Group Meeting Notes
- The team discussed the importance of conducting a survey to gather feedback and adjusting their timeline or strategy based on the response rate. They also touched upon a working group document and the need for improved coordination and information sharing among the team. Later, Adolfo mentioned the introduction of new MSPs and the problems reported, with Jenna and the product team leading the initiative. The aim is to clarify what will be included in the Redwood product and what won’t, with a focus on ensuring all features are ready in time. An action item was identified in a ticket, which Adolfo confirmed was already being addressed. Towards the end of the meeting, Xavier emphasized the need for technical coordination of a project.
- Next steps
- Xavier and eduNEXT will consider working on creating a simple, smaller communication tool handbook for the community.
- eduNEXT and Adolfo will reach out to Neil to see where he stands on the project.
- Cassie will follow up with Ali about the UX working group joining the project working group meeting.
- Ed will add the sprints discussion to the agenda for the kickoff of the Maintenance and Upgrade Working Group.
- EduNEXT will work on creating a handbook for asynchronous communication with Xavier.
Meeting notes
1.3. Data Working Group
Chair: @e0d & @blarghmatey
- Aspects V1 Product Requirement Document in progress:
- Currently in progress, I will present in a future Data Working Group meeting once it’s fully finalized, but here is a link to the Work in Progress PRD in the meantime: Aspects V1: Product Requirements
- Walked participants through the layout of the document, highlighting the scope of this initial release and touched on one key difference between Insights and Aspects after V1 will be the inclusion of Individual Learner and Learner Group data
- Please take a look and add any comments and questions you may have, and we’ll go over the requirements in detail in a future Data WG.
Meeting notes
1.4. DEPR Working Group
Chair: @feanil
- [DEPR]: USE-JWT-COOKIE header #371
- I just released Release v10.0.0 - feat!: make forgiving JWTs the default · openedx/edx-drf-extensions which removes this header. Just some long tail work left, including services upgrading this library.
- Devstack DEPR
- 2U will take full ownership of the repo for now. We will try to keep it in the openedx org until a later date.
- Insights DEPR
- 2U are the only people currently running this, as far as we know
- will follow up internally with 2U managers about how to handle the deprecation of it for 2U’s use case
- configuration DEPR
- Suggested path forward: move to openedx-unsupported and allow individual organizations to run their own forks
- 2U should put a comment about what we’re still using in the configuration repo
- Mostly deployment of edx-platform and a few other non-containerized services
- Will reach out to other long-time providers about their use cases.
- Release repos and Maintenance Priorities
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. DevOps Working Group
Chair: Régis Behmo
Latest news
Announcement: The DevX Working Group is dissolved!
- Tutor improvements and maintenance will be continued by Tutor maintainers .
- Devstack “keep-the-lights-on” maintenance will be done by 2U.
- The Developer Data tool will be looked at by Maintenance WG.
- Platform simplification will be continued by Maintenance WG and Open edX repo maintainers.
Announcement: Join the Tutor Users’ Group
- It’s become clear that there is an acute need to support new Tutor users and plugin developers. It’s also clear that Tutor maintainers benefit from hearing feedback from people who are using the tool.
So, Kyle will host one-hour users’ group every other week for sharing help, tips, and feedback on using Tutor and developing Tutor plugins. Bring your questions, and get ready for some live debugging! Expert or newbie, all are welcome.
Meeting notes
1.7. Educators Working Group
Chair: @john_curricume
- Documentation Update
- Challenge: Moving contents over - fixing the links (both internal and external)
- Here you can find the Poll Results
- Designing Games to the Learning Objectives and Getting Them Built
- What are the core tenets of good game design?
- Intrinsic motivation
- Extrinsic motivation
- How are educational games different? How are they the same?
- You cannot have a good game of educational robots without embracing the fact that to challenge learners they have to fail to be motivated which is very different from your standard educational exercise.
- When you design an activity. The idea isn’t like how we’re going to make them fail here until they get it right. It’s you want them to complete it and see what they’ve learned most of the time.
- With games, if there’s not enough of a challenge, the game is not fun, and players will stop playing. But certainly, if there’s too much of a challenge, the players will give up and stop playing. So you have to strike that balance between kind of challenge and success. This is by concept called gameplay loop - a fundamental way that you can break down a game and continually motivate players.
- How do we build games that meet our learning objectives? And when do we choose games over other mediums?
- Keep learning objectives relatively simple to accomplish when building your games, and keep gameplay fun and intuitive.
- Decrease the on-ramp, and how much people need to engage with them to succeed.
- Keep it elegant, the fewer moving parts, the better.
- The process of getting the game developed as a semi-technical learning designer.
- Game maker studio. It can output HTML. 5. It’s not particularly good. HTML. 5. It’s not particularly good code, but you can use it for prototyping.
Meeting notes
Blockers or Calls/offers for help
- Looking for any and all documentors!
1.8. Frontend Working Group
Chair: @arbrandes
- Front-end maintenance, e-commerce, and frontend app development.
- Adolfo encourages volunteers to maintain repositories.
- Front-end app payment and e-commerce are being re-evaluated for Redwood.
- Adolfo discusses ongoing pluggability work, with three PRs in flight for the front end.
- Improving release process and developer experience.
- Brian Smith and Adolfo discuss the importance of testing and development, with a focus on improving the release process.
- They emphasize the need for more MFE development in Tutor to catch pain points and make the development environment better for MFEs.
- Developers should prioritize building for the entire community, not just their specific needs.
- Contributing to Open edX project.
- Brian Smith and Adolfo discuss moving courses from the “edx” namespace to the “openedx” namespace.
- Yagnesh expresses interest in contributing to the project and working as a maintainer.
- Brian Smith explains nomination process for core contributors, while Yagnesh seeks guidance on becoming a maintainer.
- Open edX contributor roles and responsibilities.
- Brian Smith explains the process of becoming a core contributor in the community: nominations are made on the forums, and once the nomination period ends, the access to merge PRs is granted.
- Adolfo clarifies that core contributor status comes with the responsibility of reviewing and merging PRs, but not necessarily coding or programming skills are required.
- Adolfo suggests contributing to an existing repository to become a core contributor.
Meeting notes
1.9. Large Instances Working Group
- Updates from each org on the call - 2U, eduNEXT, OpenCraft, Raccoon Gang
- Racoon Gang:
- Our team will be looking at issues and PRs on the Harmony project. In particular, interested in the Velero PR - Add optional Velero chart by gabor-boros · Pull Request #58 · openedx/openedx-k8s-harmony. Re Aspects: We’ve integrated Aspects into one of our client installation and will be testing it on stage and hopefully soon in prod. So far everything seems great. We’ll monitor performance and operation. One strange thing: in the LMS we have an xAPI forwarder and there is another piece that pulls logs from k8s pods, but I can’t understand what this is doing. It seems to scrape the stdout logs from all containers but not be used anywhere. Wondering if this is from legacy architecture?
Investigating speeding up MFE build using Bun or pnpm instead of npm, and having a base build with light MFE overrides rather than rebuilding the whole thing.
Discussion: Braden MacDonald mentioned on a previous call that you can build an MFE using random values for the config and then make it use ‘sed’ to replace those values in the compiled .js bundle with environment values at container startup. Moisés González shared that they used this approach a bit in GitHub - eduNEXT/tutor-contrib-mfe-extensions: Experimental Tutor Plugin for CDN support and extras .- OpenCraft:
- Braden MacDonald - just continuing slowly to move pieces of internal “Grove” hosting management tool over to Harmony.
- Edunext:
- working on Harmony project.
- Felipe Montoya and Moisés González were contacted by Tim from 2U to see how their codejail implementation could align with eduNEXT’s. eduNEXT helped 2U solve their issue, and now they’re using a similar approach but not the same code. e.g. eduNEXT uses Flask but 2U is using Django. Now that this is unblocked, they may be containerizing LMS/CMS soon at 2U.
Deployed Aspects and have it connected to an Olive installation, and it seems to be running well. This is a good sign for use of Aspects in production in the future.- Harmony project updates:
- ElasticSearch/OpenSearch - it would be good to investigate this and standardize on one or the other for Harmony, so we don’t have to do twice as much work. Braden MacDonald from a dev perspective, the API is largely compatible so the edx-search/platform code should work with one or the other. So it’s more of an operations question. Moisés González points out that they may differ in terms of multitenancy support, and that some orgs have a license/legal requirement to use OpenSearch only. Maybe we can continue to support ES for now since it’s so common, but if edx-search is changed to only support OpenSearch or to use some OpenSearch APIs, we’ll drop support for ES in Harmony and/or make OpenSearch the default. TODO: need to research this more.
- Implementing Redis Cluster - Maksim Sokolskiy wonders if anyone has experience using AWS ElastiCache Redis as a cluster (in “serverless” mode). (Using it as a cluster requires changes to the configuration and driver used in edx-platform.) So far if they switch from hosted Redis to AWS cluster, it simply doesn’t work. They’re seeing the error “redis.exceptions.ResponseError: CROSSSLOT Keys in request don’t hash to the same slot”. Does anyone have experience with this?
Moisés González is also wondering if anyone has experience with Redis filling up and causing errors.
Meeting notes
1.10. Marketing Working Group
Chair: Eden Huthmacher
Past meeting notes 2024-01-17 MWG Meeting Notes:
- Open edX Conference 2024
- CFP is closing today - please submit a proposal , if you have not done so
- BizDev Workshop
- Participants: Appsembler, Abstract Technology, OpenCraft, eduNEXT, edSPIRIT, and Edly by Arbisoft
- Topics: Open edX LMS global market standing (compared to its competitors), consumer feedback & buyer personas, analysis of the Open edX roadmap and alignment with consumer demand
- Next Open edX Meetup
- Use case of public universities in Egypt adopting the Open edX platform, as well as AI tools integrated into the platform for content creation, and updates on the latest Open edX release, Quince
- Register here: Open edX Use Cases & Latest Software Release
- Open edX Provider page updates + Experience Cloud Updates
- OKR Strategy Review
- Review of item numbers 9-16
- Link to document
Meeting notes
1.11. Maintainers
Chair: Edward Zarecor
Past meeting notes 2023-09-07 Maintainers’ Meeting notes:
- Feanil:
- Aximimprovements is ramping up an that’s going well.
- Could probably take on a few more repos for maintainance. Candidates
- edx-notes-api
- repo-tools
- Feanil Patel to reach out to owning team.
- Adolfo
- Many MFEs are stuck an old FE platform version because of breaking changes.
- Translation bug fixes for Comms and Course Authoring MFEs in progress:
- Ed
- Will close out phase 2
- Will move phase 3 into in progress
- Reached out to Aribisoft about maintaining event-routing-backends, will pull into phase 3 if possible.
Meeting notes
1.12. Product Working Group
Chair: Jenna Makowski
Past meeting notes 2023-10-03 Product Meeting notes:
- UX/UI Working Group
- Tagging feature: The people we wanted to contact to do usability testing did not respond and we were not able to do the testing.
- Mobile Working Group
- New Repositories: New iOS and Android repositories moved to Open edX github, with DEPR tickets queued up for documentation updates and shift to openedx-unsupported for previous app repos (iOS + Android).
- New Roadmap: New Github project roadmap for Mobile, with eventual Community Kanban boards specific to iOS / Android tasks + issues to be created next.
- Development Updates: Mobile API Updates effort in code review to support streamlined use of the new mobile apps. Quick Wins Feature gaps effort underway, should close ~30% of the gaps between previous edx apps and new openedx apps.
- Design Discovery Updates: Design progress on Offline Mode (Text + Problems), Learning site selection ready for scoping / next steps.
- Product Definition Updates: Draft requirements in progress for Streamlined Course Navigation & Sequences and Dates & Calendar Personalization .
- 2U / edX Mobile collaboration - Moving toward weekly coordination and sync meeting regarding mobile efforts to include edx mobile team efforts, including exploration of a shift to using new application code base. edX to Open edX App Data Migration Path
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
Past meeting summary 2023-10-10 TOC Meeting Summary
Meeting notes
1.15. Translation Working Group
Chair: Eden Huthmacher
Past meeting notes 2024-01-17 Translation WG Meeting notes
- Review language performances: Translation Working Group
- Status of OEP-58 and transition to from edx-platform project to openedx-translations project - what is the timing?
- If it takes another release then MFE’s need to be shifted to the edx-platform project
- Leverage translation memory to ensure smooth transition (strings should be added as reviewed in the migration)
- Aspen strings are embedded in the openedx-translations project only.
- for Quince, work out of the Quince Release project, for Redwood, openedx-translations project
- will run a sync today between edx-platform and openedx-translation project
- Simlink strategy - Please update entry for your dedicated languages - what about browser languages such as en.MX Relevant doc: Language Codes - TX WG -Simlink Strategy
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 Feb 16th - Async update
- Tuesday Feb 20th - 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.