Contributors Meetup Async Update - July 8th, 2023 - July 21st, 2023

Contributors meetup Async Update

July 8th, 2023 - July 21st, 2023

Welcome to our Core Contributors async update!

1. Working Groups Updates

Working Groups Calendar :calendar:

BTR Working Group

Contributor Coordination Working Group

Data Working Group

  • Chair: @e0d & @blarghmatey
  • Headlines:
    • ARS is now Aspects! Most things are renamed, except the ADRs
    • Beta is coming within weeks, testers wante
    • dbt is integrated and configurable
    • Vector based tracking log pipeline from Cairn is in
    • Vector based xAPI pipeline is in
    • Ralph upgraded to 3.8.0 with performance improvements
    • Talking to people from campus.gov.il and wgu.edu about their data use cases.
    • Cristhian is going to update us on various extension points!
      • Two dashboards in Aspects now: Open edX Admin Dashboard and the Instructor Dashboard (Rory the DBA has been focusing on this one).
      • #69 added ability to maintain custom dashboards/charts etc assets for Superset, which can also be shared with the community.
        People can create them using the Superset UI, export them to a zip file, and then use the script tool created by this PR to generate a tutor patch for their custom assets.
      • #70 added dbt to Aspects, so people write their own performant, complex queries.
      • #99 adds ability to run database migrations on clickhouse, so we can maintain changes between versions, and users can add their own tables, fields, etc.
      • GitHub - eduNEXT/aspects-superset-aside
  • Meeting notes:
  • Blockers or Calls/offers for help:

DEPR Working Group

  • Chair: Feanil
  • Headlines:
    • Review results of deadcode:
      • Run deadcode on edx-platform · Issue #32603 · openedx/edx-platform
      • 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.
    • [Action Item]Announce configuration deprecation.
      • update the ticket to make it clearer that this is 2U-owned.
  • Meeting notes:
  • Blockers or Calls/offers for help:

DevEx Working Group

DevOps Working Group

Educators Working Group

  • Chair: John Swope
  • Headlines:
    • Next meeting: Monday, July 31, 1pm ET / 5pm UTC **2023-07-31 Educator WG
    • Educators Working Group
    • They are continuing to host monthly educator-centered knowledge-sharing sessions. On Monday, ASU will be presenting on “Non-Linear Learning using Open EdX: Resource Hubs”. Next month will be a panel discussion on the implications of AI and LLMs on MOOCs.We are also gearing up a team to work on documentation on http://docs.openedx.org/
    • Working on the best system to have non-technical folks contribute to documentation using Google Sheets that can then be migrated to RST and Github.
  • Meeting notes:
  • Blockers or Calls/offers for help:
    • Looking for any and all documentors!

Frontend Working Group

  • Chair: @arbrandes
  • Headlines:
    • Allow @openedx-namespaced NPM packages to be built · Issue #806 · openedx/axim-engineering
    • Update on Piral and Modular MFEs:
      • Refer to frontend-app-shell for installation instructions (temporarily in Pedro’s repository, will move to the openedx org this week)
    • Enzyme deprecation discussion:
      • Should we fully remove enzyme or use the adapter react-unit-test-utils
        • It makes sense to use the current industry standard (React Testing Library): it’s just likely to be more time-consuming to rewrite the existing tests to it. However, FED-BOM would still prefer to use RTL, and since they’re going to do the brunt of the work across the frontend repositories, there were no objections.
        • Some repositories - likely the ones owned by Aurora - will use react-unit-test-utils, but that’s also ok. One of the reasons to have MFEs in the first place is to give code owners some freedom in decisions of this kind.
    • Unit vs Integration tests:
      • Unit tests are a way to document what the code should do and also speed up development iteration, so they should definitely not go away
      • Integration tests are valuable too, but one does not exclude the other
      • Ideally tests are written using both techniques where they’re best applicable
  • Meeting notes:
  • Blockers or Calls/offers for help:

