Contributors Meetup Async Update - Jun 8th - Jun 21st, 2024

Core Contributor Update: Jun 8th - Jun 21st, 2024

Use the jump links below to view the section that interests you:

  1. Working Groups Updates
  2. Events
  3. Projects
  4. Next async update and meetup

1. Working Groups Updates

Working Groups Calendar

1.1. BTR Working Group

Chair: @jalondonot

:paperclip: Latest news

  • Test Progress and Deployment Updates: Peter reported that 95% of the tests were completed and he was in the process of identifying the remaining incomplete ones. Max added that he needed to retest some items and would mark them up accordingly. Max also mentioned that the Android Plugin was not yet deployed and he would provide an update on its status. Lastly, Peter pointed out that there were some unassigned tests that needed discussion, as no one had volunteered to do them.
  • Investigating ‘Waffle Switch’ and Grading Features: Peter questioned the function of a ‘waffle switch’ for enabling global staff optimization and the ‘grading switch assume 0 grade if absent’ feature. MarĂ­a explained the former’s legacy usage for performance and course optimization, while Peter speculated the latter’s purpose for maintaining backward compatibility with a grading system change. Max agreed to investigate both features further. Additionally, Peter raised concerns about a test concerning the upgradability of major software versions, which Sarina suggested should be tested for operators with previous versions. It was decided that Max would also look into this.
  • Sandbox Strategy and Upgrading Challenges: Peter, Sarina, Adolfo, and Max discussed the current sandbox strategy for testing the new software with an existing installation, and the complexities of upgrading from Quince to Redwood. Adolfo suggested that the upgrade should ideally be tested in a separate, dedicated sandbox, and proposed reaching out to Fayaz, who has been doing a lot of the testing for Edly, to comment on the process. Sarina raised the idea of establishing a more permanent sandbox for continuous testing and data collection, and suggested that the team should consider appointing a Tutor Maintainer for each release. This idea was agreed to be worthy of further discussion.
  • Unassigned Testing Tasks and Mfe Issue: Peter discussed the remaining unassigned testing tasks, specifically those related to LTI and Grade pass back, which he planned to follow up on. Adolfo and Sarina then delved into a release blocker issue regarding language change behavior in the MFE, which they classified as a longstanding bug rather than a blocker. They agreed to investigate this issue closely, given its potential impact on user experience.
  • Language Support and Translation Issues: MarĂ­a, Max, Sarina, and Adolfo encountered an issue where the language setting did not affect the displayed language on the page. They explored various language options, including Hindi and Polish, but found that the issue might be related to the availability of translations for certain languages. They also discussed the discrepancy between the number of translations for French and French Canadian. Sarina suggested checking with Brian Smith about this issue, and Adolfo highlighted the need to ensure the supported languages are included in the language JSON. The team decided to revisit the language support before finalizing the release.
  • Language Switcher and Repository Alignment: The team discussed issues related to their current setup and translation process. Max presented a working language switcher from a recent installation, which MarĂ­a agreed to test. Sarina expressed concerns about the lack of alignment across the 22 separate repositories, suggesting this could be a topic for a future working group. Adolfo agreed, indicating that he no longer trusted the current system due to its complexity. Finally, MarĂ­a mentioned that Brian had been assigned to address another issue, although it was unclear if he was currently working on it.
  • Regression Analysis and Investigation Plan: MarĂ­a identified a regression in the system, specifically in three areas: content availability, sidebar functionality, and limited staff access. She mentioned that content availability was previously restricted when a course was self-paced, but this limitation was no longer present. However, there was an issue with the sidebar displaying incorrectly and, concerning limited staff access, although a permission denied message appeared, users could still create certificates, but not perform other actions. Adolfo agreed to investigate these issues, with assistance from Max.
  • Test Issues Review and Prioritization Process: MarĂ­a reviewed the open issues related to test reports and repositories. She explained her process for identifying and reporting issues, and how she prioritizes them. Adolfo clarified the two views of the board: one for release testing and another for test reports. MarĂ­a confirmed that not all issues need to be reviewed in both views, as long as there’s a link to the test report if it’s related. She also expressed the need for help in solving these issues due to bandwidth constraints. A follow-up meeting was planned to address any remaining issues before the next release.
  • Prioritizing Test Issues and Upgrades: MarĂ­a asked Chelsea to assist in prioritizing release testing issues after lunch, which Chelsea agreed to. Sarina shared her plan to update product release notes and rearrange the site’s front page for clarity. An action item was assigned to Mia Delpho or Brian Smith to address a language issue. Adolfo offered his help for any unexpected release blockers that might arise during the week, while Peter would discuss the upgrade issue with Eddie. The team agreed to focus on the ‘test failures’ view and to ensure no release blockers were missed.
  • Framework Review and Release Notes Coordination: Chelsea, MarĂ­a, and Sarina discussed a framework developed by Jenna and agreed to review it together after stand-up. Sarina offered to assist Chelsea with the release notes, indicating that she would follow up via Slack. Christopher shared his understanding that he would handle the operator side of the release notes once Sarina had completed the product side. MarĂ­a expressed her intention to update the waffle flags in the Redwood settings, a task Sarina said was important as not everyone remembers to document their waffle flags on the Wiki page. Finally, Sarina thanked MarĂ­a for her work on the board and suggested endorsing MarĂ­a for product management on LinkedIn.
  • A security vulnerability was discovered last Friday (07/06). Due to the risk it poses, it is blocking the Redwood release. As a precautionary measure, no details have been released, but the Security WG is already working on a fix. Therefore, the BTR has agreed to postpone the release date until this is fixed.
    • The testing process is 96.9% complete.
  • The security patch has been applied and published Security: Upcoming Security Release for edx-platform on 2024-06-17

