Custom LTI Placements

Jump to solution
John_Lowe
Community Champion

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.

232322_ScreenClip.png

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>

1 Solution
James
Community Champion

 @John_Lowe ,

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.

View solution in original post