We're an external tool provider and offer an LTI connection to log in to our app.
The problem is that our app in itself offers multiple modules the student can pick from.
All our modules are graded, but when there's only one Module in Canvas, all the grades will get posted back to this one module. Is there a way to solve this; get all grades in Canvas?
I don't think you can do it with just LTI unless you were to add each module in Canvas as a separate LTI launch.
You could do something kludgy and send back the total for all modules as the score and put the individual results into Canvas's resultData text extension. But it not really going to do what you want. Or, similarly, pass the total back and put an LTI launch into the resultData that would then show the results for each module.
If your tool was allowed to use the Canvas API, instead of being just LTI, then there are ways to do it.
Thanks for you answer. I was afraid so, LTI just isn't made up like this, it's single module oriented. I agree that working around it while using the same protocol is sub optimal.
pass the total back and put an LTI launch into the resultData that would then show the results for each module.
This is an interesting option though. Do you have an example of how that would look like in Canvas?
I'm also interested in your remark about being allowed to use the Canvas API. How would that work? When are we allowed? Is this a permission the Canvas user can give us, where we retrieve an API key?
I'm also asking this because I think it would be nice if some items are auto-created in Canvas, like when a teacher schedules a test in our system, he could let it auto-create an External based assignment in Canvas. Do you know if something like that is possible?
@max_canvas Welcome to the Canvas Community! I don't have an answer for you, but dropped by to let you know that I've shared your question with the Canvas Developers group to attract the attention of your fellow experts. Their responses will appear in this thread, so you don't have to join the group to see them—but if you'd like to join so that you can interact with the discussions there, you can easily do so by clicking on the link to the group and selecting Join Group from the Actions dropdown you'll see at the upper right of that page.
If you want to see how the Canvas resultData extensions show up in a course, we have a test tool that supports the Canvas extensions to the outcome service at: https://lti.netkno.nz/tp
You can use a consumer key / secret combination of: myschool.edu / letmein
Through the API (see Canvas LMS REST API Documentation) your tool could do things like the create an external assignment in Canvas. To use the API you need an access token that can either be manually generated or you have a developer key and you obtain the token via OAuth2 (see OAuth2 - Canvas LMS REST API Documentation).