External tool: Couldn't find valid settings for this link

3,467 views
Skip to first unread message

stefan...@hemisphereinteractive.com

unread,
May 6, 2014, 9:01:55 PM5/6/14
to canvas-l...@googlegroups.com
I've been back and forth with this error for going on a few days now and cannot seem to find the solution to get rid of it. Google yields no answers even though the question has been asked a few times.

I've created an app that shares the capabilities of editor button, resource selection, course navigation, account navigation, user navigation, homework submission for testing purposes.

For ease of access testing I'm using a module with the external tool added. The external tool returns a url. When trying to open the item I'm constantly getting the specified error "Couldn't find valid settings for this link", this also happens for assignments. It seems no matter what I set this url to (even pointing to a blank page), I get the above error.

What settings is it talking about? since it's only trying to load a web page, there shouldn't be to much involved. Unfortunately I'm not familiar with Ruby and am building this tool with PHP, which makes debugging the core a bit difficult.

Here is the XML I'm creating the app with:
<?xml version="1.0" encoding="UTF-8"?>
<cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0"
    <blti:title>Canvas Media Selector</blti:title>
    <blti:description>Basic launch description</blti:description>
    <blti:icon>http://canvasmedia/icon.png</blti:icon>
    <blti:launch_url>http://canvasmedia/</blti:launch_url>
    <blti:extensions platform="canvas.instructure.com">
      <lticm:property name="tool_id">mediaselector</lticm:property>
      <lticm:property name="privacy_level">anonymous</lticm:property>
      <lticm:property name="domain">http://canvasmedia/</lticm:property>
      <lticm:options name="resource_selection">
        <lticm:property name="url">http://canvasmedia/media/view</lticm:property>
        <lticm:property name="icon_url">http://canvasmedia/icon.png</lticm:property>
        <lticm:property name="text">Media link selection</lticm:property>
        <lticm:property name="selection_width">600</lticm:property>
        <lticm:property name="selection_height">400</lticm:property>
        <lticm:property name="enabled">true</lticm:property>
      </lticm:options>
      <lticm:options name="homework_submission">
        <lticm:property name="url">http://canvasmedia/media/view</lticm:property>
        <lticm:property name="icon_url">http://canvasmedia/icon.png</lticm:property>
        <lticm:property name="text">Media home submission</lticm:property>
        <lticm:property name="selection_width">600</lticm:property>
        <lticm:property name="selection_height">400</lticm:property>
        <lticm:property name="enabled">true</lticm:property>
      </lticm:options>
    </blti:extensions>
    <cartridge_bundle identifierref="BLTI001_Bundle"/>
    <cartridge_icon identifierref="BLTI001_Icon"/>
</cartridge_basiclti_link>

What settings am I missed that seems to make this work?

Becky Kinney

unread,
May 6, 2014, 9:21:59 PM5/6/14
to canvas-l...@googlegroups.com
maybe you mean canvasmedia.com ?


Becky Kinney
Academic Technology Services


--

---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

stefan...@hemisphereinteractive.com

unread,
May 6, 2014, 9:23:33 PM5/6/14
to canvas-l...@googlegroups.com, stefan...@hemisphereinteractive.com
Hi Kimmy,

canvasmedia/ is a local virtual host.

stefan...@hemisphereinteractive.com

unread,
May 6, 2014, 9:24:14 PM5/6/14
to canvas-l...@googlegroups.com, stefan...@hemisphereinteractive.com
Also forgot to mention that canvas is running on my local environment.

stefan...@hemisphereinteractive.com

unread,
May 6, 2014, 10:27:04 PM5/6/14
to canvas-l...@googlegroups.com, stefan...@hemisphereinteractive.com
Getting weird behaviour from it, if the external tool returns the url "http://canvasmedia/"(canvasmedia/main/view") it loads just fine, anything else that extends of that, including the page it actually routes to (/main/view), I get the error...

stefan...@hemisphereinteractive.com

unread,
May 7, 2014, 11:03:48 PM5/7/14
to canvas-l...@googlegroups.com, stefan...@hemisphereinteractive.com
From what I can see it has something to do with tag.content_id being equal to 0.
Tested on work mates computers, one of them has it working using the same configuration, another has it throwing the same error. The one throwing the error also shows the tag.content_id = 0.

Will keep everyone updated.

Brad Humphrey

unread,
May 8, 2014, 7:20:42 PM5/8/14
to canvas-l...@googlegroups.com, stefan...@hemisphereinteractive.com
This is because canvas is looking up the external tool to use based on the launch url given in the module.  If you want to do a domain lookup rather then a link match, you should add the domain property to your tools configuration.  This can be done through the UI in canvas when adding or editing the tool, or through the provided XML config by adding <lticm:property name="domain">example.com</lticm:property> to the <blti:extensions platform="canvas.instructure.com"> block.


       


--

stefan...@hemisphereinteractive.com

unread,
May 8, 2014, 11:29:45 PM5/8/14
to canvas-l...@googlegroups.com, stefan...@hemisphereinteractive.com
So per Brads suggestion the fix was to remove http:// from the domain tag and only run it as domain.com...

It worked removing the domain tag all together but it was hit and miss because it still threw the error on assignments but no modules.

Hopefully this helps people googling in the future :D
Reply all
Reply to author
Forward
0 new messages