cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Community Member

Is it possible to add an LTI SSO link in the left navigation area? Not the left course nav area.

ImageI've seen how to put a link on the left navigation area (not course nav) using JavaScript, but is there a way to use LTI and have a similar link?  What is the left nav area called?

10 Replies
Highlighted
Community Coach
Community Coach

bgibson@uncfsu.edu​, I'm not sure about the answer to your questions, but I'm going to share this with the following groups to see if they can help: Canvas Developers​ and User Group: New UI

Highlighted
Community Member

Here is an LTI XML Config Builder​, part of Instructure's Edu Apps Center.

  • I found that the left nav area is called "global_navigation". 
  • Was able to create a SSO link in the Global Navigation menu with LTI, but initially, the "Canvas Commons" icon appeared above the link, even after entering "NO ICO".  Not sure if this will be correctable.  
  • My link was 13 characters long, which was too wide for the menu width. 
  • Also, the LTI app opened in the Canvas window.  I would prefer to have it open in a new window.  *This I think is more easily done with JavaScript. 
Highlighted

For those who also stumble upon this, a few additional tidbits that I've gleaned in the last few hours:

  • It looks like global_navigation is a placement only available to LTIs installed in the root account.
  • You can only see global_navigation placements on your live instance. (This makes testing things a little… hair-raising.)
  • global_navigation placements can also be created via the external_tools API (the parameters would be things like global_navigation[text] and global_navigation[url], etc.)
  • The potential properties of global_navigation that I have seen so far are url, visibility, display_type (I've only seen full_width as a parameter), icon_url (to an SVG file), icon_svg_path_64 (if your icon is simple enough to be described with a single path), canvas_icon_class (doesn't seem to do anything), text (the caption on the navigation bar), label (again, seems to have no impact), selection_width, selection_height, enabled
  • Seems like you can get the global_navigation placement with just that option (see below).
  • bgibson@uncfsu.edu, The latest beta release notes suggest that in course_navigation, you can now set the target for the launch -- perhaps this will also be coming to global_navigation as well?

Here's a minimal configuration XML file that works for me:

<?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_v1p0.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>Global Nav Test</blti:title>

  <blti:description>Testing to see if I can get a global_navigation placement to appear</blti:description>

  <blti:launch_url>https://skunkworks.stmarksschool.org</blti:launch_url>

<blti:extensions platform="canvas.instructure.com">

  <lticm:property name="tool_id">global-nav-test</lticm:property>

  <lticm:property name="privacy_level">anonymous</lticm:property>

  <lticm:property name="domain">https://skunkworks.stmarksschool.org</lticm:property>

  <lticm:options name="global_navigation">

  <lticm:property name="visibility">admins</lticm:property>

  <lticm:property name="icon_url">https://skunkworks.stmarksschool.org/resources.svg</lticm:property>

  </lticm:options>

</blti:extensions>

<cartridge_bundle identifierref="BLTI001_Bundle"/>

<cartridge_icon identifierref="BLTI001_Icon"/>

</cartridge_basiclti_link>

Highlighted

Thank you Seth for putting this together! I tried a bunch of different properties using global_navigation and couldn't get it to work. I even tried to just copy and paste your XML and I don't see anything on the global nav. I felt like I'm probably missing something painfully obvious...

Highlighted

I'll try putting something for "icon_url" and see if that replaces the "Canvas Commons" logo that originally appeared.  Thanks.

Highlighted
Instructure
Instructure

I thought I should chime in here on this subject. The global navigation LTI extension is not supported at this time for any third party tools. It was only developed to place the link for Instructure tools in that location like Commons. We've even run into some issues with this placement as we are working on other tools/offerings. Currently, there's no guarantee on what contextual data if any will be passed from this location needed for LTI launches. There has been discussions internally to figure out a way to responsibly open up this extension, but there hasn't been any work completed to date.

At this point, I can't discourage you to keep investigating since our code base is open source and there may be something which will work, but thought it might be helpful to bring some background information into this conversation. The fact there is interest within this thread demonstrates this could be a useful placement for both schools and vendors. I'll work on relaying this information internally as we consider work around future UI development.

Highlighted

karl@instructure.com​, another layer of conversation that I hope is happening within Canvas is about what is and is not internally an appropriate candidate for the global navigation placement. I've found that adding Commons, beta testing Arc and having our own hacked Resources menu​… creates too much stuff in global navigation, especially on laptop screens.

I diverted the Arc global navigation placement to user navigation, where I think it fits more logically (although I think there's an even better option: ​), but it's not clear to me that adding things to global navigation that aren't truly global navigation is a good idea. (SSO sign in does seem global to me, like our resources menu -- and I'll probably pursue my notes above eventually to implement something to keep our javascript menu from "bouncing" in.)

Highlighted

jyan@digication.com​, hmm. I know karl@instructure.com​ notes that they've found it a little… kludgy. I found it pretty straight-forward. I've got some free time tomorrow. I'll see if I can slap together a screencast of exactly what I'm seeing.

Highlighted

Huh. I just tried this again on my test instance. I set up an LTI in my root account (I think that's key -- can't be a sub-account, I'm guessing: they probably don't poll every account in which a user is active for global_navigation).

This is exactly the XML I posted above (broken link to an icon and all). It seems to work whether or not you give it a key and secret (makes sense, since there's nothing on the tool provider end checking them):

Screen Shot 2016-09-22 at 9.05.42 PM.png

And then, bingo bango, it seems to work (well, the icon is, of course, broken):

Screen Shot 2016-09-22 at 9.05.58 PM.png

Labels