cancel
Showing results for 
Search instead for 
Did you mean: 

Canvas Data Release Notes (2017-02-23)

Canvas Data Release Notes (2017-02-23)

In this production release (February 23rd), we have updated the schema to version v1.15.0. Changes to the schema for this release include adding in a scores_dim/fact, grading_period_fact/dim, and grading_period_group _dim tables. The use of these tables deprecate the computed_current_score and computed_final_score fields within the enrollment_fact table.

As of the 2017-02-18 Canvas release, grades are no longer stored in the enrollment object in Canvas, but being moved to a new scores object. In response to that, we've updated Canvas Data to reflect the new scores tables.

Two things to note:

  1. Old scores (scores prior to 2017-02-18) continue to live in the enrollment_dim table, have not been overwritten, and won't be. Going forward customers will see no new data added to those columns.
  2. Old scores have not been re-computed and added to the scores tables in Canvas (and consequently in Canvas Data), so the data in these tables only reflect scores moving forward.

  Added Tables

  < BACK TO TABLE OF CONTENTS

Score Dim:

Column NameColumn TypeDescription
idBIGINTUnique surrogate identifier for the score
canvas_idBIGINTPrimary key for the score
enrollment_idBIGINTForeign key to the enrollment table
grading_period_idENUMForeign key to the Grading Period Group table
created_attimestampTimestamp when record was created
updated_attimestampTimestamp when record was last updated
workflow_stateTEXTWorkflow state for the score

Score Fact:

Column NameColumn TypeDescription
score_idBIGINTUnique surrogate identifier for the score
canvas_idBIGINTPrimary key for the score
account_idBIGINTForeign key to the Account_group table
course_idBIGINTForeign key to the Course group table
enrollment_idBIGINTForeign key to the Enrollment table
grading_period_idBIGINTForeign key to the Grading Period group table
grading_period_group_idBIGINTForeign key to the Grading Period group table
grading_period_group_account_idBIGINTOne hop ID to the Account table for the Grading Period Group table
current_scoredouble precisionCurrent score for a user
final_scoredouble precisionFinal Score for a user

Grading Period Fact:

Column NameColumn TypeDescription
grading_period_idBIGINTThe unique surrogate identifier for the  Grading Period.
canvas_idBIGINTThe primary key for the Grading Period.
grading_period_group_idBIGINTThe foreign key to the Grading Period Group table.
grading_period_group_account_idBIGINTOne hop ID to the Account table for the Grading Period Group
grading_period_group_course_idBIGINTOne hop ID to the Course table for the Grading Period Group
weightdouble_precisionA weight value that contributes to the overall weight of a Grading Period set which is used to calculate how much assignments in this period contribute to the total grade

Grading Period Dim:

Column NameColumn TypeDescription
idBIGINTThe unique surrogate identifier for the  Grading Period.
canvas_idBIGINTThe primary key for the Grading Period.
grading_period_group_idBIGINTAs surogate ID to the Grading Period Group table.
close_datetimestampGrades can only be changed before the close date of the Grading Period.
created_attimestampTimestamp when record was created
end_datetimestampThe end date of the Grading Period.
start_datetimestampThe start date of the Grading Period.
titlestringThe title for the Grading Period.
updated_attimestampTimestamp when record was last updated.
workflow_stateenumThe current workflow state.

Grading Period Group Dim:

Column NameColumn TypeDescription
idBIGINTThe unique surrogate identifier for the Grading Period groups
canvas_idBIGINTThe primary key for the Grading Period Groups
course_idBIGINTThe foreign key to the Course table.
account_idBIGINTThe foreign key to the Account table.
created_attimestampTimestamp when record was created.
titlestringThe title for the Grading Period Group.
updated_attimestampTimestamp when record was last updated.
workflow_stateenumThe workflow state for the Grading Period Group
Comments

The deprecation of the data fields in the enrollment_fact table has affected at least one of our applications rendering it useless until changes are made to refer to the new fields. This change was not communicated in advance; not a good practice. :smileyangry:

We expect that changes such as deprecation of data elements will be communicated with advance notice, with the implementation of the new data element co-existing with the soon-to-be retired elements so that testing and implementation can be made within a reasonable timeframe. 

Can you please continue to populate the data in the deprecated fields for a period of time to allow for the transition to the new fields?

Deactivated user‌ or erinhallmark‌ - 

Are you able to clarify how these new tables work? My understanding was that computed_current_score in [enrollment_fact] was a total score for that enrollment (i.e. overall score taking into account each graded assignment and its weight). However, the new tables make it look like there is record for each graded assignment - "You can think of a score as synonymous with a cell inside the gradebook" as the [score_dim] description says in the docs. That's awesome and what a lot of us are looking for (I think). I just want to clarify that computed_current/final_score will show up in the data as whatever is in the "Total" column in the gradebook, plus all the other assignments in the gradebook will be in the new tables as well.

Thanks!

Thank you Sydney. We were able to successfully modify our application to add the new scores tables and populate our database. For some reason, we are not seeing the grading tables, however.

Also, is there a list that we can be added to in order to get automatic notifications of changes?

Finally, I can confirm that the deprecated columns for the enrollment_fact table still exist in the flat file downloads. I'm guessing they were kept temporarily due to Daniels request above.

Version history
Revision #:
1 of 1
Last update:
‎02-22-2017 04:27 PM
Updated by: