Versions Compared

Key

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

...

Prefix your topic with your intention so we are clear on what outcome you are striving from the discussion. Examples:

  • [inform] You are simply seeking to inform the group of this item. You may field clarifying questions from the group on your inform, but not seeking further discussion at this time.

  • [ideation] You are seeking divergent and wide perspectives from this group. In this brainstorming mode, all ideas are accepted, without critical analysis.

    • It may be helpful to clarify whether you’d like to ideate on the problem space or the solution space.

  • [analysis] You are asking the group to help you poke holes in your idea/topic/plan/etc.

  • [quest] You are seeking information/responses to a question you have.

2021-11-24

  • [analysis] (Nathan Sprenkle) Internally-routed XBlock handler calls

  • [Ned] Meta-question: are there any more questions or discussion following on from the Eng All-Hands?

    • Should we be planning for more repo changes programmatically?  How will 2U people be able to make changes to things like branch permissions?

    • What’s happening to BD projects?

      • Some are moving to TCRIL, others are staying with edX

  • [question] (Jeremy) If you could nominate 1-2 things to improve the experience for new Open edX developers, what would they be?  (We’ll likely have many such people soon.)

    • [dkh] We should pick up the thread of the onboarding work Feanil recently did

    • [djoy] Better/updated seed data for freshly provisioned devstacks/services

    • [djoy] push button environment creation and simple installation/setup instructions and documentation

    • [adam] Make things more consistent (devstack vs sandboxes vs prod, bokchoy vs cypress)

    • [andy] tests that work outside of a devstack shell

    • [andy] devstack as cattle not as pet

    • [andy] meta improvement: measure time lost to devstack to motivate investment

    • [djoy] is there a third party libraries-so-popular-they're-standards development environment stack that we could adopt so that someone else maintains our development stack for us, effectively. (this is clearly not a small thing)

  • [Ned] Can TCRIL participate here?

    • Probably, let’s enable that

  • [Adam] question: Is there anything stopping us from moving https://build.testeng.edx.org/job/edx-e2e-tests/ to the new tools-automation cluster?

    • Sub question, if someone changes something in a repo that will break an e2e test how can we make it faster to fix the test?

      • David Joy: Maybe a GHA?

      • Diana: Or maybe we can just remove the tests that trip us up

      • David Joy: e2e tests should be few and far in between, so we should only use them for critical path tests.

2021-11-03

  • ++[analysis] (Dave O): Extracting a low-level learning core out of edx-platform and into a new repo.

    • (Original post/thread).

    • Motivation:

      • Create a smaller/simpler dependency to build extensions on top of (instead of edx-platform). This means smaller, more stable APIs that can add incremental value, instead of the backloaded benefits of removing stuff from edx-platform.

      • Promote innovation by making it easier to create different experiences on top of Open edX (like LabXchange).

      • Advance the Studio/LMS split (these would be the core of the LMS).

    • Some potential apps: publishing, navigation, policy, composition (what’s in a Unit for this user?), scheduling, partitioning (what users are in what groups for various tests).

    • Strategy for dealing with tricky extractions: Core data models and frameworks exist in new repo. Plugins are implemented in edx-platform. Examples:

      • For navigation, an outline processor framework exist in new repo, but an EnrollmentOutlineProcessor exists in edx-platform, keeping knowledge of enrollments out of the new core.

      • For partitioning, the data models to store user/partition mappings live in the new core, but actual partition bucketing logic remains implemented in edx-platform.

    • Strategy for data migration: Start with content data, that can be rebuilt/backfilled from Modulestore. We do this kind of thing all the time already.

    • Feedback:

      • Robert: In general, like the idea. Where to start: serving particular needs, like course overview-like data, verify that it serves the needs. Interfaces vs. implementations: do we need both? E.g. for course overviews, does it just need to move or will work need to be done–define an interface for a mocked version?

      • Jeremy: Any idea of things currently installed in edx-platform that directly call edx-platform–what are they doing?

        • Course overviews

        • Things that reach into modulestore for lack of better APIs that we should probably create

        • Scheduling

      • Jeremy: might it be worth identifying APIs in edx-platform that are the main code called by many other parts of the platform, so extracting it could allow all those to also be extracted?

        • There may be some cases where we move enough of the core of such an app (models, etc.) to a separate repo, but leave all the tangled implementation details in place to minimize the up-front work needed.

  • + [quest] (Jeremy) Docker Desktop changes - how does this influence build vs. buy decisions?

    • Docker is starting to charge for Docker Desktop usage for orgs like ours

    • There are possible alternatives like Minikube, but we haven’t really evaluated how well they would work for us

    • Quite possibly worth edX paying for this, not as clear for Open edX at large

    • Jeremy discussed this with Régis; we agreed it needs to be discussed/resolved, but didn’t come up with any immediate answers

    • BTR working group at large hasn’t discussed this yet

    • Does moving to Codespaces or something similar change this

    • Costs ~$21/user/month for 50+ user orgs

    • Open edX will probably support multiple options in the future, but edX is likely to pick a default for its own developers

    • Probably just paying the license fee for now, to free up resources for acquisition-related stuff

  •  Has anyone tried Tutor or Codespaces?

    • Tutor: https://docs.tutor.overhang.io/run.html , written by Régis Behmo

    • Codespaces, etc.: sounds cool, nobody’s had time to look at it very closely

      • Quicker to get started (and to restart!)

      • Internet speed: are codespaces better or worse than downloading docker images for poor internet speed?

        • Codespaces are latency, docker images are bandwidth

      • Doesn’t work at all offline, but that may not really be an issue for most people these days

...