Runestone Server
v6.1.10
  • Manual Installation
  • LTI Integration
  • Docker supporting files
  • rsmanage - command-line tools for managing the Runestone server
  • Web2py models
    • db.py - Core tables and functions
    • db_ebook.py - Runestone eBook Tables
    • grouped_assignments.py - assignment-related tables
      • question_grades
  • Web2py controllers
  • Web2py views
  • __init__.py - web2py modules
  • __init__.py - testing
  • LTI Integration
  • Contributing to Runestone Server
  • Runestone ChangeLog
  • Misc scripts
  • conf.py - Template configuration file for a Sphinx CodeChat project
  • pyproject.toml - Poetry configuration
Runestone Server
  • Docs »
  • Web2py models »
  • grouped_assignments.py - assignment-related tables
  • Edit on GitHub

grouped_assignments.py - assignment-related tables¶

 
db.define_table(
    "assignments",
    Field("course", db.courses),
    Field("name", "string"),
    Field(
        "points", "integer", default=0, notnull=True
    ),  # max possible points on the assignment, cached sum of assignment_question points
    Field(
        "threshold_pct", "float"
    ),  # threshold required to qualify for maximum points on the assignment; null means use actual points
    Field("released", "boolean", default=False),
    Field(
        "allow_self_autograde", "boolean"
    ),  # if True, when student clicks to autograde assignment, it calculates totals; otherwise it only scores individual questions but doesn't calculate score for the assignment
    Field("description", "text"),
    Field("duedate", "datetime"),
    Field("enforce_due", "boolean"),
    Field("visible", "boolean", default=False),
    Field("is_timed", "boolean", default=False),
    Field("is_peer", "boolean", default=False),
    Field("current_index", "integer", default=0),
    Field("time_limit", "integer"),
    Field("from_source", "boolean", default=False),
    Field("nofeedback", "boolean"),
    Field("nopause", "boolean"),
    Field("peer_async_visible", "boolean", default=False),
    format="%(name)s",
    migrate=bookserver_owned("assignments"),
)


db.define_table(
    "grades",

This table records grades on whole assignments, not individual questions

    Field("auth_user", db.auth_user),
    Field("assignment", db.assignments),
    Field("score", "double"),
    Field("manual_total", "boolean", default=False),

guid for the student x assignment cell in the external gradebook

Guessing that the lis_outcome_url length is actually inteded for this field, use that as its maximum length.

    Field("lis_result_sourcedid", "string", length=1024),

web service endpoint where you send signed xml messages to insert into gradebook; guid above will be one parameter you send in that xml; the actual grade and comment will be others

Per the LTI spec v1.1.1 in section 6, the maximum length of the lis_outcome_url field is 1023 characters.

    Field("lis_outcome_url", "string", length=1024),
    Field("is_submit", "string"),
    migrate=bookserver_owned("grades"),
)

db.define_table(
    "practice_grades",
    Field("auth_user", db.auth_user),
    Field("course_name", "string"),
    Field("score", "double"),
    Field("lis_result_sourcedid", "string"),

guid for the student x assignment cell in the external gradebook

    Field("lis_outcome_url", "string"),

web service endpoint where you send signed xml messages to insert into gradebook; guid above will be one parameter you send in that xml; the actual grade and comment will be others

    migrate=table_migrate_prefix + "practice_grades.table",
)
 
 

question_grades¶

db.define_table(
    "question_grades",

This table records grades on individual gradeable items

    Field("sid", type="string", notnull=True),
    Field("course_name", type="string", notnull=True),
    Field("div_id", type="string", notnull=True),

The ID of a record in the answer table (mchoice_answers, fitb_answers, etc.) that was graded.

    Field("answer_id", type="integer"),
    Field("deadline", "datetime"),
    Field("score", type="double"),
    Field("comment", type="text"),
    migrate=bookserver_owned("question_grades"),
)
Next Previous

© Copyright 2020, Runestone Academy Ltd Revision a5f5fd96.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: v6.1.10
Versions
latest
stable
v6.1.10
v6.1.9
v6.1.8
v6.1.7
v6.1.6
v6.1.5
v6.1.4
v6.1.3
v6.1.2
v6.1.0
v6.0.6
6.0.6
6.0.5
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.