Skip to content

DEV: Straightening Out Challenge Meta/Info #41563

@ShaunSHamilton

Description

@ShaunSHamilton

Background
Working on features like #41147 and #39695 has pointed out an issue around the current meta related to challenges and certificates.

Meeting with Ahmad and Oliver:

  • Look into renaming superBlock (with -v7) -> certSlug (resolved in fix(dev): rename superBlock with v7 to certSlug #41738)
  • Scrape off unused .md files; look into using .json
  • Refactor using type schema for working in the components (resolved with TS)
  • Change challengeType into descriptive keys/values
  • Could be better to use ids for majority of logic
  • Look into linking a challenge to a certificateId

Problems

  • The above affects the routing, display names, and general logic checking:
    • Routes to certificates use the v7 naming
    • Visible superBlock text uses the dashed name
    • Checking whether or not a Camper can claim a certificate (and similar checks) is done through a mixture of meta.
  • Some challenges/sections have meta defined, others are missing them:
    • v7 superblocks are missing name property values.
    isSciCompPyCertV7: {
      id: '5e44431b903586ffb414c951',
      tests: [ [Object], [Object], [Object], [Object], [Object] ],
      name: undefined,
      challengeType: 7
    },
    
  • The title property either includes words like:
    • "Responsive Web Design"
    • "Responsive Web Design Projects"
    • "Responsive Web Design Certification"
  • Current state of superBlock in markdownRemark:
    This query:
allMarkdownRemark {
  nodes {
    frontmatter {
      superBlock
      title
    }
  }
}

Produces this:

{
  "frontmatter": {
    "superBlock": "machine-learning-with-python",
    "title": "Machine Learning with Python"
  }
},
{
  "frontmatter": {
    "superBlock": "APIs and Microservices",
    "title": "Introduction to the Managing Packages with npm Challenges"
  }
},

Once the Markdown meta is straightened out, the graph queries can be relied on for majority of block/challenge logic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: decayedStale issues that need follow up from commentators. Were closed for inactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions