Activity Feed
- Got a Kudo for Re: how can I get started with Caliper?. 09-23-2021 09:03 AM
- Posted Re: Not able to select assignment from external tool on Canvas Developers Group. 08-18-2021 07:40 AM
- Posted Re: Rate limiting on grade passback on Canvas Developers Group. 08-18-2021 07:34 AM
- Got a Kudo for Re: how can I get started with Caliper?. 03-23-2021 09:40 AM
- Got a Kudo for Re: how can I get started with Caliper?. 08-06-2020 02:02 AM
- Got a Kudo for Re: Identifying the origin of a LTI launch. 08-06-2020 02:00 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 08-06-2020 01:59 AM
- Got a Kudo for Re: Create LTI Submission with API. 08-06-2020 01:59 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 08-06-2020 01:59 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 08-06-2020 01:59 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 08-06-2020 01:59 AM
- Got a Kudo for Re: Create LTI Submission with API. 08-06-2020 01:59 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 08-06-2020 01:59 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 08-06-2020 01:59 AM
- Got a Kudo for Re: how can I get started with Caliper?. 05-27-2020 11:32 AM
- Got a Kudo for Re: how can I get started with Caliper?. 03-03-2020 04:13 AM
- Kudoed Re: LTI 1.3 & LTI Advantage Documentation for Renee_Carney. 11-19-2019 02:22 PM
- Kudoed LTI 1.3 & LTI Advantage Documentation for tcs1. 11-19-2019 02:21 PM
- Got a Kudo for Deep linking LTI External Tool. 09-28-2019 04:09 AM
- Got a Kudo for Re: Deep linking LTI External Tool. 09-28-2019 04:07 AM
My Posts
Post Details | Date Published | Views | Kudos |
---|---|---|---|
Deep linking LTI External Tool So my tool creates bits of user generated content, and it is very handy to be able to provide a url that links directly to one of those pieces of content. However I can't passes any arguments t... |
07-15-2016 |
8856 |
9 |
Create LTI Submission with API So I have an LTI tool, and I want to be able to send back assignment submissions that have an LTI launch that will bring the speedgrader directly into the submission. Looking at the api docs it... |
07-15-2016 |
3137 |
5 |
08-18-2021
07:40 AM
In order to complete the workflow, the tool will need to send a POST back with the data that describes the link. Details can be found on how to post the data back on in the documentation Note that the rules are different for LTI 1.1 and 1.3 tools in the structure of the data that is sent back, but the underlying information is the same.
... View more
08-18-2021
07:34 AM
Adding to what James wrote, all of the details for the rate limiter can be found in the API documentation. There is a header called 'X-Rate-Limit-Remaining' that you can pay attention to and it will let you know if you are going faster than you should. As the limit remaining approaches zero you should slow your requests.
... View more
09-23-2019
10:21 AM
6 Kudos
The use is that all of your tools (canvas and all the LTIs) can emit behavioral data into a common store, so you can have a more complete behavioral profile to analyze. Assume that you have Canvas and an LTI tool blended into a course, you can use canvas data to analyze the behavior of the user up until they launch the LTI tool, then that tool becomes a blackbox, then at some point in the canvas data the user will re-emerge. Using caliper, both canvas AND the LTI tool can emit behavioral data, so you will be able to view it as a continuous stream regardless of which vendors system the behavior is actually taking place in.
... View more
07-27-2017
05:34 AM
3 Kudos
When the LTI Launch it triggered it doesn't give any indication of which launch placement originated the launch request. However when you are specifying the LTI XML Configuration you *can* give each placement its own launch URL. Take a look at the XML Config Builder and see where you can add the optional URLs for each of the placement extensions.
... View more
07-27-2016
11:09 AM
I agree it would, but if it did .. I wouldn't have had to ask the community for work arounds.. also it's not that complicated, and doesn't require ruby .. it's 10 lines of java code .. probably 6 in php.
... View more
07-27-2016
10:38 AM
1 Kudo
Security isn't bad, b/c the link reflector doesn't do anything, and when it comes back the user is already full authenticated .. plus I am assuming that your backend application enforces the roles in accordance with the launch params. You don't use the referrer information (that would be bad), you can either hard code it on the back end because the reflector lti endpoint url is stable across all courses/placements and doesn't change. Or you can look it up using the canvas rest API External Tools - Canvas LMS REST API Documentation Also to be clear, put it in a cookie, or stuff it in a session .. 6of1halfdozentheother. It should be known that this is how a ton of sites funnel you through their login screen .. including .. canvas
... View more
07-27-2016
10:16 AM
1 Kudo
Nope, it does not you to modify the code, and I have tested it with hosted it works just fine, you are just installing a different LTI app into the site that is hidden and serves as a redirector, similar to an openid auth flow.
... View more
07-27-2016
09:51 AM
3 Kudos
OK so the answer that is working is to use the LTI Homework Submission Tools but to make one change instead of passing in a <url></url> pass in an <ltiLaunchUrl> tag instead this appears to be a new feature that was committed to the repo in late June '16. Here are the commits https://github.com/instructure/canvas-lms/commit/8ed5e1d0f5b5a515d82a371dc8269ff82324ffcb https://github.com/instructure/canvas-lms/commit/e7229f0fc8a2e986e82e06c734274d8157d92b75 This is an example of the IMSPOXRequest that is being sent back to canvas. <?xml version="1.0" encoding="UTF-8"?> <imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>999999123</imsx_messageIdentifier> </imsx_POXRequestHeaderInfo> </imsx_POXHeader> <imsx_POXBody> <replaceResultRequest> <resultRecord> <sourcedGUID> <sourcedId>#{@lis_result_sourcedid}</sourcedId> </sourcedGUID> <result> <resultData> <ltiLaunchUrl>https://your.launch.url</ltiLaunchUrl> </resultData> </result> </resultRecord> </replaceResultRequest> </imsx_POXBody> </imsx_POXEnvelopeRequest>
... View more
07-27-2016
09:37 AM
3 Kudos
Here is the workaround that I ultimately settled upon .. and it is working well. I created a page inside my application that acts as a redirector (lets call it deeplink); the code flow works like this /deeplink?redirect=/path/to/deep/content the page body for deeplink takes the redirect param and puts it in a cookie and redirects to an LTI app installed inside canvas. i.e. forward to: https://canvas/courses/14/external_tools/25 Then that external tool forces an LTI Launch on my application /deeplink now the page body checks and sees the existence of a redirect cookie and redirects the user to the appropriate page.
... View more
07-23-2016
04:10 PM
3 Kudos
I am not trying to supply and outcome, I am trying to supply a 'submission' back (see Submissions - Canvas LMS REST API Documentation ) so that an instructor can manually grade the assignment via the speed grader. At present it would seem like the post call with type=basic_lti_launch is not working.
... View more
07-18-2016
08:44 AM
3 Kudos
Again, I fully understand that, but you are missing my key point. Imagine a scenario where a student uses an LTI tool to author a piece of content, and then wants to send a link to that content to another student/teacher etc.. the most natural way to do this would be via a link. However you cannot generate a link to a backend lti tool, because you won't be passing thru the canvas SSO process and the backend LTI tool will have no context as to who you are. This is why I am asking if there is a way to generate links that passes parameters thru the canvas side of the link [thus making them stable, and able to be sent to people who might not have an active sign-in cookie] to the backend lti application.
... View more
07-18-2016
07:29 AM
2 Kudos
I understand that I *shouldn't* be appending to the canvas generated url, however that is the very effect that I am trying to achieve, and modifying the launch configs is not an option (I would have to generate 10000s of launch configs for each course). There ought to be a way to create a deep link to content contained inside a LTI application where you can create a specific reference to it in a canvas wiki page, or in a discussion in such a way that when I click on the wiki link it 1) Launches the LTI application 2) Passes some addtl deep link parameter into the lti application so the app can forward you to a specific piece of content.
... View more
07-18-2016
07:12 AM
2 Kudos
Thanks for the reply, unfortunately I need to use something similar to #2 where I can create the urls more dynamically, however I need to be able to pass a launch url that I can trigger from outside canvas, so that it will pass thru the canvas SSO flow. The problem is I when I append params onto the courses/{id}/external_tools/{id}?myparam=test and canvas converts that url into an LTI launch with post params, it does not append the additional GET params into the launch post.
... View more
07-15-2016
12:57 PM
9 Kudos
So my tool creates bits of user generated content, and it is very handy to be able to provide a url that links directly to one of those pieces of content. However I can't passes any arguments to the external tool definition that canvas uses to perform the basic lti launch I want to be able to do something like this https://canvas/courses/14/external_tools/25?link=/deep/content/link => https://my.tool.url/lti?link=/deep/content/link I understand that canvas does not currently repackage GET params, from the launch link back into the basic_lti_launch, however I am looking for a solution that can achieve this same effect. Is there any other way to accomplish this, where I can pass arbitrary url parameters thru to the external tool launch? Clarification: This needs to be a solution that doesn't require any admin rights, i.e. a student can generate the url for sharing etc..
... View more
Labels
- Labels:
-
LTI
07-15-2016
07:53 AM
5 Kudos
So I have an LTI tool, and I want to be able to send back assignment submissions that have an LTI launch that will bring the speedgrader directly into the submission. Looking at the api docs it would seem that this is possible because it accepts a submission_type of basic_lti_launch curl https://<canvas_url>/api/v1/sections/27/assignments/253/submissions -F 'submission[submission_type]=basic_lti_launch' -F 'submission[url]=http://localhost:8080/ltilaunch/info' -H 'Authorization: Bearer GFn...ZXLo' However when I call that it responds with: {"status":"unauthorized","errors":[{"message":"user not authorized to perform that action"}]} I know that I have access to submit an assignment using my auth token because if I change the assignment to accept a url submission and then alter my curl to be type=online_url it accepts it. Is there a trick or something that I am missing in the doc about sending a basic_lti_launch as an assignment submission?
... View more