LTI configs when add external tool is switched off

LTI configs when add external tool is switched off

by Christine Cumming -
Number of replies: 24
We have turned off the ability for staff to create their own LTI integrations via External Tool but still would like to have the capability for staff to add preconfigured tools to their courses pages.

Does anyone have any experience of this? Or know if it is possible?

We have tested various ways, but seem unable to have the set up we require.

When we disallow allow course specific permissions then users are met with this error message:Add course specific tool configuration error message.

When we allow it then users still seem to have the ability to create external tool. They can create an instance okay, LTI 1.3 screenhowever when they save and edit it again then there is plus sign option and users can then add an external tool from here.

These are the configs we have currently set up:

admin screen configs


There seems to be a varied ability depending on which LTI we try and set up. Some work as expected (i.e staff can set them up on their courses) given the configs, but some do not.

We ideally would like staff to be able to add a course instance themselves from a preconfigured tool, with the ability to add custom parameters or use the Select Content option

Any advice appreciated.

Average of ratings: -
In reply to Christine Cumming

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Christine,

We've (Moodle HQ) have just spent the last little while picking apart the way tool permissions work because, as you're finding out out, it's really quite difficult to use in its current state. The way this works has been completely redone in 4.3, but of course that's probably not much help to you.

The way it's set up prior to 4.3 (as you're seeing it), is as follows. I'll try to break down how each capability works and what it might result in.

mod/lti:addmanualinstance:
If you disable mod/lti:addmanualinstance at a course-level (for a teacher role, say), then teachers lose the 'External tool' tile in the activity chooser. This has a few repercussions:
1) Teachers can no longer get to the External tool instance form to manually configure a tool instance (the most obvious outcome)
2) Teachers can no longer configure course tools because they can no longer get to the External tool instance form (because, for some silly reason that's where the controls to add/edit were put in the past)
3) This third one is more subtle and only applicable when you're editing an existing instance which was created via a preconfigured tool tile in the activity chooser: Teachers cannot control manual configuration of the tool, and this includes things like custom params (but won't impact content selection)

So, if you configure permissions this way, then the only way teachers can USE tools is if:
a) you've got site-level preconfigured tools and;
b) the site level preconfiguured tools are set up to show in the activity chooser (see "Tool configuration usage" in the tool's site admin settings).

And then they won't be able to set custom params on a per-instance level. This last one is also a feature that has been removed in 4.3 and now can only be controlled at the tool level.

So, if you just want teachers to be able to USE existing tools which are managed elsewhere by someone else, then this is an option. If the tool is set up with Content selection (tick the box), then they'll be able to use deep linking to pick something to launch into. They can't add any additional custom params though.

Of course, this can get messy because you have no control over which tools appear in the activity choosers of specific courses/categories. If you set a tool to show in the activity chooser, it'll show in the activity chooser on every course for every teacher. Some institutions don't want this.


mod/lti:addcoursetool:

Assuming you have mod/lti:addmanualinstance allowed, and teachers can get to the External tool instance form, then this addcoursetool capability just controls the ability for teachers to add/edit a course-level tool definition (using the + icon and friends, as you've seen). This way this is implemented is messy to say the least, and disabling (prohibiting) the capability for a teacher doesn't result in removal of the + control, it'll instead result in a capability error if/when they try to click it. So, the creation/editing is still prevented, just not in a particularly elegant way.

If you want teachers to be able to USE preconfigured tools via the drop down inside the External tool instance form, but not CREATE tool definitions, then you can prohibit this capability at course level. If you can overlook those add/edit controls being shown, then this will work. The important thing to note is that by allowing the Teacher mod/lti:addmanualinstance, they have the ability to control custom params at the instance level but also other things such as creating an entirely standalone tool configuration at instance level - So you'd need to weight that up too.


So, it really depends on how you want to approach this and how important those custom params are to you. The former option (disabling mod/lti:addmanualinstance) is perfect for tools that are entirely configured at site admin and don't require any instance-level tweaks. At that point you may as well prohibit the addcoursetool capability too, since there is no way to get to that view anyway. Downside: the activity chooser clutter.

If custom params are important, then you'd need to go down the latter path and prohibit the addcoursetool capability but leave the addmanualinstance, and you'd need to accept that teachers could potentially configure a (LTI 1.1 only) tool at instance level, without any approval. That's the trade off for being able to use the custom params at instance level I'm afraid.

So, hopefully that gives you something to go on. I'd also be interested to hear more about your use case for using custom params at the tool instance level, as that's something we've just removed in 4.3.

Let me know if I can further clarify any of the above.

Cheers,
Jake
Average of ratings: Useful (2)
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Christine Cumming -
Thank you Jake. I'll have a good look at what you have replied with. In terms of custom parameters one of our clients whose integrations we use has this field as a way for teachers to to link to learning materials.
In reply to Christine Cumming

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Thanks, Christine. That's exactly the kind of situation that Deep Linking launches are designed to handle. That is, you launch into the tool to 'select' the learning material first, then the relevant custom params are automatically saved into the platform. The teacher really doesn't need to know about the underlying params if they pick the content this way. It might be worth asking the person in charge of that integration if they support that. It's been the standard way to achieve this kind of thing in LTI for a good while now, and is also a big reason in why we chose to remove custom params (at least visibly) from the instance-level in 4.3.
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Greg Myles -
Hi Jake, I work for the partners Christine is referring to. Our problem is we have many published LTI resources (potentially hundreds), across multiple courses for multiple instructors. The Moodle implementation of content selection just displays all of the links in one long list, with no courses or topics even to divide them up (I can see there's a tracker for this, but institutions are asking for 1.3 now). Until that is fixed / improved, sending a custom parameter to an academic that needs their own assessment setting up seemed like a good solution, but as you can see above, isn't necessarily straightforward. Perhaps (hopefully!) CS will be improved sufficiently before the next LTS release.

thanks, Greg
In reply to Greg Myles

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Yep, totally agree Greg. That page definitely needs searching, sorting, all the usual stuff to make it remotely useful for large installs.
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Greg Myles -
Update - we're now dealing with an issue with partners who are running M4.3. Since the ability to add custom parameters has been removed we have a problem on our hands. As noted above, the LTI 1.3 content selection interface is not suitable when dealing with many activities spread over many courses. The way we've been sharing activities is by allowing teachers at partner institutions to add new external tools and add custom parameters that we've shared with them. There are potentially hundreds of distinct LTI tools published and different subsets of these are relevant to different teachers who want to embed them at relevant points in their teaching materials. 

The upshot of all this is, if a partner is on M4.3 we are now going to be forced to use content selection which really isn't implemented well in Moodle, leading to an unsatisfactory / confusing experience - as far as our context is concerned it would've been better to leave an option for adding custom parameters until the content selection interface was made user friendly.
In reply to Greg Myles

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Greg,

The custom params form field can easily be restored in your site, via a custom patch, if you wish. Of course you'll need to maintain this through any upgrades, like any other customisation.

For example, something like this might be enough.

Hope that helps in the interim
Jake

Average of ratings: Useful (1)
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Greg Myles -
Hi Jake,

is this on the consumer side? It might be practical for us as the provider, but likely not for our many consumers,

thanks
In reply to Greg Myles

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Greg,

Yes, that patch is for 4.3+ platform sites only. I.e. sites where the custom params are now hidden in the form.
In reply to Greg Myles

Re: LTI configs when add external tool is switched off

by Richard van Iwaarden -
OMG, we have the same issue.

We have a course with 498 LTI external tools that have settings in the 'extra parameters'. 

We have upgraded to Moodle 4.3 this summer and now find out that we can no longer manage any of these extra parameters...



What to do next?
Average of ratings: Useful (1)
In reply to Richard van Iwaarden

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Richard,

Custom params are still supported at the tool level in 4.3. Soon, they'll be restored in the tool instance level too - though I can't be sure they'll stay there in the long term.

The patch above is now formalised in MDL-80914. It's a small change and trivial to apply to 4.3 if you don't want to wait for the upcoming minors (which is where it would likely land).

It would also be great if you could add some detail around your particular use case. E.g. what is it about the instance-level custom params that you need which cannot be achieved via tool-level custom params? This will help us avoid similar situations in future.

Thanks for the post
Jake
Average of ratings: Useful (2)
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Richard van Iwaarden -
Hi Jake,

We have many LTI integrations. This one is specifically set up by the supplier of the content.

What we have:
- One sitewide setup for this tool
- In every instance of this tool, we need to add a course code so we go to different content of this tool

The tool is about nursing skills. In the instructor custom parameters (it's the database field name, don't know anymore what the name is in the web-interface as I can't edit it there anymore) we set something like course=xxxxx. This makes sure the student goes to the correct content.

There's no overview page in the external tool. It contains around 1000 courses I guess. There's no way we can add each tool sitewide or to the activity launcher, as we would cloud it up with 500 extra activities.

So how would I be able to add this tool once at site level, but at course level jump to the different content. Should it be done using URL parameters? I really don't know if the software-supplier agrees to such a change.
Average of ratings: Useful (1)
In reply to Richard van Iwaarden

Re: LTI configs when add external tool is switched off

by Brett Dalton -
Picture of Moodle HQ Picture of Particularly helpful Moodlers
Generally there are a couple different ways. Ideally deeplinking and content selection should be supported by the tool, so as part of configuring it at a course level a content selection dialogue is displayed by the tool allowing you to establish that mapping. LTI can also pass the course code or similar as part of the LTI claim in the "context" parameter, so if that mapping already exists on the tool end they should be able to read it without additional custom params. That said I'll defer to Jake regarding what Moodle is populating that param with in the claim.
In reply to Brett Dalton

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Yep, this sounds like another case where the tool isn't implementing deep linking, but does support the mechanism that's generally used alongside deep linking for identifying course/resourcesin a launch: custom params (which end up in the custom claim). Another example of cases where the above MDL will be useful.

With respect to the context claim (this is a claim, not a parameter: https://purl.imsglobal.org/spec/lti/claim/context) : that's unlikely to be useful here since we only pass the course id and name as properties, and not course id number. Course id number is passed in the 'https://purl.imsglobal.org/spec/lti/claim/lis', under the 'course_section_sourcedid' property, however.
In reply to Richard van Iwaarden

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
You definitely don't want to use URL params with current LTI. The custom claim (which we generate from 'custom params' - that's just the Moodle name) is designed for this, so the tool is right to expect the data as part of that claim (and is currently doing just that!).

What's missing is the part of the (ideal) workflow which asks the tool to provide these custom params as part of a deep linking response, as Brett mentions in his reply.

Either way, using custom params is correct; it's just a question of the best way to set these on your tool instance in Moodle: via deep linking (automatic) or manually, as you've been doing. MDL-80914 just brings back the ability to do it manually.
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Brett Dalton -
Picture of Moodle HQ Picture of Particularly helpful Moodlers
Thanks Jake, I had a feeling I got the specific claim wrong, as always your expertise is appreciated here.
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Jon Breitenbucher -
So, is it possible in 4.3 for the teacher role to be able to add preconfigured site wide External Tools but not have the ability to add course specific External Tools? We have a number of faculty that add external tools (mostly textbook integrations) without going through IT to have the tools vetted for our security and privacy requirements. It would be nice to stop this but still allow the use of the site wide tools we have setup.
In reply to Jon Breitenbucher

Re: LTI configs when add external tool is switched off

by Jeff Stone -
We are also having the same issue, as Adminstrator I set the external tools up, but now when our teachers are trying to add the tool they are being told its no longer supported. The tool needs adding to the course, but I have 1250+ courses that need access to this one tool and I don't want to edit 1250 courses....
In reply to Jeff Stone

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Jeff,

Hopefully what I posted in reply to Jon will be of some help to you too. Have a read and let me know if that's not the case.

Cheers,
Jake
In reply to Jon Breitenbucher

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Jon,

Yes, it is. the 'mod/lti:addcoursetool' capability controls, as you can probably guess, the ability to add/create a course tool. Since 4.3+ no longer support setting up a tool at the instance level (i.e. all tools must be created prior to use), removing this capability for the relevant roles would prevent those users from creating tool in their courses, effectively locking that down.

They'd still be able to use any tools which are available to that course with the caveat that the tool must be available in the activity chooser for that course. The ability to show the tool in the activity chooser (i.e. permitting its use as an activity) exists in both the site level tool configuration and in the course tool table. At the site level, that's just set by admin, as you'd expect. At the course level, only users with the "mod/lti:addcoursetool" capability can toggle this. In this way, the toggle is treated the same as adding/editing a course tool configuration. Once you lock down course tools for teachers, they won't be able to enable course tools for use in their course, so you need to make sure the tools are available to them.
Either:
a) Set the "
 
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Jon Breitenbucher -
Thanks. That is helpful.

I am now encountering a situation with W.W. Norton Learning Tools. There LTI 1.3 setup directions state Tool configuration usage: “Do not show; use only when a matching tool URL is entered”. Now, if I do that then the tool is not visible in the Activity chooser or in the More > LTI External tools. If I change to Show as preconfigured tool then the tool is available in the course LTI External tools to be toggled, but then their directions for adding the tool

Under the “General” activity settings, define these fields:
• Preconfigured tool: “Automatic, based on tool URL”
• Tool URL: https://ncia.wwnorton.com/test

do not seem to be available. Is there a way to make this work? Anyone have W.W. Norton integration working?
 
I’ve attached WW Norton’s directions.
Average of ratings: Useful (1)
In reply to Jon Breitenbucher

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
The simple answer is that their instructions were written for an older version of Moodle and are no longer accurate. Basically, you've found one way to do this, by changing to "Tool configuration usage" to "Show in the activity chooser and as a preconfigured tool". This will default the tool to being visible in the activity chooser of all courses, however. If you want to default it to 'off', but leave the option for teachers in courses to toggle it on, you can select the option "Show as preconfigured tool when adding an external tool" instead. The wording here has yet to be updated (future planned dev), but it's basically saying "Make this tool available to courses". It's then up to the editing teacher to switch the tool on for that course using the toggle in the course tools table, and away you go.

Once you've got the tool in activity chooser, you should be able to create links and use it as expected.

Hope that helps. Let me know if there's another stumbling point with this particular integration and we can troubleshoot further.

Cheers,
jake
In reply to Jake Dallimore

Re: LTI configs when add external tool is switched off

by Jon Breitenbucher -
Unfortunately not. Yes, I can get the tool to show in courses so faculty can enable it and add it to their Activity chooser. However, when they try to add it to their course there is no way that I see to add a Tool URL because there is no General section. WW Norton does not support deep linking and is relying on a faculty member entering the Tool URL they are sent in the External tool to direct students to the correct resources at WW Norton.

Unless I am missing something. Or are we in a situation where the faculty member will have to add the tool in their course using the information provided by WW Norton? Is that the only way the Do not show; use only when a matching tool url is entered can work with the changes to External tool in 4.3+? We are trying to prevent faculty from creating these integrations without IT vetting the data security and privacy practices of the provider.
In reply to Jon Breitenbucher

Re: LTI configs when add external tool is switched off

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Ah, I see your issue now. That wasn't obvious from the example URL above, which didn't hint at resource specific param. We don't support URL params any more, but do support custom params. The preferred (only) way to create a link to a specific resource (and this applies with or without the use of deep linking), is to set custom params, which are then included in the launch payload. So, you'd configure the tool at site level (only admins can do this), you'd use the tool to create links in the course (i.e. from the activity chooser) and would set the relevant custom params on each link (in the module setting for that particular instance). Of course, the tool needs to support custom params and can't rely on URL params. This is the usual approach with LTI Advantage.

EDIT: I should clarify when I say we don't support URL params. That should read "We don't support URL params outside of Deep Linking any more". If a tool uses deep linking, it can return a launch URL containing params used to identify the resource.

EDIT 2: in answer to your question about security/privacy, LTI 1.3 in Moodle MUST be configured by an admin anyway. So, teachers cannot create working tools in courses without admin intervention/assistance anyway. They can only use existing, preconfigured tools. With 1.1 this was an entirely different situation, since they were able to create links to tools at the course level without the need for prior configuration/approval. This is not the case with 1.3 because of a different security model (and because of the way Moodle implements its LTI right now).