# Install MyLA via LTI 1.3

MyLA integrates with the LMS using the LTI 1.3 standard.

To install and configure MyLA, Unizin needs an LTI key from your LMS instance. The purpose of the LTI key is to support the LTI authentication protocol in LTI 1.3. Generally speaking, you should follow [Instructure’s guidelines for installing a developer key](https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-an-LTI-key-for-an-account/ta-p/140) for MyLA.

The following sections describe:

1. How to configure an LTI key for MyLA
2. What information to gather from Canvas
3. What information to send, securely, to Unizin Services

Note that Unizin Services will take care of the MyLA integrations with your UDP and UDW instances. You do not need to gather any authentication or credential information for them.

### Create the LTI key <a href="#installmylavialti1.3-createtheltikey" id="installmylavialti1.3-createtheltikey"></a>

Follow [Instructure's guide to creating an LTI Key in Canvas](https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-an-LTI-key-for-an-account/ta-p/140). You will need to input configuration variables – please refer to the table below for guidance about how to set the values for the configurable variables of an LTI Key.

{% hint style="info" %}
**Shortcode**\
In the documentation below, the term **\<shortcode>** *must be replaced* by the standard top-level domain name of your institution. For example, Colorado State’s shortcode is **colostate** (for [colostate.edu](http://colostate.edu/)); Indiana University’s is **iu** (for [iu.edu](http://iu.edu/)).
{% endhint %}

Use the following values for the LTI Key settings.

<table data-header-hidden><thead><tr><th width="306.8131416837782"></th><th></th></tr></thead><tbody><tr><td><strong>Key name</strong></td><td>My Learning Analytics</td></tr><tr><td><strong>Owner email</strong></td><td>An admin at your institution</td></tr><tr><td><strong>Redirect URIs</strong></td><td>https://myla.<strong>&#x3C;shortcode></strong>.cloud.unizin.org/lti/launch/</td></tr><tr><td><strong>Method</strong></td><td>Manual entry</td></tr><tr><td><strong>Title</strong></td><td>My Learning Analytics</td></tr><tr><td><strong>Description</strong></td><td>My Learning Analytics</td></tr><tr><td><strong>Target link URI</strong></td><td>https://myla.<strong>&#x3C;shortcode></strong>.cloud.unizin.org/lti/launch/</td></tr><tr><td><strong>OpenID Connect Initiation URL</strong></td><td>https://myla.<strong>&#x3C;shortcode></strong>.cloud.unizin.org/lti/login/</td></tr><tr><td><strong>JWK Method</strong></td><td>Public JWK URL</td></tr><tr><td><strong>Public JWK URL</strong></td><td>https://myla.<strong>&#x3C;shortcode></strong>.cloud.unizin.org/lti/jwks/</td></tr><tr><td><strong>LTI Advantage services</strong></td><td>Enable all services</td></tr><tr><td><strong>Domain</strong></td><td>myla.<strong>&#x3C;shortcode></strong>.cloud.unizin.org</td></tr><tr><td><strong>Custom fields</strong></td><td><p>user_username=$User.username</p><p>canvas_user_id=$Canvas.user.id</p><p>canvas_course_id=$Canvas.course.id</p></td></tr><tr><td><strong>Privacy level</strong></td><td>Public</td></tr><tr><td><strong>Placements</strong></td><td>Course navigation</td></tr><tr><td><strong>Target Link URI</strong><br><strong>(under placements)</strong></td><td>https://myla.<strong>&#x3C;shortcode></strong>.cloud.unizin.org/lti/launch/</td></tr></tbody></table>

When you have successfully inputted the settings for a new LTI Key, **Save** the LTI Key.

Under **Method,** select the “Paste JSON” option.

Locate the “placements” array in the JSON.

In the “placements” array, add the following to the first object

{% code title="Default" %}

```json
"default": "disabled",
```

{% endcode %}

By setting the default to "disabled," MyLA will not be installed in courses by default. A fully configured placements array might look like this:

{% code title="Placements" %}

```json
"settings": {
  "placements": [
    {
      "default": "disabled",
      "placement": "course_navigation",
      "message_type": "LtiResourceLinkRequest",
      "target_link_uri": "https://path.to.myla/lti/launch/"
    }
  ]
},
```

{% endcode %}

### Activate the LTI key <a href="#installmylavialti1.3-activatetheltikey" id="installmylavialti1.3-activatetheltikey"></a>

Once the above is completed, change the **State** of the key from "OFF" to "ON".

### Install the MyLA app in the desired course(s) <a href="#installmylavialti1.3-installthemylaappinthedesiredcourse-s" id="installmylavialti1.3-installthemylaappinthedesiredcourse-s"></a>

Follow [Instructure’s instructions for installing](https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-an-external-app-for-an-account-using-a-client/ta-p/202) the MyLA app in a course using the LTI Key.

### Generate public and private keys <a href="#installmylavialti1.3-generatepublicandprivatekeys" id="installmylavialti1.3-generatepublicandprivatekeys"></a>

To enable LTI launch requests, MyLA needs a public/private RS256 key pair in PEM format. Institutions must generate their own public/private key pair in PEM format. If you need help generating public/private keys, [Michigan provides a Python program that you can run to generate your own keys](https://github.com/tl-its-umich-edu/my-learning-analytics/wiki/Deploy:-Configuration-for-LTI-1.3-Deployment/3140bccbe641f00edfc1d9dce964f4dc360a72d7#standalone-program).

### Send information to Unizin <a href="#installmylavialti1.3-sendinformationtounizin" id="installmylavialti1.3-sendinformationtounizin"></a>

You will need to collect the following information from your Canvas instance and send it to Unizin. Only when Unizin receives this information can it configure your MyLA courses.

<table data-header-hidden><thead><tr><th width="235.29953917050693"></th><th></th></tr></thead><tbody><tr><td><strong>Client ID</strong></td><td>For the LTI Key you created, you will need to send the Client ID value. On your Developer keys admin page where the LTI keys are listed, the Client ID value will be presented in the Details column (note: this is <em>not</em> the key value itself).</td></tr><tr><td><strong>Public/Private key pair</strong></td><td>Unizin will need to install the public &#x26; private keys you create on the MyLA instances. This will enable MyLA to authenticate and securely communicate with your Canvas instance.</td></tr><tr><td><strong>Deployment ID</strong></td><td><p>You will need to send all of the app Deployment IDs used to install MyLA in your courses. If you’ve installed MyLA on a course by course basis, you will have a deployment ID for each course.<br></p><p>The deployment ID is found in the External apps settings page. Click the gear button next to your installed MyLA app. Choose “Deployment ID” from the gear menu. Send the full value to Unizin.</p><p><img src="https://3709019308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKYwtHNGgdPXS3PWAlZUr%2Fuploads%2Fgit-blob-5d8122e5925e2571cc9b0ce9bf6df10d8bcbf856%2FScreen%20Shot%202022-10-04%20at%2011.47.16%20AM.png?alt=media" alt="" data-size="original"></p></td></tr><tr><td><strong>Course Identifier</strong></td><td>Unizin will need the corresponding Canvas Course identifier for each course where MyLA is installed. This identifier can be found in the URL for the course in Canvas.</td></tr></tbody></table>