:memo: Meeting notes

1.2. Contributor Coordination Working Group

Chair: Jorge Londoño



:memo: Meeting notes

1.3. Data Working Group

Chair: @e0d & @blarghmatey


:arrow_down: Past meeting notes 2024-05-29 Meeting notes

  • Aspects Product Release Notes and How-Tos for Course Delivery Teams and Superusers; Setup Documentation for Site Operators to follow:
  • Collecting feedback on Aspects: Watch out for a form in the Data WG meeting soon!
  • Aspects extension options: Looking for options to extend aspects with third-party plugins.

:memo: Meeting notes

1.4. DEPR Working Group

Chair: @feanil


:paperclip: Latest news

  • testeng-ci deprecation
    • cleaning up the last few things still using it instead of repo-tools
    • mostly being used for Python upgrade
  • Studio frontend MFE DEPR ticket incoming
    • will trying to farm out work to CCs to help clean up the old views in edx-platform
  • Removed old calendar invite in favor of a new one set up by AXIM

:memo: Meeting notes

1.6. Tutor Users’ Group

Chair: Kyle McCormick


:arrow_down: Past meeting notes Tutor Users GW 2024-06-03

  • MFE build time (below)
  • Configuring open edx services with tutor
    • Moises and Maksim work on large instances group
    • Some of tutor’s default were meant to simplify setup
    • For large instances, they need to undo tutor’s defaults
    • example: celery queues
      • tutor uses one celery queue
      • at scale, the queue can fill up
        • using patches, large instances has been undoing tutor’s configuration changes
    • edx-platform is complex to follow, with all the indirection
      • related: OEP-45 simplification
    • could be better to have a blank slate
    • edunext had to replicate ansible installation settings, using tutor
    • they are using settings patches
  • Having plugins expose configuration interfaces
    • tutor-contrib-pod-autoscaling
    • rather than add more config settings, the plugin

:memo: Meeting notes


1.7. Educators Working Group

Chair: @john_curricume


:arrow_down: Past meeting notes 2024-05-20 Educator WG

  • DJohn Swope, Education Technology Specialist, Chair at St. George’s University AI in Higher Education committee, Author of Micro AI Apps in Online Education: Impacts on Efficiency, Quality and Future Directions to discuss 5 Lessons Learned Building AI Assessments.

:memo: Meeting notes

1.8. Frontend Working Group

Chair: @arbrandes


