How many different LMS integration types does Aktiv offer? What is the basic difference?
There are two different LMS integration types possible between Aktiv and an LMS.
The first type is called LTI 1.1 Sync
a.k.a. Single Column
a.k.a. Legacy
a.k.a. V1
.
LTI 1.1 only allows for a single, cumulative grade to be sent to the LMS for a specific course. It relies on the LTI 1.1 protocol as the means of communication between Aktiv and the LMS, facilitated by our LMS integration partner, Willo Labs. We are generally moving away from this type of integration in favor of the second type.
The second type is called Willo Grade Sync
a.k.a. Multi Column
a.k.a Gradebook
a.k.a V2
.
As the name suggests, Multi Column allows Aktiv to send multiple assignment columns to the LMS. It uses a proprietary API created by Willo Labs as the means of communication between the LMS and Aktiv and does not rely on any LTI protocol. This is our so-called “new” LMS integration type will ideally be what all customers will use at some point in the future.
Can the new Multi Column integration be installed on the course level (rather than an institution level) as the LTI 1.1 integration is able to do?
If the reason one would want to do this is because it’s difficult to get approval by the LMS admin (or difficult to get a hold of them, etc.), then the practical answer is no. Because Multi Column uses a proprietary API, an LMS user with administrative privileges must approve the use of this API from the LMS. Instructors are unlikely to have such privileges.
Is this theoretically possible? it is not clear, but if the instructor had sufficient privileges it might be possible to install on the course level on some specific types of LMSs.
What happens if you switch the LMS integration type for a course in the middle of a semester?
If you have a course which has been syncing using the legacy LMS integration (LTI 1.1) and you switch to use the Multi Column LMS integration for that course, the LMS column created by the legacy integration will stop syncing. It will remain in the LMS until someone manually deletes it.
Can we have some courses using single-column syncing and some courses using multi-column syncing within the same LMS?
Yes! Generally the process of moving from a single-column sync to a multi-column sync is in the form of an upgrade. In other words we upgrade the configuration of the Aktiv app installed in the LMS to be able to ALSO support multi-column syncing. Thus existing courses using just single-column syncing will continue to be supported and be unaffected. For those courses desired to sync via multi-column are essentially enabled on our side.
The LMS admin is asking which APIs and Scopes the Aktiv Multi Column integration uses. How do I answer?
Please see the FAQ for the LMS in question to find out information on this. These FAQs are found within the LMS Guides above. For e.g here is the Canvas FAQ.
How is an Aktiv course linked to the LMS?
A course in Aktiv has the fields ltiLaunchKey
and ltiContextId
. The launch key is the same value set in the LtiSource.launchKey
. The context id is a custom value from Willo referencing the course in the LMS. Note that this value will be different the context id the LMS assigns the course. Willo labs re-hashes the value. The UserLaunch.ltiMessage.custom_orig_context_id
will contain the original context id the LMS sets. The UserLaunch.ltiMessage.context_id
will be the re-hashed version from Willo Labs.
Note that a course in the LMS may have multiple external configurations. For e.g. it might have one launch key for the LTI_1_1
and another for LMS_API
. So these two tools have different launch keys, but when added as links to a course in the LMS, the launch will produce the same custom_orig_context_id
but different willo re-hashed context_id
.
In other words. Course A might have tool X and tool Y added to it in the LMS. If the user selects tool X to do the launch, then this will arrive in Aktiv with an course context id of X. Whereas if the user selects tool Y do to the launch, then this will arrive in Aktiv with course context id of Y. Note that an Aktiv course can only be associated with one context id. So here the Aktiv course is either linked to context id X or Y. But NOT both.
In fact, tool X might land you in Aktiv Course 1, but tool y lands you in Aktiv Course 2. But they both point the LMS Course A.
How can an Aktiv course be unlinked from the LMS?
To remove the assoication of an Aktiv course to an LMS course, one must remove the fields course.ltiLaunchKey
and course.ltiContextId
. At the moment, this is not possible in the Aktiv Admin Site. So it has to be manually done by an engineer.
In the Admin Site, there is a concept to “Unlink Lti” in the “Edit Course Widget”, however this is only choosable when a course is also to be marked archived/deleted. Also this technically just overrides the two fields with a prefix unlink_
. So it doesn’t actually remove the fields. Thus the course cannot be re-linked to another LMS course.
How can an existing linked Aktiv course be linked to a new integration?
(a) Setup the new integration, and add the new tool to the existing LMS course.
(b) Ask an Aktiv engineer to remove the course.ltiLaunchKey
and course.ltiContextId
values from the existing Aktiv course.
(c) In the Admin site mark the course as “LMS Link Eligible” and “LMS Enroll Optional”.
(d) Then the instructor should now be able to do a new launch (with the new external tool) and choose “Link an Existing one to your LMS”.
(e) The students will have to do new launches with the new external tool.
(f) You can now unmark the “LMS Link Eligible” and “LMS Enroll Optional” in the Admin Site.
Can a user (student or instructor) launch from more than one external tool into their Aktiv account?
Yes, each external tool added to the LMS course, is essentually an independent integration with its own launch key.
So a user performing a launch from tool X or from tool Y can be logged into their same Aktiv account.
Just remember that a single LMS course is assigned an independent context id for each external tool it has. In other words. Course A might have tool X and tool Y added to it in the LMS. If the user selects tool X to do the launch, then this will arrive in Aktiv with an course context id of X. Whereas if the user selects tool Y do to the launch, then this will arrive in Aktiv with course context id of Y. Note that an Aktiv course can only be associated with one context id. So here the Aktiv course is either linked to context id X or Y. But NOT both.