Large Instances Working Group

  • Chair: @braden & @felipe
  • Headlines:
    • OpenCraft:
      • Currently, the tutor-mfe plugin builds a docker image, which is then downloaded onto the cluster and the files are served via Caddy. So without a CDN in place, Caddy can become a bottleneck. It’s true it would be nicer without the docker images as a middle step but that’s too complex for now, because it’s not how Tutor currently works.
    • Racoon Gang:
      • Mostly testing Harmony on my local machine and it’s working well. Re our recent big migration to Kubernetes: everything mostly was fine but at the end of the big exam period we encountered a huge degradation of RDS. Issue seemed to be related to the huge amount of data and historical data from the two week period, so looking at the retention policy. AuroraDB doesn’t provide the kind of sharding or horizontal scaling we need, and vertical scaling won’t help, so we’re trying to figure out a better solution, with something like multi-master sharding for MySQL.
      • we tried using Percona multi-master but found it was only using a single master node. Then we found a proxy SQL solution which gave way more control over how transactions were routed, but it failed spectacularly due to transaction atomicity issues.
      • If you’re encountering MySQL scaling issues, consider documenting them in the related discussion at Evaluating big technology changes like PostgreSQL support
    • eduNEXT:
      • We have also been encountering some issues with Redis; over time, it fills up and we have to purge it.
    • 2U:
      • As mentioned, we’re exploring how to evaluate large tech changes like PostgeSQL support: Big Technology Changes . Arch-BOM, Arbi-BOM etc. teams now have a product manager, and we’re working on roadmap. If there’s anything you want to nominate for prioritization, let me know. We’re considering dev environments that play better with k8s, better development data.
    • Harmony project updates: Review list of PRs and issues, and assign anything un-assigned.
      • Helm chart release is done
      • OpenSearch PR is approved and ready to merge
      • The eduNEXT autoscaling plugin is being upgraded for Tutor 16 compatibility.
  • Meeting notes:
  • Blockers or Calls/offers for help:

Marketing Working Group

  • Chair: Eden Huthmacher
  • Headlines:
    • LWMOOCs - small booth
    • Open edX meet up
      • Generative AI with 2 Axim employees, new CTO Philip Smith
    • Dedicated marketing page for MWG on Open edX website
    • Redesign the default platform footer
      • All Open edX sites should have a footer
  • Meeting notes:
  • Blockers or Calls/offers for help:

Maintainers

  • Headlines:
  • Adolfo Brandes
    • FE Template app has had a few PRs, but is mostly on rails, not much going on.
    • Open edX Tutor plugins
      • This is a new repo for Palm that Axim will be maintaining.
      • Currently has 4 experimental Tutor plugins for Blockstore, Library Authoring, and Learner Dashboard.
      • Have been working on getting it up to standard
      • FE App communicator
        • Axim are backstopping until eduNEXT can take it over
        • They are blocked by not having a CC lined up to take over maintenance today.
        • Work to get it up to standard has been ticketed.
      • Quince MFE conversation has already begun, time to start thinking about what we’ll add to the list of maintained repositories.
    • Sarina Canelake
      • Maintaining the Open edX proposals repo. On track, no blockers.
    • Maria Grimaldi
      • Have some PRs to review for filiters.
      • Need reviewers for the filters docs, has requested a review from Feanil on this.
    • Ned Batchelder
      • Has been focused on corralling projects that 2U are maintaining
      • Wants to know what needs to happen to close out phase 2
      • We agreed to:
        • Each project having documentation of how on-going work – PRs, security updates, etc. – will get done.
        • Requirements bot should be yes everywhere.
    • Feanil Patel
      • Routine maintenance for all Axim repos listed in Backstage is on track.
      • We need to draft on-going work plan. Feanil will create a draft and request a review from Ed.
    • Edward Zarecor
      • Have been focused on keeping contributed PRs flowing by assisting Tim Krones and Michelle Philbrick
      • I have not had sufficient time to drive the program as directly as I would like, search for ways to move things forward more consistently. Ideas welcome.
  • Meeting notes:
  • Blockers or Calls/offers for help:

Product Working Group

  • Headlines:
    • Feedback on proposal to reorganize the Working Group.
    • Writing community guidelines for building features:
      • Some guidelines are now proposed for how to handle pull requests and how to propose making a feature (making a roadmap ticket, etc). This needs to be documented somewhere. Who can take this task?
        1. Wiki documentation of PR review process [Ryan/Jenna/Shelly]
        2. Documentation of doing product discovery/feature definition in the open and how to submit [Santiago]
        3. Once it’s in wiki, translate to docs.openedx.oeg [Sarina]
  • Meeting notes:
  • Blockers or Calls/offers for help:

Security Working Group

TOC

Translation Working Group

  • Chair: Eden Huthmacher
  • Headlines:
    • They are adding 2 new languages, Danish and Indonesian
  • Meeting notes:
  • Blockers or Calls/offers for help:

2. Events

3. Projects

Would anyone like to highlight any new or ongoing projects?

4. Next async update and meetup

  • Friday July 21 - Update async!
  • Tuesday August 8 - Join the meetup here!
  • Details and draft agenda on the GitHub board

Please reply to this post with any questions or comments you may have!

Core Contributor Sprint Retro - 7 July 2023 to 21 July 2023

You can find the full report in Listaflow: https://www.listaflow.com/

Do you need any help? Or is there anything you’d like to collaborate on? User
I’m looking at a problem with Order History in ecommerce in Olive and Palm. I’ve mentionned it on Discourse and discussed it with Phil Shiu from 2U. I wish someone who is running ecommerce on Olive or Palm could also confirm they are encountering this problem. Pierre Mailhot
I am looking for someone to write a Site Operations module for the Dev Onboarding course. This would be a high level overview of how to get a site running with Tutor. If these instructions exist in any form could someone point me at them? Sarina Canelake
What did you accomplish this sprint? User
Worked on the Dev Onboarding course and responded to feedback on the Intro to Open edX course Sarina Canelake
TOC Meeting - Attend & follow-up Write public summaries for TOC meetings · Issue #94 · openedx/wg-coordination · GitHub
TOC Elections - Publish Charter Amendments Elections - Additional feedback?
PR Delays discussion Contributor's Meetup 2023-01-24 · Issue #85 · openedx/wg-coordination · GitHub
Course - Send audio equipment for first interview Community-maintained onboarding courses · Issue #11 · openedx/wg-coordination · GitHub
Xavier Antoviaque
Added more type checking (with mypy) to some edx-platform apps. Braden MacDonald
Attended (and thoroughly enjoyed!) a design workshop run by Mike Leary at 2U for the Studio Home redesign :slight_smile:
Attended the Core Product Working Group meeting
Attended the UX/UI Working Group meeting
Ali Hugo
General CI fixes for tutor-contrib-aspects
Add new functionality like commands for aspects
Add an operator dashboard for aspects
Cristhian Garcia
Participated in Build-Test-Release Working Group meeting.
Participated in Translation Working Group meeting.
Reviewed some strings for Fr-CA in Transifex.
Quickly looked at LexiQA in Transifex again (more to come).
Browsed through Discourse and Slack.
Created and merged a PR which adds xAPI transformers for discussion forum thread interaction events Zia Fazal
As I am a tester and attending meetings and onboarding courses. So far I have contributed to executing Palm test cases and reporting issues. Fayyaz Ahmed
I joined the LTI Working Group and helped present the ideas for the Marketplace and LTI UX. Cassie
What do you plan to work on in the upcoming sprint?
Besides attending my usual working group meetings, I’m not sure yet. I don’t know how much time I will have between my work on the Content tagging project. Ali Hugo
I am on leave for next two sprints Navin
Still trying to look at the aforementioned Order History issue in ecommerce.
Looking at LexiQA in Transifex.
Participating in Build-Test-Release Working Group meeting.
Pierre Mailhot
Finish up Dev Onboarding course first draft (all except Site Operations & Intro to Frontend) Sarina Canelake
Start work on adding more xAPI transformers for discussion forum response interaction events Zia Fazal
I’m working on adding type hints to opaque-keys, and next up I want to take on the XBlock repo. Braden MacDonald
What went well this sprint?
The Studio Home workshop was a lot of fun and very effective in getting a lot of good UX ideas in a short amount of time. Ali Hugo

A total of 319.25 hours were reported this sprint, up from 238.75 in the previous sprint:

Cristhian Garcia 80
Dave Ormsbee 40
Sarina Canelake 40
Zia Fazal 22
Andrés González 20
Maria Grimaldi 20
Ana Garcia 14
Piotr 13
@antoviaque 10.75
Braden 10
Ali Hugo 10
Gabriel 9.75
Pierre Mailhot 6
Fayyaz Ahmed 6
Navin 5
Jill 4.25
Matjaz Gregoric 4
Ignacio (Nacho) Despujol Zabala 3
Cassie 1.5
Dean Jay Mathew 1
1 Like

@Natalia_Choconta @Dean Thank you for the recaps! :+1:

@e0d What kind of help would you need, to help move the maintainer program forward better? Would contributed time from specific people / roles / skills help to fill the time you’re lacking?

@sambapete Do we know who the other main users of e-commerce are? If so, the best could be to ping them directly? Who is usually testing e-commerce for stable releases, aside from you? Maybe @Dean you know through the testing plan?

@regis @feanil @lpm0073 @braden Maybe one of you know the best current answer to @sarina 's question? ^

@antoviaque As far as I know, I am the only one who does the testing. Something I missed as it is used by ecommerce but that isn’t related directly to the transactional process. @jalondonot told me edunext has one of their clients using ecommerce. He will look into it and get back to me.

In the meantime, I have found a “workaround” that only works with our fork

1 Like

@Dean The README that the Cookiecutter generates is pretty detailed and, provided that you want to deploy to Kubernetes, would count as a how-to

1 Like

@lpm0073 Thanks! From the answers so far, it looks like what you pointed to is one of the only available documentation. It doesn’t take into account Harmony or pure Tutor deployments, right?

We are also discussing this at Documentation for Site Operations / Basic Deployment in Production - Discussions - Public - OpenCraft - we are still figuring out if/when @mtyaka would be able to spend some time on this. If we do, @lpm0073 would you be willing to contribute to a joint official documentation on this topic?

Maybe @feanil @sarina you would have additional comments about this?

FYI, this has been discussed further during the last contributors meetup:

Pierre shared that the problem was specifically patchable from his end, as he had made necessary adjustments in his use of Tutor Ecommerce. Since he seem to be the only reported case and that it is now fixed for him, Pierre said it could be considered closed until other users to report similar issues before pushing for a community-wide solution. No next step necessary.

Btw, this echoes the need to be better able to discover and interact with the larger Open edX community. I would be surprised if really @sambapete were the only one running e-commerce on palm or olive. For discoverability, having instances report on their setup and usage would help here - here being able to search for palm and olive instances running e-commerce would allow us to reach out directly to those instances to ask them about it. CC @jmakowski

1 Like

That is correct. It does not consider Harmony nor pure Tutor deployments, noting however that in the foreseeable future I plan to record a how-to YouTube video on pure Tutor deployments.

Also, confirming that I’ll be pleased to contribute to the official documentation efforts. With whom should I follow up about that?

1 Like

@lpm0073 Thanks for the details - understood! (And great for the video tutorial :+1: )

That’s great to read! On the OpenCraft side it will be @mtyaka who would be handling the work - you’ll be able to discuss directly how to split out the work.

1 Like

@mtyaka @lpm0073 Btw, still on the topic of the documentation effort, it has been discussed during this week’s contributor meetup:

  • @jalondonot to reach out to @regis regarding the Tutor documentation for the Site Operations Module.
  • @e0d suggests to create an outline for the proposed course similar to what was done for the demo course.

@mtyaka It would be worth checking with them too while doing the discovery on this.

1 Like

That’s great @lpm0073! With your production hosting experience and writing skills (great work on the cookiecutter README) you’re a perfect fit for this effort.

@sarina How can we get started? I found the doc with the main outline, but I don’t have access to the Site Operations module. I’m guessing the collaboration takes place on that Google Doc.

1 Like