:paperclip: Latest news

  1. David’s Solution for Frontend Build Testing:
    • David discovered a method to ease the long-standing issue of testing MFEs with frontend builds.
    • Solution involves using local copies of frontend builds set as files and modifying Webpack loaders.
  2. Module Federation Implementation:
    • Discussion on the architecture and placement of OEP-0065 changes within the codebase.
    • Transition from single-page applications (SPAs) to module-based architecture using module federation.
    • Multiple options considered for transitioning, including incremental changes within the frontend app repo and separate build targets.
  3. Challenges with Current Approach:
    • Issues with requiring multiple PRs for changes across repos (modules and apps).
    • Exploring alternatives like mini monorepos or maintaining separate directories within a repo to ease development and deployment.
  4. Future Direction for Frontend Development:
    • Supporting both SPAs and module-based development simultaneously.
    • Potential solutions for maintaining consistency and ease of development while transitioning.
  5. Customizability and Compatibility Concerns:
    • Maintaining the ability to run MFEs independently.
    • Ensuring new changes are backward compatible.
    • Discussion on integrating front-end plugin framework (FPF) into new module federation architecture.
  6. Addressing Specific Issues and Development Needs:
    • Considerations for enterprise versus open-source implementations.
    • Handling forks and customizations within the module federation setup.
    • Integrating dependencies like front-end build and front-end platform in a modular approach.
  7. Next Steps and Action Items:
    • Awaiting David’s ADRs (Architecture Decision Records) for further clarity.
    • Potential for a modularity summit to discuss and iron out implementation details.
    • Ensuring backward compatibility and ease of transition for developers.

:memo: Meeting notes

1.9. Large Instances Working Group

Chair: @braden & @Felipe


:paperclip: Latest news

  • Updates from each org on the call - 2U, Edunext, OpenCraft, Raccoon Gang
  • 2U:
    • Felipe Montoya : Update from Jeremy Ristau at 2U - they’ve been seeking a volunteer who’d be interested in joining this meeting regularly but didn’t yet have anyone step forward.
  • OpenCraft:
  • Edunext:
    • MoisĂ©s GonzĂĄlez spent a little bit of time researching the new course search feature and testing it out on a large instance. However, encountered a problem: with ~43,000 courses on the instance, the reindex_studio command crashes before it even starts indexing.
      • Maksim Sokolskiy is also interested to know what happens with one very large course, because he experienced a failure when trying to do this with ElasticSearch.
      • Braden MacDonald to follow up with MoisĂ©s GonzĂĄlez to modify the command to better support instances with large numbers of courses.
  • Jhony Avella worked on upgrading to Kubernetes 1.29. So far haven’t had any issues.
    • Maksim Sokolskiy mentioned that the issue they had with the similar upgrade was related to Bottlerocket images.
  • Jhony Avella is hoping people interested in Horizontal Pod Autoscaling can comment on this discussion thread.
  • Felipe Montoya In anticipation of Aspects, we have started saving logs on our instances that will want to use it, so that when Aspects is officially installed/enabled, there will be existing data to populate it.
  • Raccoon Gang:
    • Maksim Sokolskiy We are experimenting with testing Aspects with single installations. Today I encountered a huge performance issue caused by docker logs. If anyone else is using Aspects on non-Kubernetes installations, they may encounter this. We were testing an instance with a huge number of users (1 million) and this caused the instance to utilize all available resources (e.g. cpus) just to work with this amount of logs. The problem was that all stdout data was stored in docker’s store, and the dockerd simply cannot work with that huge volume of stored data. The solution was to clear the docker store of logs. (Aspects was still fine because the log data was sent to clickhouse separately.)
      • Cristhian Garcia : Once Aspects is enabled it can be very verbose with xAPI statements (which go to stdout by default, making this issue much worse). You can reduce it by disabling Caliper and xAPI logging. However, this prevents processing xAPI logs using Vector, so you would need to enable Ralph. The setting are: XAPI_EVENT_LOGGING_ENABLED and CALIPER_EVENT_LOGGING_ENABLED
      • Felipe Montoya We should update the Aspects documentation to mention this potential issue.

:memo: Meeting notes

1.10. Marketing Working Group

Chair: Eden Huthmacher


:paperclip: Latest news


:memo: Meeting notes

1.11. Maintainers

Chair: Feanil


  • DEPRs with action required by early deployers:
  • edx-platform - Node 20 pull request / Node 20 expand-contract
    • tests are green
    • does the 6 month support timer start now?
      • yes, but via DEPR (with ~2-week comment period)
      • how many DEPRs?
        • one for every repo? ie 20+
        • one big DEPR, and spin up smaller DEPRs for straggler repos?
          • Let’s do one for edx-platform, we can figure out the other things later when we have more info about them.
    • should we update .nvmrc now?
      • 6 months from now, along with tutor
      • this is the “contract” portion
    • robert: I thought we thought we wouldn’t be able to support both
      • feanil: often is hard but it seems like we’re fine now
    • When does the timer for 6-month timer start?
      • Create a DEPR for Node 18 for edx-platform.
    • We need to have fully expanded by Sumac cut (Oct/Nov)
    • Contraction will happen in after 6 month timer, which is basically right after Node 18 support goes away
  • Tracking DEPRs and other granular tickets:

