Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page and this group are under construction!

...

Name

...

Developer Experience, a.k.a. DevExp

...

Goal

...

Cooperate to improve the experience for developers working on the Open edX platform.

...

Chair(s)

...

Rebecca Graber (Deactivated) Kyle McCormick

...

GitHub Projects

  • Issue tracking

  • Technical discussion

...

https://github.com/orgs/openedx/projects/37

...

Forums

  • Technical discussion

  • Getting help

...

https://discuss.openedx.org

Category TBD

...

Slack

  • Logistics

  • Quick questions

...

Joining via openedx.slack.com

...

#wg-developer-experience

...

Joining via twou.slack.com

...

#openedx-wg-developer-experience

...

Meetings

  • Sprint planning

  • Demos/sharing

  • Discussion

...

Bi-weekly

Date & time TBD

Table of Contents

Charter

We aim to improve the experience for developers working on the Open edX platform by:

  1. identifying what qualities make a developer experience “good” (low on-boarding overhead, easy testing, etc.), with understanding that needs will vary between different members of the community;

  2. identifying the gaps between our current developer experiences and the desired state;

  3. actively improving our current developer processes and tools;

  4. empowering the community to build and maintain tooling extensions that suit their needs; and

  5. where possible, aligning different groups of developers on shared development solutions.

The Working Group will serve as a space for folks who are collaborating on developer experience projects to seek help, share knowledge, discuss ideas, and align their work with one another. We are likely to focus both on high-level questions (“what would the ideal developer experience be?”) and concrete improvements (“what will we do this month to make Tutor/Devstack easier to use?”).

At this time, Working Group itself will not be taking on maintenance responsibilities for any component of the Open edX developer experience.

Current Projects

Development Environment Vision

Lead: Jeremy Bowman (Deactivated)

https://docs.google.com/document/d/1DH780mleWGEksGc18LwNLkp_oFmeUiOEyppw-USsbjQ/edit#heading=h.t4cs1jeb7zhp

Tutor Improvement

Lead: Kyle McCormick

Table of Contents

Charter

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. 

Please join our users’ group 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.

Agenda and Notes

We meet every other week. Our schedule and video conferencing link is on the Working Group Calendar. The meeting is usually hosted by Kyle McCormick .

You can add topics below ahead of time, or add them during the meeting.

2024-04-22

Present: Kyle McCormick

2024-04-08

Meeting link: https://meet.google.com/rhs-veey-rrp

Present: Chintan Joshi , Danyal Faheem, Dave Ormsbee (Axim) , Dawoud Sheraz , Deimer Morales ,Maksim Sokolski, Maria Grimaldi, Qasim Gulzar , Régis Behmo

  • Integrate Tutor with IntelliJ IDEA/Pycharm (by Qasim Gulzar@edly)

  • How to track the eclipse with Tutor (by Régis Behmo if time permits) (it did not)

Notes:

  • 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: https://github.com/

...

...

...

...

Ansible-Free Devstack Images

Lead: Jeremy Bowman (Deactivated)

...

...

Convert GitHub dependencies to PyPI dependencies

...

  • mysql/issues/579#issuecomment-1075119349

    • It was suggested that Arch users manually create a docker-compose.override.yml file.

    • We should update the troubleshooting instructions for Arch Linux users. Deimer Morales can you please open a pull request to update the Tutor docs?

2024-03-25

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

...

...

Possible Future Projects

These are things we have discussed, but don’t have anyone actively working on.

  • Aligning on standard tools and practices for our developer environment(s): OEP-37, OEP-45, Docker, Kubernetes, etc.

Pages

Child pages (Children Display)
alltrue
depth2

Membership

Anyone who participates in DevExp WG is considered a member. There are several ways you can participate:

  • Join our meetings.

  • Discuss or review issues and PRs related to DevExp.

  • Take on DevExp issues yourself.

  • Chat with us on Slack or the Open edX forums.

Active Members

Inactive/Past Members

Thanks for your help!

  • 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

  • Talked about https://github.com/kdmccormick/tutor/pull/34 - 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

Older Notes

Paste old notes here.