Versions Compared

Key

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

Topics

  • Linter Love

    • AdamBl re-discovered his love of Linting at a recent Meetup.

    • Why Lint

    • What to Lint

      • Current Linters at edX

        • XSS Linters

        • Pylints

        • edx/eslint-config

        • Legacy: eslint-config-edx

      • There were recent PRs to add linters to gomatic

        • Note: we may eventually replace gomatic

        • Example of where this could have helped

          • Acquia changed their API and broke services - we could have caught it

      • Possible Future Linters

    • How to Lint

      • OEP proposed for Lint amnesty: https://github.com/edx/open-edx-proposals/pull/108

        • Currently, we rely on “diff-linting” that assesses which lines were actually changed on your PR.

        • At least one RCA the last few months where Linting would have caught the issue (issue was bypassed by Diff-linting).

        • ACTION FP: Create a ticket on the Arch backlog to prioritize in the coming quarter.

    • Change Management of Linting

      • New IDAs/Repos

        • Come with Pylint, but it needs to be configured to enable

        • Travis.yaml - need to check to ensure it runs Pylint by default

      • Existing IDAs/Repos

        • Introducing new ones - breaking existing code

        • See above regarding Lint amnesty.

      • Responding and Fixing to Lint issues

        • Zero tolerance will be most effective.

  • FYI: Static Assets in Containerization

    • ArgoCD - static assets get built only once → deployed to S3

    • Where to have the convo on how to implement this?

    • ACTION DO: Will add his input on the ticket (WhiteNoise)…

      • Instead of versioning and collect-static, … (Dave will update the ticket)

    • Note: Cloudflare doesn’t connect to S3 with Https

    • Webpack builds the assets and generates a directory

    • If our Django assets were available with proper caching headers, then we wouldn’t need to overly build the assets.

  • Interesting ADRs in progress:

    • LTI Freedom: https://github.com/edx/xblock-lti-consumer/pull/85/files

      • LTI=Learning Tools Interoperability

      • Today: only supported via an xBlock

      • Proposal: move this integration capability to other places in our frontend experiences

      • Questions:

        • Who? Same as for xBlocks - Course Teams

        • Where? “Slots” in the UI where LTI can be integrated

        • What LTI Providers?

          • Big Blue Button

          • Discussion tools

          • Internal tools that edX develops

        • How LTI and MFE interact?

          • MFE: container for LTI plugins

          • MFE: wrapped into an LTI plugin

    • OEP → Handbook: https://github.com/edx/open-edx-proposals/pull/155

  • Prep for next week’s Special Guest (Arch Tea with Luca Mezzalira )