Skip to content

Question Info

Source: infoQuestion.json

Info files for questions.

Properties

  • uuid (string, required): Unique identifier (UUID v4). Must match pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$.
  • type (string, required): Type of the question. This should be set to "v3" for new questions. Must be one of: "Calculation", "MultipleChoice", "Checkbox", "File", "MultipleTrueFalse", or "v3".
  • title (string, required): The title of the question (e.g., 'Addition of vectors in Cartesian coordinates').
  • topic (string, required): The category of question (e.g., 'Vectors', 'Energy').
  • tags (array): Extra tags associated with the question (e.g., 'Exam Only', 'Broken'). Default: [].
    • Items (string): A tag associated with a question.
  • authors (array): Length must be at most 10. Default: [].
    • Items (object): An author (individual person, or staff of a course of origin) credited with creating a question. Cannot contain additional properties.
      • name (string): A human-readable name of a question author. Length must be between 3 and 255 (inclusive).
      • email (string): An email address to contact a question author. Length must be at most 255.
      • orcid (string): An ORCID identifier that uniquely identifies an individual question author. Must match pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9X]{4}$.
      • originCourse (string): The sharing name of a course whose staff is a question author.
  • clientFiles (array): The list of question files accessible by the client. Default: ["client.js", "question.html", "answer.html"].
    • Items (string): A single file accessible by the client.
  • clientTemplates (array): List of client-accessible templates to render server-side.
    • Items (string): A single template file accessible by the client.
  • template (string): The QID of a question that serves at the template for this question.
  • gradingMethod (string): The grading method used for this question. Must be one of: "Internal", "External", or "Manual". Default: "Internal".
  • singleVariant (boolean): Whether the question is not randomized and only generates a single variant. Default: false.
  • showCorrectAnswer (boolean): Whether to show the correct answer panel. Default: true.
  • partialCredit (boolean): Whether the question will give partial points for fractional scores (defaults to "false" for v2 questions and "true" for v3.).
  • options (object): Options that define how the question will work, specific to the individual question type.
  • externalGradingOptions (object): Options for externally graded questions. Cannot contain additional properties.
    • image (string, required): The Docker image that will be used to grade this question. Should be specified as Dockerhub image.
    • entrypoint: Program or command to run as the entrypoint to your grader. If not provided, the default entrypoint for the image will be used.
      • Any of
        • string
        • array
          • Items (string)
    • serverFilesCourse (array): The list of files or directories that will be copied from course/externalGradingFiles/ to /grade/shared/. Default: [].
      • Items (string): A single file or directory that will be copied to the external grader.
    • timeout (integer): The number of seconds after which the grading job will timeout.
    • enableNetworking (boolean): Whether the grading containers should have network access. Access is disabled by default. Default: false.
    • environment (object): Environment variables to set inside the grading container. Default: {}.
      • Additional properties (string)
  • dependencies (object): The question's client-side dependencies. Cannot contain additional properties. Default: {}.
    • nodeModulesStyles (array): The styles required by this question from /node_modules.
      • Items (string): A .css file located in /node_modules.
    • nodeModulesScripts (array): The scripts required by this question from /node_modules.
      • Items (string): A .js file located in /node_modules.
    • clientFilesCourseStyles (array): The styles required by this question from clientFilesCourse.
      • Items (string): A .css file located in clientFilesCourse.
    • clientFilesCourseScripts (array): The scripts required by this question from clientFilesCourse.
      • Items (string): A .js file located in clientFilesCourse.
    • clientFilesQuestionStyles (array): The styles required by this question from clientFilesQuestion.
      • Items (string): A .css file located in the clientFilesQuestion.
    • clientFilesQuestionScripts (array): The scripts required by this question from clientFilesQuestion.
      • Items (string): A .js file located in the clientFilesQuestion.
  • workspaceOptions (object): Options for workspace questions. Cannot contain additional properties.
    • image (string, required): The Docker image that will be used to serve this question. Should be specified as Dockerhub image.
    • port (integer, required): The port number used in the Docker image.
    • home (string, required): The home directory of the workspace container.
    • args: Command line arguments to pass to the Docker container.
      • Any of
        • string
        • array
          • Items (string)
    • rewriteUrl (boolean): If true, the URL will be rewritten such that the workspace container will see all requests as originating from /. Default: true.
    • gradedFiles (array): The list of files or directories that will be copied out of the workspace container when saving a submission. Default: [].
      • Items (string): A single file or directory that will be copied out of the workspace container when saving a submission.
    • enableNetworking (boolean): Whether the workspace should have network access. Access is disabled by default. Default: false.
    • environment (object): Environment variables to set inside the workspace container. Default: {}.
      • Additional properties (string)
  • sharingSets (array): The list of sharing sets that this question belongs to.
    • Items (string): The name of a sharing set.
  • sharePublicly (boolean): Whether this question is publicly shared. Default: false.
  • shareSourcePublicly (boolean): Whether this question's source code is publicly shared. Default: false.
  • preferences (object):
    • Additional properties (object): Cannot contain additional properties.
      • type (string, required): Must be one of: "string", "number", or "boolean".
      • default (string, number, or boolean, required)
      • enum (array)
        • Items (string or number)

Definitions

  • CommentJsonSchema: Arbitrary comment for reference purposes.
    • Any of
      • string
      • array
      • object: