In this Canvas Data release, the schema version has been updated to 4.1.0. Additionally, new tables with outcomes data have been added.
Added Tables |
Learning outcomes are measurable statements that express student knowledge or student skill. This table contains the dimensions for learning outcomes.
Name | Type | Description |
---|---|---|
id | bigint | Unique surrogate id for the learning outcome. |
canvas_id | bigint | Primary key to the learning_outcomes table in Canvas. |
account_id | bigint | Foreign key to the account associated with this outcome. |
course_id | bigint | Foreign key to the course associated with this outcome, if this outcome was created at the course level. |
short_description | Title of the outcome. | |
description | text | Description of the outcome. |
workflow_state | Workflow status of the learning outcome. Possible values are ‘active’ and ‘deleted’. Defaults to ‘active’. | |
created_at | timestamp | Time when the outcome was created. |
updated_at | timestamp | Time when the outcome was last updated. |
display_name | Optional friendly name for reporting. | |
calculation_method | text | The method used to calculate student score. Possible values are “decaying_average”, “highest”, “latest”, and “n_mastery”. |
calculation_int | int | Defines the variable used by the calculation_method. Included only if calculation_method uses it. |
Learning outcomes are measurable statements that express student knowledge or a student skill. This table contains measures for learning outcomes.
Name | Type | Description |
---|---|---|
learning_outcome_id | bigint | Foreign key to the learning outcome dimension. |
account_id | bigint | Foreign key to the account associated with this outcome, if this outcome was created at the account level. |
course_id | bigint | Foreign key to the course associated with this outcome, if this outcome was created at the course level. |
enrollment_term_id | bigint | Foreign key to the enrollment term of the course associated with this outcome, if this outcome was created at the course level. |
mastery_points | double | Minimum number of points required in order for the student to have achieved mastery. |
points_possible | double | Maximum number of points achievable for this outcome. |
Contains dimensions for the criterion of a given outcome.
Name | Type | Description |
---|---|---|
id | bigint | Unique surrogate id for the rubric criterion. |
learning_outcome_id | bigint | Foreign key to the learning outcome dimension. |
description | text | Description of the rubric criterion. |
Contains measures for the criterion of a given outcome.
Name | Type | Description |
---|---|---|
learning_outcome_rubric_criterion_id | bigint | Foreign key to the learning outcome rubric criterion dimension. |
learning_outcome_id | bigint | Foreign key to the learning outcome dimension. |
account_id | bigint | Foreign key to the account associated with the criterion’s outcome, if the outcome was created at the account level. |
course_id | bigint | Foreign key to the course associated with the criterion’s outcome, if the criterion was created at the course level. |
enrollment_term_id | bigint | Foreign key to the enrollment term of the course associated with this outcome, if this outcome was created at the course level. |
points | double precision | Points associated with the rubric criterion. |
Learning outcome groups organize outcomes hierarchically within a context, such as an account, course or the global context. This table contains dimensions for learning outcome groups.
Name | Type | Description |
---|---|---|
id | bigint | Unique surrogate id for the learning outcome group. |
canvas_id | bigint | Primary key for this record in the Canvas learning_outcome_groups table. |
account_id | bigint | Foreign key to the account associated with this outcome group, if this account group was created at the account level. |
course_id | bigint | Foreign key to the course associated with this outcome group, if this outcome group was created at the course level. |
title | Title of the learning outcome group. | |
parent_group_id | bigint | ID associated with the parent of this group. Refers to a learning_outcome_group record. |
root_group_id | bigint | ID associated with the root group in the group hierarchy. Refers to a learning_outcome_group record. |
workflow_state | Workflow status of the learning outcome. Possible values are ‘active’ and ‘deleted’. Defaults to ‘active’. | |
description | text | Description of the learning outcome group. |
created_at | timestamp | Time when the group was created. |
updated_at | timestamp | Time when the group was last updated. |
vendor_guid | A custom GUID for the learning standard. |
Learning outcome groups organize outcomes hierarchically within a context, such as an account, course or the global context. This table contains measures for learning outcome groups.
Name | Type | Description |
---|---|---|
learning_outcome_group_id | bigint | Foreign key to the learning outcome group dimension. |
account_id | bigint | Foreign key to the account associated with this outcome group, if this outcome group was created at the account level. |
course_id | bigint | Foreign key to the course associated with this outcome group, if this outcome group was created at the course level. |
enrollment_term_id | bigint | Foreign key to the enrollment term of the course associated with this outcome group, if this outcome group was created at the course level. |
parent_group_id | bigint | ID associated with the parent of this group. Refers to a learning_outcome_group record. |
root_group_id | bigint | ID associated with the root group in the group hierarchy. Refers to a learning_outcome_group record. |
An association table to represent the many-to-many relationship between learning outcomes and learning outcome groups.
Name | Type | Description |
---|---|---|
learning_outcome_id | bigint | Foreign key to the learning outcome dimension. |
learning_outcome_group_id | bigint | Foreign key to the learning outcome group dimension. |
account_id | bigint | Foreign key to the account associated with this outcome group, if this outcome group was created at the account level. |
course_id | bigint | Foreign key to the course associated with this outcome group, if this outcome group was created at the course level. |
enrollment_term_id | bigint | Foreign key to the enrollment term of the course associated with this outcome group, if this outcome group was created at the course level. |
Learning outcome results are a student’s mastery score on a given outcome. This table contains dimensions for learning outcome results.
Name | Type | Description |
---|---|---|
id | bigint | Unique surrogate key for the learning outcome result. |
canvas_id | bigint | Primary key for this record in the Canvas learning_outcome_results table. |
account_id | bigint | Foreign key to the account associated with this outcome result, if this outcome result was created at the account level. |
course_id | bigint | Foreign key to the course associated with this outcome result, if this outcome result was created at the course level. |
assignment_id | bigint | Foreign key to the assignment associated with this outcome result, if this result was associated with an assignment. |
quiz_id | bigint | Foreign key to the quiz associated with this outcome result, if this result was associated with a quiz. |
learning_outcome_id | bigint | Foreign key to the learning outcome this result is associated with. |
user_id | bigint | ID of the student who made the submission. Foreign key to the user dimension table. |
created_at | timestamp | Time when the result was created. |
updated_at | timestamp | Time when the result was last updated. |
assessed_at | timestamp | Time when the result was assessed. |
submitted_at | timestamp | Time when the submission was submitted. |
hide_points | boolean | Boolean indicating if outcome result points should be hidden in the Learning Mastery Gradebook and reports. If enabled, replace points with the description of the highest scoring outcome criterion rating. |
hidden | boolean | Boolean indicating if outcome result should be hidden from the Learning Mastery Gradebook and reports. |
Learning outcome results are a student’s mastery score on a given outcome. This table contains measures for learning outcome results.
Name | Type | Description |
---|---|---|
learning_outcome_result_id | bigint | Foreign key to the learning outcome result dimension. |
account_id | bigint | Foreign key to the account associated with this outcome result, if this outcome result was created at the account level. |
course_id | bigint | Foreign key to the course associated with this outcome result, if this outcome result was created at the course level. |
enrollment_term_id | bigint | Foreign key to the enrollment term of the course associated with this outcome group, if this outcome group was created at the course level. |
assignment_id | bigint | Foreign key to the assignment associated with this outcome result, if this result was associated with an assignment. |
quiz_id | bigint | Foreign key to the quiz associated with this outcome result, if this result was associated with a quiz. |
learning_outcome_id | bigint | Foreign key to the learning outcome this result is associated with. |
user_id | bigint | ID of the student who made the submission. Foreign key to the user dimension table. |
mastery | boolean | Boolean indicating whether user achieved mastery. |
score | double precision | The student's score. |
attempts | int | The total number of attempts, or submissions. |
possible | double precision | Total number of points possible. |
original_score | double precision | Score on the first attempt. |
original_possible | double precision | Possible points on the first attempt. |
original_mastery | boolean | Boolean indicating whether user achieved mastery. |
percent | double precision | Percent of maximum points possible for an outcome, scaled to reflect any custom mastery levels that differ from the learning outcome. |
Attributes for the results of answered questions which have been associated with a learning outcome.
Name | Type | Description |
---|---|---|
id | bigint | Unique surrogate key for the question result. |
learning_outcome_result_id | bigint | Foreign key to the learning outcome result. |
learning_outcome_id | bigint | Foreign key to the learning outcome this record is associated with. |
assessment_question_id | bigint | Foreign key to the assessment question this record is associated with (assessment_questions to be included in a future release). |
title | text | Title of the question result. |
created_at | timestamp | Time when question was created. |
updated_at | timestamp | Time when question was updated. |
assessed_at | timestamp | Time when answer was assessed. |
submitted_at | timestamp | Time when answer was submitted. |
Facts for the results of answered questions which have been associated with a learning outcome.
Name | Type | Description |
---|---|---|
learning_outcome_question_result_id | bigint | Foreign key to the learning outcome question result. |
learning_outcome_result_id | bigint | Foreign key to the learning outcome result. |
learning_outcome_id | bigint | Foreign key to the learning outcome this record is associated with. |
assessment_question_id | bigint | Foreign key to the assessment question this record is associated with (assessment_questions to be included in a future release). |
user_id | bigint | Foreign key to the user dim. Refers to the user associated with this result. |
account_id | bigint | Foreign key to the account associated with the outcome which this result belongs to, if the outcome was created at the account level. |
course_id | bigint | Foreign key to the course associated with the outcome which this result belongs to, if the outcome was created at the course level. |
enrollment_term_id | bigint | Foreign key to the enrollment term of the course associated with the outcome which this result belongs to, if the outcome was created at the course level. |
assignment_id | bigint | Foreign key to the assignment associated with the outcome result, if the result was associated with an assignment. |
quiz_id | bigint | Foreign key to the quiz associated with the outcome result, if the result was associated with a quiz. |
mastery | boolean | Boolean indicating whether user achieved mastery for this question. |
score | double precision | The student's score on the question. |
attempts | int | The total number of attempts, or submissions. |
possible | double precision | Total number of points possible. |
original_score | double precision | Score on the first attempt. |
original_possible | double precision | Possible points on the first attempt. |
original_mastery | boolean | Boolean indicating whether user achieved mastery. |
percent | double precision | Score's percent of maximum points possible for an outcome, scaled to reflect any custom mastery levels that differ from the learning outcome. |
Some feedback from our DBA that I thought I'd share with the community in case anyone is encountering a similar issue with updating their local postgresql database to the new schema...
The load was stuck for new table "learning_outcome_fact"; which didn't exist though I ran a generated create table script with it. Investigation of the script, and then the vendor supplied schema.json showed that columns "mastery_points" , "points_possible" were defined as type "double", which is NOT a valid postgresql datatype. Changing this to "double precision" (correctly defined for 61 other columns) allowed table creation and the table load to proceed.
Another FYI for folks that may be working on updating their databases for this change...
Our DBA grabbed a fresh dump today and found that schema.json was updated to 4.2.0 (from 4.1.0 yesterday). The "double" issue in "learning_outcome_fact" noted in my previous comment still exists. But more importantly, a diff between the new schema.json and yesterday's show that the following table definitions have disappeared.
"catalog_dim", "catalog_product_dim", "catalog_product_fact",
"catalog_enrollment_dim", "catalog_user_registration_dim",
"catalog_user_registration_custom_field_dim", "catalog_program_requirement_dim"
eallen can you help us understand why there is a new schema release and there is no notes/documentation here for it? Or did I miss a community discussion/post about this change? Thanks for any help you can provide.
Hi vanzandt,
Thanks for your questions! I checked with the team and Catalog table info was inadvertently added to the schema, and then rolled back, which is why you saw the version numbers update. However, Catalog data is coming! When it is fully deployed to beta after the new year we will announce it with release notes as usual. Also, the team is aware of the "double" and "double precision" issue and are working on a resolution.
Thanks!
Emily
Some content in these release notes contradicts other documentation. Namely, whether Outcomes are or are not included in Canvas Data.
See https://community.canvaslms.com/docs/DOC-8513#jive_content_id_What_data_is_currently_not_in_Canvas_D...
Was it removed after being added, or was that other document not edited accordingly?
Thanks.
Hi tue58800@temple.edu,
Outcomes data is included in Canvas Data! The document you linked is out of date and I will get it updated shortly. Thank you for bringing it to our attention! The most current list of data available in Canvas Data can always be found in the Schema docs, which can be accessed in your Canvas Data portal.
Thanks,
Emily
Great, thank you!