cancel
Showing results for 
Search instead for 
Did you mean: 

Canvas Data Release Notes (2018-01-08)

Canvas Data Release Notes (2018-01-08)

In this production release of Canvas Data, we have bumped to schema version 1.18.0 and have added a new set of score tables. The new schema has been attached to this post to help accommodate change. This change version will go live in January 23rd's data dump. New tables have been added to the Canvas Data Schema to help clarify scores that belong to an assignment group, course, or grading period.

The score_fact and score_dim tables are also being deprecated in order to accommodate the new score tables for more accurate reporting.

  Added Tables

assignment_group_score_fact

Table containing measures for Assignment Group scores within Canvas grade book

NameTypeDescription
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.
assignment_group_iddouble precisionForeign key to the Assignment group table.
enrollment_idbigintForeign key to the Enrollment table.
current_scoredouble precisionCurrent score
final_scoredouble precisionFinal score

muted_current_score

double precisionCurrent Score that might not yet be public. Or is muted

muted_final_score

double precisionFinal score that might not yet be public. Or is muted

course_score_fact

Table containing measures for overall course scores within Canvas grade book

NameTypeDescription
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
current_scoredouble precisionCurrent score
final_scoredouble precisionFinal score
muted_current_scoredouble precisionCurrent Score that might not yet be public, or is muted
muted_final_scoredouble precisionFinal score that might not yet be public, or is muted

grading_period_score_fact

Table containing measures for Grading Period scores within Canvas grade book

NameTypeDescription
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
final_scoredouble precisionFinal score
muted_current_scoredouble precisionCurrent Score that might not yet be public, or is muted
muted_final_scoredouble precisionFinal score that might not yet be public, or is muted

assignment_group_score_dim

Attributes for Assignment Group scores. You can think of a score as synonymous with a cell inside the gradebook

NameTypeDescription
idbigintUnique surrogate identifier for the score
canvas_idbigintPrimary key for the score
assignment_group_idbigintForeign key to the assignment group table
enrollment_idbigintForeign key to the Enrollment table
created_attimestampTimestamp when record was created
updated_attimestamp

Timestamp when record was last updated

workflow_statevarcharworkflow state for the score. Possible values are 'active', 'deleted'

course_score_dim

Attributes for course scores. You can think of a score as synonymous with a cell inside the gradebook.

NameTypeDescription
idbigintUnique surrogate identifier for the  score
canvas_idbigintPrimary key for the score
enrollment_idbigintForeign key to the Enrollment table
created_attimestampTimestamp when record was created
updated_attimestampTimestamp when record was last updated
workflow_statevarcharworkflow state for the score.  Possible values are 'active', 'deleted'

grading_period_score_dim

Attributes for Grading Period scores. You can think of a score as synonymous with a cell inside the gradebook.

NameTypeDescription
idbigintUnique surrogate identifier for the  score
canvas_idbigintPrimary key for the score
enrollment_idbigintForeign key to the Enrollment table
grading_period_idbigintForeign key to the grading period group table
created_attimestampTimestamp when record was created
updated_attimestampTimestamp when record was last updated
workflow_statevarcharworkflow state for the score.  Possibe values are 'active', 'deleted'

  Changed Tables

Score_fact

This table is no longer populated in Canvas, and as such is no longer populating current data. This will be removed in a future version of Canvas Data, and all consumers should move off of this.

Score_dim

This table is no longer populated in Canvas, and as such is no longer populating current data. This will be removed in a future version of Canvas Data, and all consumers should move off of this.

Labels (1)
Attachments
Comments

Will course_score_fact contain 1 row per course_id & enrollment_id (one current score per person)?

amcdona@ufl.edu‌, you're correct in that it will have one row per course enrollment. A student in five courses will appear on the report five times.

Deactivated user,

This question was raised by ebenites@tecsup.edu.pe in another thread.

 

You have the assignment_group_score_fact.assignment_group_id field listed as "double precision", but the field that it links to is a "bigint". It is obviously a double precision in what you're exporting into Canvas Data, but I'm wondering if it should be exported as a bigint instead?

PostgreSQL documentation lists double precision as inexact with 15 digits precision, while bigint supports almost 19 digits.

Hi James,

Good catch and thank you for reporting this! I have submitted a bug ticket

to our engineering team to have this fixed as soon as they can.

On Wed, Jan 24, 2018 at 10:47 PM, james@richland.edu <instructure@jiveon.com

Hi Sydney, any estimated time on when this is going to be fixed?, I see the table schema in Redshift are set as double precision as well.

Hi Felipe,

I don't have an exact timeline right now. However, the issue has been assigned to an engineer to look into.

Giving only two weeks notification of table deprications is hard for those of us who have applications that are utilizing such tables.

Can you please provide more advance notification of impactful changes?

Hi Dan,

When deprecating the tables, we are not fully removing them from the data store, rather just stopping to update them. Are you referring to the challenge of updating your database, or reports using the dataset?

I would be open to a call if you would like to discuss this in more detail so I can gain a better understanding of the challenges on your end. Feel free to reach out to your CSM if you want to schedule some time with me.

Hello Sydney,

Thank you for the reply.

While it is good that the data fields are not being completely removed, it is still problematic for an application that depends on the data being current.  When we receive notification in relatively short notice, it means there will be a period of time when the application that is reliant of the deprecated tables/fields is functionally broken until modifications can be made to the code, it is tested, and is released.

We are working through our CSM and have various channels to the Canvas Data team; thanks for offering to schedule time.

Hi felipe.prieto@ilumno.com‌ and james@richland.edu‌,

This will be fixed in our next release that will go live on March 12th. 

Version history
Revision #:
1 of 1
Last update:
‎01-08-2018 10:02 AM
Updated by: