Skip to content

Commit

Permalink
Align canvas 1.1 and 1.3 config custom variables
Browse files Browse the repository at this point in the history
Use a common list of variables in both config files
  • Loading branch information
marcospri committed Feb 20, 2025
1 parent aae3952 commit 2c8f9e5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 29 deletions.
16 changes: 3 additions & 13 deletions lms/templates/config.xml.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,9 @@ http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd">
<blti:title>Hypothesis</blti:title>
<blti:launch_url>{{ launch_url }}</blti:launch_url>
<blti:custom>
<lticm:property name="custom_canvas_course_id">$Canvas.course.id</lticm:property>
<lticm:property name="custom_canvas_api_domain">$Canvas.api.domain</lticm:property>
<lticm:property name="custom_display_name">$Person.name.display</lticm:property>
<lticm:property name="custom_canvas_user_id">$Canvas.user.id</lticm:property>
<lticm:property name="custom_context_id_history">$Context.id.history</lticm:property>
<lticm:property name="custom_course_starts">$Canvas.course.startAt</lticm:property>
<lticm:property name="custom_course_ends">$Canvas.course.endAt</lticm:property>
<lticm:property name="custom_term_name">$Canvas.term.name</lticm:property>
<lticm:property name="custom_term_start">$Canvas.term.startAt</lticm:property>
<lticm:property name="custom_term_end">$Canvas.term.endAt</lticm:property>
<lticm:property name="custom_assignment_id">$Canvas.assignment.id</lticm:property>
<lticm:property name="custom_allowed_attempts">$Canvas.assignment.allowedAttempts</lticm:property>
<lticm:property name="custom_submitted_attempts">$Canvas.assignment.submission.studentAttempts</lticm:property>
{% for name, value in custom_variables %}
<lticm:property name="{{ name }}">{{ value }}</lticm:property>
{% endfor %}
</blti:custom>
<blti:extensions platform="canvas.instructure.com">
<lticm:options name="link_selection">
Expand Down
35 changes: 19 additions & 16 deletions lms/views/canvas/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,23 @@

from pyramid.view import view_config

CUSTOM_VARIABLES = [
("custom_canvas_course_id", "$Canvas.course.id"),
("custom_canvas_api_domain", "$Canvas.api.domain"),
("custom_canvas_user_id", "$Canvas.user.id"),
("custom_display_name", "$Person.name.display"),
("custom_context_id_history", "$Context.id.history"),
("custom_course_starts", "$Canvas.course.startAt"),
("custom_course_ends", "$Canvas.course.endAt"),
("custom_term_id", "$Canvas.term.id"),
("custom_term_name", "$Canvas.term.name"),
("custom_term_start", "$Canvas.term.startAt"),
("custom_term_end", "$Canvas.term.endAt"),
("custom_assignment_id", "$Canvas.assignment.id"),
("custom_allowed_attempts", "$Canvas.assignment.allowedAttempts"),
("custom_submitted_attempts", "$Canvas.assignment.submission.studentAttempts"),
]


@view_config(
route_name="canvas.v11.config",
Expand All @@ -24,6 +41,7 @@ def config_xml(request):
return {
"launch_url": request.route_url("lti_launches"),
"content_item_url": request.route_url("content_item_selection"),
"custom_variables": CUSTOM_VARIABLES,
}


Expand Down Expand Up @@ -76,22 +94,7 @@ def config_json(request):
}
],
"public_jwk_url": request.route_url("lti.jwks"),
"custom_fields": {
"custom_canvas_course_id": "$Canvas.course.id",
"custom_canvas_api_domain": "$Canvas.api.domain",
"custom_canvas_user_id": "$Canvas.user.id",
"custom_display_name": "$Person.name.display",
"custom_context_id_history": "$Context.id.history",
"custom_course_starts": "$Canvas.course.startAt",
"custom_course_ends": "$Canvas.course.endAt",
"custom_term_id": "$Canvas.term.id",
"custom_term_name": "$Canvas.term.name",
"custom_term_start": "$Canvas.term.startAt",
"custom_term_end": "$Canvas.term.endAt",
"custom_assignment_id": "$Canvas.assignment.id",
"custom_allowed_attempts": "$Canvas.assignment.allowedAttempts",
"custom_submitted_attempts": "$Canvas.assignment.submission.studentAttempts",
},
"custom_fields": dict(CUSTOM_VARIABLES),
"scopes": [
"https://purl.imsglobal.org/spec/lti-ags/scope/score",
"https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly",
Expand Down

0 comments on commit 2c8f9e5

Please sign in to comment.