The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Has anyone been successful in getting some of the more unique LTI placements like "course_home_sub_navigation" or "course_settings_sub_navigation" working properly? There are some tools that I've love to have integrated into the right-hand side menu in Canvas courses instead of in the main course menu. I've done a sample LTI config (below) that indicates that all the possible placements are enabled when I check the placements in the app settings, but just can't get some of them to actually show up in the GUI.
If you have been successful, would you mind sharing your XML?
What I'm using for testing is below which works great for all the normal menu placements, but not for the other sidebar placements.
<?xml version="1.0" encoding="UTF-8"?><cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0" xmlns:blti="http://www.imsglobal.org/xsd/imsbasiclti_v1p0" xmlns:lticm="http://www.imsglobal.org/xsd/imslticm_v1p0" xmlns:lticp="http://www.imsglobal.org/xsd/imslticp_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imslticc_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0p1.xsd http://www.imsglobal.org/xsd/imslticm_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd http://www.imsglobal.org/xsd/imslticp_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd">
<blti:title>Example Tool Provider</blti:title>
<blti:description>This is a Sample Tool Provider.</blti:description>
<blti:launch_url>http://lti-tool-provider-example.herokuapp.com/messages/blti</blti:launch_url>
<blti:extensions platform="canvas.instructure.com">
<lticm:options name="account_navigation">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?account_navigation</lticm:property>
<lticm:property name="text">account_navigation Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
<lticm:options name="labels">
<lticm:property name="en">Account Navigation Label</lticm:property>
<lticm:property name="es">Biblioteca de Imágenes</lticm:property>
</lticm:options>
</lticm:options>
<lticm:options name="assignment_menu">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?assignment_menu</lticm:property>
<lticm:property name="message_type">ContentItemSelection</lticm:property>
<lticm:property name="text">assignment_menu Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="assignment_selection">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?assignment_selection</lticm:property>
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
<lticm:property name="text">assignment_selection Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="course_home_sub_navigation">
<lticm:property name="canvas_icon_class">icon-commons</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?course_home_sub_navigation</lticm:property>
<lticm:property name="text">course_home_sub_navigation Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
</lticm:options>
<lticm:options name="course_navigation">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?course_navigation</lticm:property>
<lticm:property name="text">course_navigation Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
<lticm:options name="labels">
<lticm:property name="en">Course Navigation Label</lticm:property>
<lticm:property name="es">Biblioteca de Imágenes</lticm:property>
</lticm:options>
</lticm:options>
<lticm:options name="course_settings_sub_navigation">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?course_settings_sub_navigation</lticm:property>
<lticm:property name="text">course_settings_sub_navigation Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
</lticm:options>
<lticm:options name="discussion_topic_menu">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?discussion_topic_menu</lticm:property>
<lticm:property name="message_type">ContentItemSelection</lticm:property>
<lticm:property name="text">discussion_topic_menu Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="editor_button">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?editor_button</lticm:property>
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
<lticm:property name="text">editor_button Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="file_menu">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?file_menu</lticm:property>
<lticm:property name="message_type">ContentItemSelection</lticm:property>
<lticm:property name="text">file_menu Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="global_navigation">
<lticm:property name="canvas_icon_class">icon-analytics</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?global_navigation</lticm:property>
<lticm:property name="text">LTI Analytics</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
</lticm:options>
<lticm:options name="homework_submission">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?homework_submission</lticm:property>
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
<lticm:property name="text">homework_submission Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png</lticm:property>
<lticm:options name="link_selection">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?link_selection</lticm:property>
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
<lticm:property name="text">link_selection Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="migration_selection">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?migration_selection</lticm:property>
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
<lticm:property name="text">migration_selection Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:options name="module_menu">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?module_menu</lticm:property>
<lticm:property name="message_type">ContentItemSelection</lticm:property>
<lticm:property name="text">module_menu Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:property name="privacy_level">public</lticm:property>
<lticm:options name="quiz_menu">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?quiz_menu</lticm:property>
<lticm:property name="message_type">ContentItemSelection</lticm:property>
<lticm:property name="text">quiz_menu Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
<lticm:property name="selection_height">500</lticm:property>
<lticm:property name="selection_width">500</lticm:property>
<lticm:property name="text">Extension text</lticm:property>
<lticm:options name="tool_configuration">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?tool_configuration</lticm:property>
<lticm:property name="text">tool_configuration Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
</lticm:options>
<lticm:options name="user_navigation">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?user_navigation</lticm:property>
<lticm:property name="text">user_navigation Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/blti</lticm:property>
<lticm:options name="labels">
<lticm:property name="en">User Navigation Label</lticm:property>
<lticm:property name="es">Biblioteca de Imágenes</lticm:property>
</lticm:options>
</lticm:options>
<lticm:options name="wiki_page_menu">
<lticm:property name="canvas_icon_class">icon-lti</lticm:property>
<lticm:property name="icon_url">http://lti-tool-provider-example.herokuapp.com/selector.png?wiki_page_menu</lticm:property>
<lticm:property name="message_type">ContentItemSelection</lticm:property>
<lticm:property name="text">wiki_page_menu Text</lticm:property>
<lticm:property name="url">http://lti-tool-provider-example.herokuapp.com/messages/content-item</lticm:property>
</lticm:options>
</blti:extensions>
</cartridge_basiclti_link>
Solved! Go to Solution.
I'm not sure if this is the same issue, but see the blue notes at the top of How do I access the Canvas test environment as an admin?
One of the items there says:
LTI tools (External Apps) are typically not available in the outside the production environment. LTI tools may display in the test environment, but often they are only configured for the production environment. Using production-configured LTI tools in the beta environment will affect live data. If you have permission to edit LTI tools, you can confirm the configuration for a specific LTI tool in your course or account. Please contact your Customer Success Manager for specific questions.
Erin Hallmark has also made a couple of announcements in feature requests regarding LTI and them really only working in production.
I haven't ever had issues setting those up. I even took your XML and threw it in my sandbox and it works.
If you direct message me a link to where you are testing this, I can check it out.
Jesse Poulos
Partner Integrations Specialist
Instructure
Deactivated user It appears to be a problem only on our baylor.test environment. The course specific links work ok when installed at the course level in our production environment. I installed it only at the course level in production of course and not at the root level there.
Is there a limitation on the test environment like this?
John
I'm not sure if this is the same issue, but see the blue notes at the top of How do I access the Canvas test environment as an admin?
One of the items there says:
LTI tools (External Apps) are typically not available in the outside the production environment. LTI tools may display in the test environment, but often they are only configured for the production environment. Using production-configured LTI tools in the beta environment will affect live data. If you have permission to edit LTI tools, you can confirm the configuration for a specific LTI tool in your course or account. Please contact your Customer Success Manager for specific questions.
Erin Hallmark has also made a couple of announcements in feature requests regarding LTI and them really only working in production.
John --
I seems that all of the *_menu and sub_navigation placements only work in an instance where the 'LOR External Tools' feature option has been enabled in the root account. It looks like those placements were added for Commons, but you can add other tools using these placements as long as Commons is turned on. I'd really love to be able to use some of these placements without having to have Commons turned on -- I wonder if Instructure would be open to dropping that restriction.
--Colin
p.s. - if you're curious, you can see where these "LOR-specific" placements are defined in the code here: canvas-lms/context_external_tool.rb at b84306350d74f8f7da24b09cf051bebb84f6c644 · instructure/canvas...
I put the launch link in quiz_menu, and I was shocked that my LTI can't get any information about the current quiz.
We use environment variables for our LTI tools. Given that the 'LOR External Tools' feature option has been enabled in the root account, has anyone tried environment variables with the *_menu and sub_navigation placements?
Last week I added a tool in Settings > Subnavigation and Home > Subnavigation on production with environment variables. This morning (since the weekend refresh), I checked beta and the tools are pointing to the beta instance, so environment variables do seem to work so far even with the custom placements. The tools were added at the node level (we have a node where we can test such things), not the course level.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in