Integrating Cadmus + Canvas

Follow these steps to integrate Cadmus as an external tool in Canvas using LTI 1.3 and Canvas API integrations

Cadmus supports the following LTI 1.3 enabled integrations:

  1. Launching into Cadmus as a configured external LTI Tool / Application. 

  2. Grade pass-back through the LTI 1.3 Assignment and Grade Services.

  3. LTI Membership service (Names and Role Provisioning Services) for Student list synchronisation between Cadmus and the LMS.

Cadmus supports the following REST API enabled integrations:

  1. Anonymous marking via Canvas SpeedGrader
  2. Syncing Canvas sections as Cadmus marking groups

 

To integrate Cadmus and Canvas, you will need to:

  1. Add an LTI Developer Key for Cadmus
  2. Add Cadmus as an External App
  3. Add an API Developer Key for Cadmus
  4. Share keys with Cadmus

The Client IDs and Deployment IDs generated through this process must be shared with Cadmus to complete the integration.

 

 

Stage 1: Add an LTI Developer Key for Cadmus

Begin by creating a new Developer Key (LTI Key) for Cadmus. This will configure the LTI 1.3 OAuth2 settings, and generate a Client ID for the Cadmus external Tool in your LMS.

  1. Log into Canvas as an administrator.
  2. Navigate to your institution’s Account page via the Admin tab.
  3. Click Developer keys from the menu list (on the left side of the page).
  4. Click the + Developer Key button, then add + LTI Key.

    canvas-1@2x

  5. Input the following Key Settings:

    Key Name

    Cadmus LTI 1.3

    Owner Email

    admin@cadmus.io

    Redirect URI (Please note this is location-specific)

    AU
    https://api.cadmus.io/accounts/lti1p3/launch
    UK
    https://api-uk.cadmus.io/accounts/lti1p3/launch
    US
    https://api-us.cadmus.io/accounts/lti1p3/launch
  6. Set the Configure Method to Enter URL then use the following URL for fetching the configuration JSON:

    Config URL (Please note this is location-specific)

    AU
    https://cadmus.io/static/canvas_lti1p3_config.json
    UK
    https://cadmus.io/static/canvas_lti1p3_config_uk.json
    US
    https://cadmus.io/static/canvas_lti1p3_config_us.json
  7. Click Save to confirm these settings.
  8. A new Cadmus LTI 1.3 key entry will appear in the table on the Developer keys page.
  9. Under the State column, toggle the switch to ON.
  10. Under the Details column, you will find an ID number. This is your new Client ID.
  11. Record or copy this Client ID — you will need it in the following stages of this integration.

    canvas-2@2x

 

 

 

Stage 2: Add Cadmus as an External App

Now that Cadmus has been registered with a developer key, you will need to create an External App for staff to access Cadmus.  

  1. From the Admin tab, click Settings from the left-hand-side menu.
  2. Navigate to the Apps tab.
  3. Click View App Configurations.
  4. Click the + App button.

    canvas-3@2x

  5. Under Configuration Type set By Client ID.
  6. In the Client ID input field paste the Client ID you recorded in Stage 1.
  7. Click Submit.

    canvas-4@2x

  8. A new Cadmus application entry will appear in the table on the External Apps page. Click the Settings icon in the right column, then click Deployment ID.
  9. Record or copy this Deployment ID — you will need it in the following stages of this integration.

    canvas-5@2x

Note: Instead of making Cadmus available to all subjects, it can be added as an External App within a single subject. To do this, go to the Canvas page for the subject/course you would like to install Cadmus within and complete all steps in Stage 2 from there. Each installation will generate a unique Deployment ID. All of the Deployment IDs must be shared with Cadmus

 

 

Stage 3: Add an API Developer Key for Cadmus

Additional integration functionality not accessible via LTI 1.3 can be enabled by providing Cadmus with Canvas REST API access via OAuth2. The credentials are created as a Canvas API Developer Key. 

The previously created LTI Developer Key is independent of an API Developer Key. The LTI Key's Client ID creates an LTI 1.3 link between Cadmus and Canvas. The API Key is needed to enable deeper integration with Canvas. The LTI Key is still the primary key needed to connect Cadmus and Canvas. 

Begin by creating a new Developer Key (API Key) for Cadmus. This will generate OAuth2 credentials which Cadmus can use to access user data on request. The credentials include a Client ID (Developer Key) and a Client Secret (Developer Key Secret).

  1. Navigate back to your institution’s Account page via the Admin tab.
  2. Click Developer Keys on the left-hand-side menu.
  3. Click the + Developer Key button, then add + API Key
  4. Input the following Key Settings:

    Key Name

    Cadmus Platform

    Owner Email

    admin@cadmus.io

    Redirect URIs (Please note these are location-specific)

    AU
    https://api.cadmus.io/cadmus/auth/canvas/callback
    UK
    https://api-uk.cadmus.io/cadmus/auth/canvas/callback
    US
    https://api-us.cadmus.io/cadmus/auth/canvas/callback

    Icon URL

    https://cadmus.io/static/logo100.png

    Notes

    Canvas REST API access for Cadmus

     

  5. Toggle Enforce Scopes to On.
  6. Select Allow Include Parameters.
  7. Select Read only (GET).
  8. Click Save to confirm these settings.

    canvas-7@2x

  9. A new Cadmus API key entry will appear in the table on the Developer keys page.
  10. Under the State column, toggle the switch to ON.
  11. Under the Details column, you will find an ID number. This is your new API Client ID.
  12. Click Show Key to view the full key. This is your new API Client Secret.
  13. Record or copy this API Client ID and API Client Secret — you will need to share these keys with us. 

 

 

 

Stage 4: Share keys with Cadmus

To complete the integration process in Canvas, you will need to share some important details with Cadmus. We will use this information to identify and authenticate your integration.

Please email the following details to admin@cadmus.io:

  • LTI Client ID (LTI Developer Key ID)

  • All LTI app Deployment ID(s) 

  • API Client ID (API Developer Key ID)
  • API Client Secret (API Developer Key)
  • Canvas URL of your institution

  • Canvas Launch Environment: [ One of the following: ProductionBeta or Test ]

 

Using the Canvas URL and Canvas Launch Environment, we will be able to determine the OAuth2/OIDC endpoints as indicated here