Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for partMode explore #26

Open
jhoobergs opened this issue Jul 2, 2021 · 0 comments
Open

Add support for partMode explore #26

jhoobergs opened this issue Jul 2, 2021 · 0 comments
Projects

Comments

@jhoobergs
Copy link
Collaborator

jhoobergs commented Jul 2, 2021

  • See https://docs.numbas.org.uk/en/latest/question/explore.html#term-maximum-mark
  • Adds following fields to ExamQuestion: (with a flattened ExamQuestionExploreData)
    • partsMode ("all" vs "explore"
    • maxMarks (0 means -> just sum of limit of objectives, otherwise -> reduce to this amount if more points would be awarded based on scores and penalties)
    • objectives (list of { name, limit (string of number?) and mode (currently only sum?))
    • penalties: list
    • objectiveVisibility
    • penaltyVisibility
"partsMode": "explore",
"maxMarks": 0,
"objectives": [
  { "name": "How Numbas works", "limit": "8", "mode": "sum" },
  {
    "name": "Mathematical expressions",
    "limit": "16",
    "mode": "sum"
  },
  { "name": "Numbers", "limit": "8", "mode": "sum" }
],
"penalties": [],
"objectiveVisibility": "always",
"penaltyVisibility": "always",
  • Add nextParts, suggestGoingBack and exploreObjective to part:
"nextParts": [
  {
    "label": "How Numbas works",
    "rawLabel": "",
    "otherPart": 1,
    "variableReplacements": [],
    "availabilityCondition": "",
    "penalty": "",
    "penaltyAmount": 0,
    "lockAfterLeaving": false
  },
  {
    "label": "Mathematical expressions",
    "rawLabel": "",
    "otherPart": 10,
    "variableReplacements": [],
    "availabilityCondition": "",
    "penalty": "",
    "penaltyAmount": 0,
    "lockAfterLeaving": false
  },
  {
    "label": "Numbers",
    "rawLabel": "",
    "otherPart": 33,
    "variableReplacements": [],
    "availabilityCondition": "",
    "penalty": "",
    "penaltyAmount": 0,
    "lockAfterLeaving": false
  }
],
"suggestGoingBack": false,
"exploreObjective": null, // This is a string with the name of the objective
@jhoobergs jhoobergs added this to To do in Version 1 via automation Dec 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant