Custom parameters in LTI Advantage refer to additional parameters that can be included in the LTI launch data to pass custom information or settings between Moodle (LMS) and Inspera Assessment (IA). These parameters are not part of the standard LTI parameters but are defined and used by the tool provider and tool consumer to exchange specific information.
Advanced Custom Parameters
[Parameter] = [Value] | Detail |
enroll_candidates = true |
When “enroll_candidates=true” is set to ‘true’, it means that all members with a role of ‘student’ or ‘learner’ in the course of your LMS will be enrolled on the test in Inspera. This is only true if the membership service is available. Note: IMS LTI Names and Roles Provisioning must be turned on in the LMS. |
remove_candidates = true |
When “remove_candidates=true” is set to ‘true’, it means that this parameter will effectively remove any candidates that are on the test, but not present in the latest membership-response or have been removed from a course. Note: IMS LTI Names and Roles Provisioning must be turned on in the LMS. |
enroll_contributors = true |
When “enroll_contributors” is set to 'true', it means that all members with a role of ‘teacher’ or ‘instructor’ in the course of your LMS will be enrolled on the test in Inspera. This helps in managing and organizing the test effectively. Note: IMS LTI Names and Roles Provisioning must be turned on in the LMS. |
remove_contributors= true |
When “remove_contributors” is set to “true”, it means that if a teacher/instructor is removed from a course in the learning platform or added manually in IA, they will also be automatically removed as a contributor from the test associated with this launch. This helps keep test contributors in sync with course changes. Note: IMS LTI Names and Roles Provisioning must be turned on in the LMS. |
use_ia_as_admin_master=true |
This custom parameter should be used when Inspera Assessment is set to be the master of admin user Information. Before gaining access to test creation through the LMS, all admin users authorized to use Inspera are first created in the Inspera. Inspera Assessment is the designated repository for all user information. Consequently, administrative users need to be configured beforehand. If a user is deactivated or disabled in Inspera Assessment (IA), they will be denied access to IA through the LMS. |
use_ia_as_admin_master=false |
This custom parameter should be used when LMS is the master of user information i.e. user accounts are directly created in LMS. This means that admin-users are created and updated automatically by the LTI-login using the roles in the request together with the role-mappings defined in IA. Condition: Test must exist, or current user must have cplanner-role in order to create the test. |
debugview=true |
This custom parameter should be used when troubleshooting concerns. We have added a new custom parameter “debugview” that can be set to “true”, and we will display the json-launch without executing it. The JSON contains both the LTI launch and the membership service response - If the membership-service is defined and available. |
“inspera_test_start_time” = (ISO-formatted timestamp :”2023-09-06T21:04+02:00" or “2023-09-06T19:04Z") |
This will configure the start time of an assessment on Inspera Assessment |
“inspera_test_end_time” = (ISO-formatted timestamp :”2023-09-06T21:04+02:00" or “2023-09-06T19:04Z") | This will configure the end time of an assessment on Inspera Assessment |
skip_incomplete_members=true | This will make sure to import both admins and candidates even if one member is in ‘incomplete’ as in missing externaluserid or candidate-id (for students), the remaining users will be imported when used through membership service. |
keep_test_title=true | This custom parameter should be used in the D2L LMS to share the D2L activity title with Inspera within the LTI launch request. |
lti_candidate_extratime=[Number of minutes] |
Used to configure extra time for candidates. For example, if 5 minutes extra time is needed, then it will be the following: lti_candidate_extratime=5 |
lti_test_template=[template ARID] | This will allow you to set up every new test created via the LTI with a specific template. This template will be applied to every test created using the LTI. The value would be the number found in the URL when accessing the template via Inspera (i.e. the ARID in this URL: https://name.inspera.com/admin#deliver-test/97539878 is 97539878). It is possible to configure multiple templates in LMS by creating one LMS tool per template or overriding the settings per assignment/activity. |
use_template_on_create=true | To prevent the template from being used on each LTI call (launch request), as it will override any manually added settings on the test, this attribute must be used in addition to the above template setting |
Authentication Type
This (lti_authtype) is only relevant if you need to override the default externalid-type from 'LTI' to match a SSO-setup like 'GENERIC_SAML', 'GOOGLE', ‘OIDC’, ‘SHIBBOLETH’ etc.
[Parameter] = [Value] | Detail |
lti_authtype = GENERIC_SAML | When the lti_authtype parameter is set to GENERIC_SAML, it means that SAML is the chosen authentication method. There is an existing user in Inspera with the same externalid. Only set this value if there are identical externalids coming from a sso-setup using 'GENERIC_SAML' |
lti_authtype = SHIBBOLETH | When lti_authtype is set to SHIBBOLETH, it means that Shibboleth is the chosen authentication method for the LTI launch. |
User identification and Username-resolver
The objective is to clarify which specific information we gather from the LMS during the launch activity compared to the membership response. This explanation is tailored for those examining the two distinct ways we receive information, and it is crucial for efficiently enrolling candidates automatically. This precision is essential to ensure that candidate IDs align seamlessly with their SSO, given that the data field names differ between the launch activity and the membership response.
[Parameter] = [Value] | LTI Login Parameter | Membership Name | Detail |
username_resolver = DEFAULT | user_id | userId |
Default means using the standard way the learning platform identifies users. It's like having a username that combines the platform's key, the user ID, and a suffix. ExternalId : will be prepended with client-id |
lis_person_name_given + lis_person_name_family | givenName + familyName |
Default means using the standard way the learning platform identifies users. It's like having a username that combines the platform's key, the user ID, and a suffix. Username : Value will be computed using firstname and lastname until a non-pre-used username is generated |
|
username_resolver = BY_EMAIL | lis_person_contact_email_primary | Email-based identification uses the user's email from the learning platform. Choose this if email is the key to sign in, especially in setups like single sign-on (SSO) with Inspera. | |
username_resolver = BY_SOURCEDID | lis_person_sourcedid | sourcedId |
Source ID is a common field in LTI. The system adapts to how the LMS provides this ID, making it flexible for different platforms. candidates will always get 6 random digits added to username |
username_resolver = BY_INSPERA_PROPERTY | inspera_property_lti_login | inspera_property_membership |
“BY_INSPERA_PROPERTY” is a special method that allows you to use any field from the login parameters and the membershipattributes. The actual name of the attribute to use must be given in the login-parameter-name (or membership-name) given in the table. candidates will always get 6 random digits added to username. |
CandidateId-resolver
Candidate-ID’s needs to be unique within one test event. The same candidate can have different candidate-ID's on each test, or they can have the same. Add the custom parameter “candidateid_resolver” with any of the valid options listed below - note that ‘DEFAULT’ does not need to be given in the request.
resolver-name |
lti-login-parameter |
membership-name |
---|---|---|
DEFAULT |
user_id |
userId |
BY_EMAIL |
lis_person_contact_email_primary |
|
BY_SOURCEDID |
lis_person_sourcedid |
sourcedId |
BY_INSPERA_PROPERTY |
inspera_property_lti_login |
inspera_property_membership |