:memo: Meeting notes

1.12. Product Working Group

Chair: Jenna Makowski


:paperclip: Latest news

  • UX/UI Working Group
    • Database of UX/UI Projects
      Steps for moving PR #455 forward?’
      Next steps: Cassie Zamparini , Chelsea Rathbun , Asma Ahmed to do blind tests of the current implementation and provide feedback on whether it’s too confusing/complex to merge as is, or whether it needs more work. Link to the sandbox:Welcome | My Open edX - Studio
  • LTI/Learning Tool WG Meeting
    • We kindly ask participants and anyone interested to watch the following two videos showcasing the prototype aimed at enhancing the administration and reuse of LTI tools. Please share your comments, questions, and feedback in the comments bellow to be addressed in our upcoming meeting.

:memo: Meeting notes

1.13. Security Working Group

Chair: Feanil Patel


:arrow_down: Past meeting notes 2023-07-26 Security WG Meeting


:memo: Meeting notes

1.14. TOC

Chair: Ed Zarecor


:arrow_down: Past meeting notes Open edX Meetup - 2024-02-29 - Panel Discussion

  • 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.

:pushpin: Relevant links


:memo: Meeting notes

1.15. Translation Working Group

Chair: Eden Huthmacher


:arrow_down: Past meeting notes 2024-05-15 Translation WG Meeting notes


:memo: 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 June 11th - Join the meetup here!
  • Friday June 21st - Async update
  • Details and draft agenda on Confluence

:speech_balloon: Anything to add?

If there’s anything else you’d like to mention, please let us know in the comments below.

1 Like

Core Contributor Check-in: Jun 8th - Jun 21st, 2024


As we say in South Africa
 Howzit guys, I can’t believe it’s almost time for a lekker, jol in South Africa! See some of you in South Africa next week :south_africa:

:stopwatch: Core Contributor Hours

There was a total of 244 hours of contributions reported this past sprint. This is 6 hours more than the previous sprint of 238 hours.

The overall checklist response rate was 39% for this sprint.

:notebook_with_decorative_cover: Summary of Responses

1. Do you need any help? Or is there anything you’d like to collaborate on?

@pdpinch

  • Will be looking for feedback on the testing plan used for Redwood

2. What should we improve? Are there any blockers?

@braden

  • Please add the “Large Instances Working Group” to the “Select the working groups you participated in this sprint” question on the survey? cc. @Fox_Piacenti

3. What did you accomplish this sprint?

@Zia.Fazal

  • Fixed issue 76 of SCORM Xblock
  • Reviewed PR 431 of ERB

@ghassan

  • Worked on PRs

@john_curricume

  • Fixed DemoX Broken URL in Javascript Problem Type Documentation: Sorting migration issues

@sarina

  • Conference organization: primarily Release Testing Operator Release Notes

@pdpinch

  • Readwood Release!

@dave

  • Assisted with security patch for Redwood
  • Worked on conference talks
  • Contributed to arch discussions for new libraries work

@Felipe

  • Joined large instances meeting
  • Joined deprecation WG meeting
  • Reviewed the xblock filtering PRs at platform and filters by 2U
  • Reviewed filters auto generating docs PR

@antoviaque

  • Coming back from vacation, so mostly catching up, and some forum review

@jill

@braden

  • Continued work on adding more TypeScript typings to Paragon, various other small frontend improvements

@Awais_Qureshi

  • Spent some time on pymongo
  • Explored the deprecations warnings specifically django-storages
  • Currently exploring switching all APIs to use DRF with standard Auth classes

4. What do you plan to work on in the upcoming sprint?

@ali_hugo

  • Looking forward to seeing many of you in person at the conference in Stellenbosch!

@jill

  • Aspects documentation
  • Conference!

@Awais_Qureshi

  • Switch APIs to be using DRF with standard Auth classes

@pdpinch

5. What went well this sprint?

@sarina

  • Everyone on BTR! Shout out to Chris P for great work on release notes, MarĂ­a G for diligent testing coordination work, and Max for fearless leadership of the processes

@Awais_Qureshi

  • My CC onboarding process is completed!

@pdpinch

  • Redwood Release!

:speech_balloon: Questions or comments?

Please add any questions or comments you might have below. We’d love to hear from you!

And if you’d like to take a peek at the full report, see it on Listaflow

2 Likes

@braden

Done!

1 Like