Please note before beginning: this process requires that you have an open LMS Integration Setup ticket with CompTIA. For more information, reach out to your CompTIA Representative.
Part 1: Create Developer Key using JSON Configuration
- Go to: Admin > Developer Keys > + Developer Key > + LTI Key
- On the left, fill out the following:
- Key Name: CertMaster LTI Adv
- Owner Email: <your email here>
- Redirect URIs: https://partner.testout.com/openid/idtoken
- Notes: <your notes here>
- In the center, click the Method dropdown and select Paste JSON
- Delete the brackets in the LTI 1.3 Configuration field, and paste in the following text, including all brackets:
{"title": "CertMaster LTI Adv",
"description": "LTI 1.3 tool to connect to CompTIA's CertMaster learning platform, which includes CertMaster Learn, Labs, and Perform products, as well as TestOut content released prior to 2024",
"target_link_uri": "https://cdn.testout.com/lms-gate/index.html",
"oidc_initiation_url": "https://partner.testout.com/openid/authorize",
"public_jwk_url": "https://partner.testout.com/openid/keyset",
"public_jwk": {},
"scopes": [
"https://purl.imsglobal.org/spec/lti-ags/scope/lineitem",
"https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly",
"https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly",
"https://purl.imsglobal.org/spec/lti-ags/scope/score",
"https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly",
"https://canvas.instructure.com/lti/account_lookup/scope/show",
"https://canvas.instructure.com/lti-ags/progress/scope/show",
"https://canvas.instructure.com/lti/page_content/show"
],
"extensions": [
{
"platform": "canvas.instructure.com",
"settings": {
"selection_height": 800,
"selection_width": 1000,
"icon_url": "https://cdn.testout.com/labsimsaas/images_v2/comptia-c-logo.png",
"placements": [
{
"placement": "module_menu_modal",
"message_type": "LtiDeepLinkingRequest"
}
]
},
"domain": "partner.testout.com",
"privacy_level": "public"
}
],
"custom_fields": {
"course_end_date": "$Canvas.term.endAt",
"course_start_date": "$Canvas.term.startAt",
"submission_end_date": "$ResourceLink.submission.endDateTime",
"submission_start_date": "$ResourceLink.submission.startDateTime",
"resource_available_end_date": "$ResourceLink.available.endDateTime",
"resource_available_start_date": "$ResourceLink.available.startDateTime"}}
5. Click Save at the bottom of the page.
- If you get an error message saying the JSON is invalid, there is likely an extra or missing bracket. Simply delete everything in the LTI 1.3 Configuration field, repaste the JSON above (the blue text, including brackets), and try again.
6. Toggle the Developer Key to On.
7. Copy the number in the Details column (Developer ID) into the online Registration Form provided by your CompTIA Representative. Don't Send yet.
Part 2: Configuring the App in Canvas
Please take care in the next step to choose the correct point in your Canvas hierarchy to finish configuration, particularly if your school or institution shares a Canvas instance with other schools or institution. Proceeding incorrectly can cause students or classes to be associated with the wrong organization in the CompTIA platform, which can be challenging to resolve once it's been done. Please reach out to your CompTIA integration rep for guidance if you have any questions or concerns.
-
Navigate to the Canvas account or sub-account where you'd like to make the App available to course-builders by clicking the Admin tab on the far left, selecting the parent account, and then clicking Sub-Accounts in the navigation on the left. We strongly recommend selecting the lowest point in the hierarchy where you expect to be delivering integrated courses. For example, the sub-account for a school's Computer Science or Information Technology department, or if using a shared Canvas, the sub-account for the school that wishes to integrate.
- If you have a small number of sub-accounts that don't have a single parent account, we can configure up to three sub-accounts to the same Developer Key. Please note this to your CompTIA representative.
2. After selecting your sub-account, go to Settings > Apps > View App Configuration > + App
3. Configuration Type: By Client ID
4. Client ID: Paste the same Developer ID copied in step 7 above.
5. Select Submit, and confirm any other prompts.
6. After installing, click on the gear icon to the right of the App and select Deployment ID.
7. Copy the whole Deployment ID
8. Return to the registration URL from your CompTIA Representative and provide the following:
-
- Paste the Canvas Developer ID into the Canvas Developer ID field.
- Paste the Deployment ID into the Canvas Deployment ID Field
- Access Token Endpoint: https://sso.canvaslms.com/login/oauth2/token
- Authorization Endpoint: https://sso.canvaslms.com/api/lti/authorize_redirect
- JWKS Endpoint: https://sso.canvaslms.com/api/lti/security/jwks
Note: Nearly all Canvas instances use the above endpoints, even for testing, but if you do have a completely separate instance of Canvas that uses Instructure's Beta or Test servers, you may need to use the following Endpoint sets instead:
-
-
Beta
- Access Token Endpoint: https://sso.beta.canvaslms.com/login/oauth2/token
- Authorization Endpoint: https://sso.beta.canvaslms.com/api/lti/authorize_redirect
- JWKS Endpoint: https://sso.beta.canvaslms.com/api/lti/security/jwks
-
Test
- Access Token Endpoint: https://sso.test.canvaslms.com/login/oauth2/token
- Authorization Endpoint: https://sso.test.canvaslms.com/api/lti/authorize_redirect
- JWKS Endpoint: https://sso.test.canvaslms.com/api/lti/security/jwks
-
Beta
- 9. Click Save.
Testing
We strongly encourage testing your integration, as finding out something doesn't work after students have already entered the course is very unpleasant for all parties involved. If anything goes wrong in the following process, please take a screenshot and inform the CompTIA Representative working your LMS Integration Setup ticket.
1. Create or navigate to a course in the Canvas sub-account where you installed the App.
2. Add a graded assignment using the documentation on this page.
3. In Canvas, publish the course, the module, and the assignment.
4. Enroll your Canvas account in the course as the Student role.
5. Click the LTI link you placed and complete the activity.
6. Check the Canvas grade book to confirm that a score appears within 2 minutes. (If you don't see the account doing the testing as a row in the gradebook, please confirm that the testing account is a Student in the course.)
Important Information:
Automatically Creating a class and Enrolling students
AS THE INSTRUCTOR:
Click one of the CertMaster assignment links in your LMS course. When you click on the link, a like-named class is automatically created in CertMaster. You can view this class on your home (MY School) page within your CertMaster account. As applicable, make sure to click a link from each of your LMS courses. When you do, again, a class matching your LMS course's name will be automatically created in your CertMaster account. As a best practice, don't rename, archive, or manually create a duplicate of this class in CertMaster. However, you may archive the class after your semester ends.
DO NOT create your class manually in CertMaster.
Note: It is critical that at least one initial assignment be clicked to establish integration between your LMS and your CertMaster account, which involves the creation of the automatic class within your CertMaster account, as well as its associated start/end dates. See below for additional information around class dates.
INSTRUCT YOUR STUDENTS:
Click one of the CertMaster assignment links inside your LMS course. Upon clicking, a student account will automatically be created for the student in CertMaster, and the student will be enrolled in the corresponding class in CertMaster. It is critical that at least one initial assignment be clicked to establish integration between your LMS and the CertMaster student and instructor accounts. This is how the CertMaster platform knows that your student exists, and is also important for multiple aspects of integration functionality, such as score return from CertMaster to your LMS.
Licenses: If your agreement with CompTIA involves pre-purchased licenses or usage-based billing, a courseware license is also automatically activated and applied to the billing method in question.
Access Keys: If your students will be gaining access through Access Keys (usually purchased by the student ahead of time via a bookstore or https://shop.testout.com/), they will be prompted to enter their access key when they click their first CertMaster link. If purchasing from https://shop.testout.com/ a student purchase price code can be obtained from your school's CompTIA Customer Success Manager.
- For students who already have CertMaster accounts, make sure that the email address associated with their CertMaster account is the same as the email address of their LMS account. This way, the integration will be able to find and connect to the existing student CertMaster account.
- DO NOT create your students' accounts inside CertMaster through CSV, individually, or through email.
- Students DO NOT need to create their accounts through testout.com.
Regarding Start and End Dates of your CertMaster class
-
If the LMS course start date is known via the integration, this date will be used as the start date for the CertMaster class.
-
If the LMS course end date is known via the integration, this date will be used as the end date for the CertMaster class. The end date shouldn’t exceed 18 months from when a course is first created in CertMaster.
-
If the LMS course start date is NOT known via the integration, the date when the first initial TestOut assignment link is clicked will be used as the start date for the CertMaster class.
-
If the LMS course end date is NOT known via the integration, the CertMaster end date will be 12 months from the start date (the start date is based on the standards set above).
-
If the LMS course end date is set to continuous, the CertMaster end date will be 12 months from the start date (the start date is based on the standards set above).