Skip to content

tracking: integrate MDIMs and charts #5986

@lucasrodes

Description

@lucasrodes

One-liner

Integrate MDIM and Chart creation in ETL under the same space.

Context

Creating a chart or an MDIM should feel the same. A chart is an MDIM with a single dimension and view. The two should share the same creation path.

Currently, MDIMs live in ETL as steps export://multidim/, with their processing logic in the etl.collection module. This was a good start, but we can structure this better as we bring charts to this space.

Lines of work

Our vision is to move this to a new space and define the charts there as well. Some ideas/steps:

  • Charts in ETL. At the moment, charts can only be defined by the Admin. Let's allow them to be defined in the ETL as single-dimensional MDIMs. That is, using the existing logic from etl.collection.
  • New charts:// channel. Move MDIM/chart steps out of export:// into a dedicated charts:// channel. Rationale: export:// steps depending on export:// steps is conceptually muddled, and charts are central enough to OWID to deserve their own namespace.
  • Terminology: prefer "Chart" over "MDIM" in user-facing surfaces. "MDIM" stays as an internal term where useful, but docs, CLI output, and skill names should default to "Chart".
  • Workflow to create MDIMs/Charts in ETL. Let's make sure these remain evergreen and possibly improve them!
    • VS Code extension: We can now preview charts from VS Code. Let's improve this space, also allow for MDIM preview, etc.
    • Claude skill: .claude/skills/create-multidim/SKILL.md

Open questions

  • Migration path for existing export://multidim/... steps: alias, deprecate-and-warn, or hard rename with a coordinated PR?
  • Do we keep the etl.collection module name or rename it alongside the channel?
  • Backward compatibility for catalog consumers referencing the old paths?

Tasks

List here tasks/PRs as we work on them

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions