Core Contributor Update: April 27th - May 10th, 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
- New Software Tool Release and Testing Strategy: The team discussed the upcoming release of a new software tool, focusing on resolving existing issues and improving user experience. Jenna proposed creating a list of blockers and Max suggested deciding which features to enable by default. The team decided to continue testing and refining the software, with a focus on the X block and Tutor Plugin. Jenna also presented a visual guide to aid testers and discussed the teamâs approach to testing new features for the Mfe project, emphasizing user story-driven and regression testing. The team is converting the Mfe into Paragon in incremental steps, running tests on various pages, and considering holding back the unit page due to rendering issues. The team also discussed documenting changes in release notes and previewed already completed work.
- Configuring Features in Edx Course Authoring: Christopher, Jenna, Max, and Adolfo discussed configuring and enabling features in their course authoring system, Edx. They agreed on the principle of having each feature in its own toggle, with the ability to enable all features by default. Adolfo raised concerns about the complexity and performance impact of this approach, especially for library authoring and the unit page. The team decided to document all waffle flags, their functions, and how to enable them in the release notes. They also discussed creating two pathways of release notes: one for product release notes and another for operator release notes.
- Feature Activation and Release Notes Discussion: Adolfo proposed to post an incomplete list of features to be activated at a later date, after the cutoff, when Jenna tests and helps decide on their activation or deprecation. Max agreed to post the list in the channel, and Jenna suggested that the intended audience for these decisions should be the site operators. A specific topic of interest was the âtaxonomy mfeâ feature, which Max had trouble enabling, leading to a discussion about the release notes and testing environment.
- Product Features, Implementations, and Tagging: Adolfo, Max, and Jenna discussed the intricacies of the productâs features and their implementations, including the need to understand code flags and algorithms for specific features like enabling pagination. They also addressed the complexities of the tagging feature across different pages and the three key parts of the feature set for Redwood beyond Studio. The team decided to backport all tagging features from the new system to the legacy environment and addressed the need to enable tagging by default, pending testing, and review the taxonomy Mfe. Additionally, they identified a problem with the configuration variable in the Mfe, which may have been due to a lack of proper deprecation of Booleans in favor of strings.
- Technical Issues and Release Procedure Updates: Adolfo, Jenna, and Max discussed various technical issues and updates. The configurationâs 5-minute cache issue was addressed, and it was decided not to merge the Pr as is, but to figure out the previews later. The team also discussed the major Pr for the Sidebar nav implementation and the issues with the Iframes. Jenna mentioned that, once the merges are complete, the integration sandbox will be available for testing. The team also discussed the ongoing Python upgrade and the need to review the front-end version. Lastly, they talked about the changes to the release procedure and the need to save previous requirements before the cutoff.
- Plugin Slots and Documentation Updates: Adolfo, Max, and Christopher discussed updates and issues related to their project. They talked about adding footers behind plugin slots and corresponding documentation, with Adolfo stating this would be implemented within the week. Adolfo also raised concerns about the complexity of headers and the potential for future support of a stable plugin API. The team decided not to make a big deal about certain slots due to uncertainties around their support and compatibility.
- Adolfoâs Plugin Proposal and Planning Session: Adolfo expressed his dream of a future without waffle flags, suggesting instead to use plugins and slots. Max announced a change in the release schedule to Thursday, a decision made after a planning meeting. Syed noted some platform updates and issues with a library, indicating ongoing work on this. Jenna proposed holding another planning session on Thursday before proceeding with the code cut off. This idea was agreed upon by the team.
- Python 3, 11 Upgrade and Sandbox Compatibility: MoisĂ©s discussed the upcoming python 3, 11 upgrade and its potential impact on the codial tutor plugin and the sandbox. He expressed uncertainty about the compatibility of the sandbox dependencies with the new upgrade and the potential effect on userâs code. MoisĂ©s also noted the lack of an official stance on the sandbox target for the 3, 11 upgrade. Syed confirmed that some platform tier had been merged for 3, 11 and updated a few dependencies on Alex sandbox file. MoisĂ©s expressed the need to keep this in mind and planned to seek clarification from Kyle and Anil.
- Release Date and Time Discussion: Jorge asked about any additional issues to consider for the current state and confirmed the release date as the 9th of June, despite it being a Sunday. Syed inquired about the exact time of the release, to which Jorge responded that it would be the next checkpoint in the Redward planning. The team agreed to continue discussions as necessary.
Meeting notes
1.2. Contributor Coordination Working Group
Chair: Jorge Londoño
Past meeting notes 2024-04-16 CC Working Group Meeting Notes
- Process Changes, Open edX Conference Talk Proposals, and Survey ResultsThe team discussed potential changes to their meeting and reporting processes, including an increase in the use of robots and a shift towards asynchronous interactions. They also reviewed the number of talk proposals received, which was lower than the previous year. Lastly, they discussed the upcoming survey results and the possibility of cutting from the master earlier than planned, with a decision to be made at the next meeting on the 25th.
- New Metric, Measurement Improvements, and ProcessesJorge proposed a new metric to measure community success and align team efforts, which was agreed to be further discussed in the next meeting. Adolfo suggested improving the current measurement mechanisms, while Xavier emphasized the importance of setting specific release dates to avoid past mistakes. The team also deliberated on the time-consuming processes of upgrading Tutor plugins and the creation of a sandbox, agreeing to allocate more time for these tasks. Lastly, it was noted that the product now owns the testing process and the development pipeline, facilitating testing in Tutor before finalization.
- Project Progress, Issues, and ContributionsThe team discussed the progress and issues of their project. Adolfo announced a post-release review to fix issues. Xavier noted changes in the projectâs focus and the contributions of Edx and Axim. Jorge confirmed the current status of the âelephant factorâ issue and highlighted the addition of new maintainers and core contributors. Adolfo proposed automating the Github milestone assignments and urged feedback on check-ins and retros. The team acknowledged the need for more responses to these feedback-gathering initiatives.
- Survey Response, Asynchronous Participation, and CommunicationCassie reported a survey response rate of 29 out of 66. Jorge committed to ensuring his team responded, and Adolfo raised the topic of improving asynchronous participation. Adolfo and Xavier discussed the need for better communication, particularly regarding major decisions, and agreed on the use of their platform to share updates. Andrés was invited to share his perspective, which was found surprising by some of the decisions.
- Improving Plugin Communication StrategiesAndrés and Adolfo discussed the challenges of communicating plugin developments to different stakeholders, emphasizing the need for a more targeted approach. Adolfo proposed a monthly newsletter or digest to share updates across various user groups, which Andrés agreed could be beneficial. Xavier confirmed that such a feature is under discussion with Cassie and Ali. Andrés also suggested creating a section in the forum to keep users updated on upcoming releases. They all recognized the need to find a more effective way to communicate changes and updates to various user groups.
- User Issues and ProcessesXavier noted a decrease in user issues, but expressed uncertainty whether this was due to improved implementations or simply a shift in user behavior. Cassie proposed waiting for survey results to refine processes and tasks distribution within the community. Xavier agreed, highlighting the importance of well-documented processes for facilitating change.
Meeting notes
1.3. Data Working Group
Chair: @e0d & @blarghmatey
Latest news
- Overview of Individual Learner Reports in their current state: Current dashboard walkthrough. Summary of the usability feedback weâve collected.
- Course dashboard updates: Quick walkthrough of the updates to the Course Dashboard based on usability testing
- Walk through of dashboards embedded into the LMS: Walk through Instructor Dashboard Reports tab in the LMS. Quick look at the existing Operator Dashboard.
Meeting notes
1.4. DEPR Working Group
Chair: @feanil
Latest news
- Paver
- Has been announcedDeprecation/Removal: Paver
- Can discuss what this means for operators and tools that are not being maintained by AXIM (devstack, configuration)
- This will break some old functionality, but I believe we should have replacements
- Scheduled for acceptance May 21.
- [DEPR]: Asset processing in Paver · Issue #31895 · openedx/edx-platform - this has landed to some degree as a passthrough Paver. It should be possible to switch to the new method before paver deprecation lands.
- PR to do this replacement build: finish replacing paver assets by kdmccormick · Pull Request #34554 · openedx/edx-platform
- Biggest outstanding question is about javascript tests in edx-platform - how do we end up running these?
- Codecov
- We moved this back into Proposed because it seems like there are improvements that can be done via configuration and we donât have a solution for JS repositories right now
Meeting notes
1.6. Tutor Usersâ Group
Chair: Kyle McCormick
Past meeting notes Tutor Users GW 2024-04-08
- Integrate Tutor with IntelliJ IDEA/Pycharm (by Qasim Gulzaredly)
- The tutorial instructions will be published soon-ish in a dedicated space.
- In the meantime, we can reproduce the instructions with the video recording.
- Instructions are still hackish and a little brittle, we can definitely work to improve them.
- MongoDb 7 upgrade: scheduled for Redwood
- utf8mb3 upgrade. We reached the following decisions for Redwood:
- upgrade the connection string and the database default charset to utf8mb4 for all platforms
- For existing platforms, upgrade the default database charset (with
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
).- For existing platforms, convert tables in a conservative manner, using instructions similar to:
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
. The list of candidate tables is available here.- Implementation of these decisions can be followed in this GitHub issue: We must migrate the mysql databases from utf8mb3 to utf8mb4 · Issue #938 · overhangio/tutor
- MySQL high memory issue on Arch Linux: Really high memory usage · Issue #579 · docker-library/mysql
- We should update the troubleshooting instructions for Arch Linux users. Deimer Morales can you please open a pull request to update the Tutor docs?
Meeting notes
1.7. Educators Working Group
Chair: @john_curricume
Past meeting notes 2024-03-18 Educator WG
- Dr. Claude Muller (Education Designer) and Dr. Jennifer Erliman (Software Engineer) from the Zurich University of Applied Sciences to discuss a course design tool that is free and has no ads.
Meeting notes
1.8. Frontend Working Group
Chair: @arbrandes
Latest news
- JavaScript Configuration Handling:
- Discussion on Globbing: Max introduced a proposal to use glob for JavaScript configuration files to support various file types (.ts, .tsx, etc.). This would require adding it as a dependency.
- Concerns Raised: Brian expressed concerns about glob potentially catching multiple configurations and the importance of having a clear mechanism to select or prioritize the correct configuration file.
- Production Configuration Implementation:
- Manual Configuration vs. Automatic Detection: Adolfo challenged the need for manual configuration setup in the production environment, suggesting that the system should automatically detect and use configuration files if present.
- Environment Variable for Configuration:
- Question on Necessity: The current approach uses an environment variable to specify which configuration file to use. Adolfo questioned the necessity of this method compared to automatically detecting the file.
- Proposal for Handling Multiple Configurations:
- Handling Potential Issues: Max and Brian discussed the potential issues with having multiple configuration files and suggested that it might indicate a setup error. They proposed that the system should not be responsible for handling multiple configurations but should instead import them conditionally.
- TypeScript Support:
- Push for Inclusion: The group discussed incorporating TypeScript support into their configuration setup, noting that it might require additional changes to the webpack configuration to handle .ts and .tsx files correctly.
- Use Cases and Future Planning:
- Exploring Use Cases: Adolfo emphasized the need to explore specific use cases for the proposed changes, particularly concerning the configuration file environment variable. The group agreed on the necessity of justifying this complexity.
- Separation of Concerns: There was a consensus on handling TypeScript support in a separate pull request (PR) to ensure clarity and manageability.
- Feedback and Closing Thoughts:
- Feedback on Implementation: Fox shared insights from a proof of concept by another team member, which highlighted potential improvements in the build process.
- Community and Future Meetings: Adolfo mentioned upcoming community meetings to discuss related topics further.
Meeting notes
1.9. Large Instances Working Group
- Updates from each org on the call - 2U, Edunext, OpenCraft, Raccoon Gang
- OpenCraft:
- GĂĄbor Boros - continued working on migrating parts of internal âGroveâ software to Harmony. Ran into the known issue with Elasticsearch certificates, but found a workaround that seems to work for now (PR incoming).
- Edunext:
- Jhony Avella - monitoring the effort to migrate packages to python 3.12 as part of the Redwood release effort. Also working to publish an open source repo with a set of k6 tests that we use to check Open edX instances - hoping to share in our next meeting. Hopefully it could become a shared/standard tool set for testing Open edX.
- 2U:
- has not had anyone joining these meetings lately. We should see if there is someone else whoâd be able to join, as we always appreciated having their perspective. TODO: ask them.
- Raccoon Gang:
- Maksim Sokolskiy - focused on testing a large installation on k8s. Should soon be able to publish their locust load testing scripts etc., which may be useful as an alternative to the k6 tests. Also, Raccoon Gang tried AWS serverless Aurora and Redis - found that it works well for large instances so far, and seems like it can save costs.
Meeting notes
1.10. Marketing Working Group
Chair: Eden Huthmacher
Past meeting notes 2024-03-24 MWG Meeting Notes
- 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
- Next meeting: May 15th, 2024
Meeting notes
1.11. Maintainers
Chair: Feanil
- Python 3.11: PR has merged to enable Python 3.11 - feanil/test on 3.11 by feanil · Pull Request #34374 · openedx/edx-platform
- Unit test matrix:
- Running tests for Python 3.8 and 3.11 and Mongo 4.4 and 7
- 107 total test to run right now
- 64 of which are Unit Test shards
- Proposal
- Run fewer tests on older versions of python and mongo.
- Proposed Shards: xmodule-with-lms, xmodule-with-cms
- Kyle will have a detailed proposal in the form of a PR
- Custom Settings Files:
- OEP-45: Configuring and Operating Open edX â Open edX Proposals 1.0 documentation
- Summary: Defaults live in a python file and you should only use YAML to override things.
- Proposal: This is wrong, it is useful and valuable to let operators have their own custom settings file.
- Dynamically loading classes
- Compute values an runtime.
- Next Steps:
- OEP should be updated
- Operators that are not using Tutor should be prepared to load settings in the future from a different location so that they can load custom classpath.
- Sumac Potential Maintenance:
- Oct ~9 / Nov ~9 cut; Dec 9 release
- Python 3.11 for anything that doesnât have it and is in the release *
- Node 20*
- Deprecation/Removal: Paver*
- React? - On-going - 17, going on 18
- Python 3.12
- Tutor Redwood upgrades FYI:
- Itâs moving along thanks to Dawoud, progress here:
- Python 3.11/3.12 upgrade · Issue #1004 · overhangio/tutor
- mongodb update by DawoudSheraz · Pull Request #1029 · overhangio/tutor
- Correct Version Info:
- How do you know what version of Python, Node, Ruby to Install for any given repo.
- GitHub - openedx/edx-platform: The Open edX LMS & Studio, powering education sites around the world!
- We could have something more generally useful.
Meeting notes
1.12. Product Working Group
Chair: Jenna Makowski
- UX/UI Working Group
- MarĂa de los Ăngeles Aguilar gave an update of the LTI project and shared the following links for feedback:
- Gabriel Weinberg gave a detailed run-through of the process that designers, engineers, and PMs should follow when designing a new Paragon component: Contribution Process Update
- Feel free to leave comments / questions on the document, as it is still a work-in-progress
- Jenna Makowski went through Libraries Relaunch: MVP Requirements and asked the group to leave any questions on the document
- LTI/Learning Tool WG Meeting
- Presentation by Santiago on eduNEXT UI work, for those who couldnât attend before.
- Presentation/update by Scott of recent Pearson work
Meeting notes
1.13. Security Working Group
Chair: Feanil Patel
Past meeting notes 2023-07-26 Security WG Meeting
Meeting notes
1.14. TOC
Chair: Ed Zarecor
Potential grant project for the Open edX project:
- A proposal was submitted for a sub-award on an NSF grant supporting educational research This continued a discussion from the last meeting. The scope of work was discussed, the grant would be to improve research analytics, and could benefit Open edX in improving both research and API coverage. The proposal aimed to present content to learners in a way that would allow researchers to influence how it was presented
- There were concerns about ensuring these changes do not interfere with other ongoing efforts and Aximâs workload. The importance of building generic platform capabilities that can be used with other experimental programs beyond the grant project itself was stressed, to make the grant worthwhile even if the project itself doesnât gain traction to mitigate potential issues, some members suggested setting up institutional âforcing functionsâ to ensure that any specific integrations did not leak into the core platform, for example by ensuring the providers selected to work on the core and on the non-core features are different teams.
- The project with Spanish universities was discussed, focusing on integrating new functionalities in the platform and aligning with the community. It was concluded that ways of working could be adapted and a campus working group coordinated.
- For the next meeting, the goal is to present more detailed documents for this project
Converting the discussion service from Ruby to Python:
- The group discussed the proposal to rewrite a portion of Open edXâs forum codebase. Currently, the service is implemented in Ruby and utilizes MongoDB for data storage â both technologies that are not widely used or familiar within the broader open edX community. The proposed change involves translating the current code from Ruby into Python and migrating data models from MongoDB to MySQL. This would simplify the stack, potentially making it more accessible for developers to contribute improvements.
- The forum proposal was discussed in detail. The group discussed whether a discussion forum should be built and maintained by the Open edX project or whether integration with third-party solutions should be preferred. Having a robust, open source solution remains a priority in either event. A recommendation was not made at this meeting.
- The proposal for migrating the forums includes a progressive rollout plan to support large installations, especially organizations like 2U. The question was raised whether the complexity introduced by this approach created enough value to justify that complexity. Conversations with stakeholders will happen between now and the next meeting.
- While most agreed on its technical benefits, questions arose around prioritization among various projects as well as funding sources for such an undertaking.
- A document was suggested to recap all the projects and changes currently being discussed in the different working groups and the vision behind it. This was seen as beneficial not just for the TOC, but also for the broader community.
Proposal to make course content easily installable on any Open edX instance:
- The idea was discussed: the content should be easily shared, allowing people to easily contribute to it.
- It was suggested to add syndication features to existing courses already licensed under creative commons, to allow sharing between instances. A âcartridgeâ feature was also mentioned, for turning Xcode courses into importable content on other Open edX instances.
- The importance of designing content for reusability and modularity, rather than creating a single, long course, was emphasized. It is unlikely that individual institutions or companies will invest in such a library due to its public good nature, making it an ideal funding opportunity for organizations like Axim.
- The conversation concluded with the idea that all content should be decomposable into constituent pieces, allowing people to choose how they want to export it. Due to time, further discussion of this topic was postponed.
Relevant links
Meeting notes
1.15. Translation Working Group
Chair: Eden Huthmacher
Past meeting notes 2024-03-20 Translation WG Meeting notes
- 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
- Tuesday May 14th - Join the meetup here!
- Friday May 24th - Async update
- 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.