Overview: Atomic Search 1.3 Installation - Canvas
1. Atomic Search User
- First, confirm that the customer has created the Atomic Search service user in their LMS to be used for the installation. If they haven’t, have them create that now or reschedule the call for when they’re able to do so.
2. Uninstall any old installs of Atomic Search
If the customer has installed Atomic Search as part of an evaluation, you should remove the installs, or the Search menu will appear multiple times.
- Go to the Canvas account or course where you installed Atomic Search.
- Go to Settings.
- Click on the Apps tab and click the View App Configurations button.
- Click on the gear menu next to Atomic Search and choose Delete.
3. Create the Atomic Search service user role
- Log in as a root-level Canvas admin
- Create a new Canvas Account level role for Atomic Search under the Permissions section.
- Limit the permissions of the Atomic Search role as described in the table below:
|
# |
Permission |
Why it is needed: |
|
1 |
Announcements - view |
Retrieve announcement content for indexing. |
|
2 |
Course Content - view |
Retrieve course content for indexing. |
|
3 |
Courses - view list |
List the courses in an account for indexing. |
|
4 |
Discussions - view |
Retrieve the name and description of discussions for indexing. |
|
5 |
Assignments and Quizzes - edit |
Find out if assignments and quizzes are published or unpublished. |
|
6 |
Manage LTI |
Install the Atomic Search external application into a course or sub-account. This permission can be removed after Atomic Search is installed (it’s sometimes a concern for customers). |
|
7 |
Question banks - view and link |
Retrieve quiz and question content for indexing. |
|
8 |
Users - view list |
Find out what courses a user is enrolled in and what their role is in those courses. Atomic Search uses this information to limit what the user can search. |
- Add the new service user as an admin and assign them the new Atomic Search user role that you created in Step 2.
- Browse to the root account of your instance of Canvas.
- Click on Settings and then the Admins tab.
- Scroll to the bottom and click on +Account Admins.
- Select the new Atomic Search user role from the Add More drop-down list.
- Add the Atomic Search user email or SIS ID in the text box and click Continue…, confirm that the user is found and shows correctly, and then select OK Looks Good, Add This 1 User.
5. Ensure the Atomic Jolt Application Application Installer developer key is enabled
To complete the Search installation, the Atomic Jolt Application Installer developer key must be enabled:
- Browse to the root/sub-account level. Select Developer Keys in the left-hand Canvas navigation menu.
- Click on the Inherited tab near the top.
- Scroll to the bottom of the page and click Show All Keys.
- Scroll down until you see the Atomic Jolt Application Installer developer key.
- If the key is not On, select On.
|
If the customer wants to used a scoped developer key, complete the setup using these instructions. Add the key and secret from the key into the customer’s site in the admin panel. |
6. Create a new Developer LTI Key for Atomic Search
To install, you must create a new LTI Key under the Developer key section.
- Go to the Developer Keys menu and navigate to the Account tab.
- Click on + Developer Key button and choose + LTI Key.
- Name the key: “Atomic Search”.
- Owner Email: Add your email address (or the email of the search service user).
- Select the Method: Enter URL
- Paste the URL for the version you are installing:
- Save the Key and turn the key on (beneath State).
- Copy the Client ID (from the Details column) to use in the admin panel later and to do the install in Canvas.
7. Start indexing Atomic Search using the welcome app
To start indexing your content to use with Atomic Search using OAuth:
- Log out of Canvas with your Admin user and open a private browser. Log in to Canvas as the Atomic Search user. You may need to workaround an SSO by using this URL: http://[institution].instructure.com/login/canvas.
- Go to the install page for your region:
|
US/Canada/Central and South America |
|
|
Asia, Australia, Pacific Islands |
|
|
Europe, Africa |
- Enter your Canvas domain and click the Authorize button.
- If you use a vanity domain (e.g., something other than schoolname.instructure.com), use that domain during installation.
- It will ask you to authorize the Atomic Jolt Application Installer to talk to your instance of Canvas on your behalf. Verify that it is authorizing as the Atomic Search user.
- You will next see a list of the accounts and courses you have access to.
- The installation does not list courses that you are not an instructor in.
- Click on the Index button only next to the account you want to use Atomic Search in to kick off indexing of your Canvas content.
- Atomic Jolt will reach out to let you know when indexing has been completed.
8. Configure the app instance and add the Client ID to the admin panel
- Login to the Atomic Jolt admin panel in the customer install region.
|
US/Canada/Central and South America |
|
|
Asia, Australia, Pacific Islands |
|
|
Europe, Africa |
- Navigate to the new customer app instance under the Eval tab.
- Fill out the details for the customer and primary contact, and mark the account as paid.
- Go to the LTI Advantage tab.
- Under the Pinned Client Id section, click on Add new Client Id, and paste in the client ID that was generated in Step 3.7. Select the ISS as: canvas.instructure.com in the dropdown.
- Save.
9. Install Atomic Search by Client ID
- Browse to the Canvas account in which Search will be installed and select: Settings > Apps > View App Configuration.
- Select +App. Select ‘Configuration Type’ = By Client ID.
- Enter the Client ID that the customer provided after creating the new Developer LTI Key in Step 6.
10. Add the Search widget global javascript to your Canvas theme
You can add a search box to the top right of every screen in Canvas by adding the Atomic Search global javascript to your Canvas theme:
- Download or copy this script to a file on your hard drive.
- Upload the script to your Canvas theme.
WARNING: If you already have a global javascript, you should combine your old script with the Atomic Search script before you upload it.- Log in as a Canvas account Admin.
- Go to the account where you installed Atomic Search (the root account or a sub-account).
- Click on Themes.
- Click on the Current theme to open it in the theme editor.
- Click on the Upload tab at the top left of the screen.
- Under JavaScript file:
- If a file is listed, view it and copy it into the top of the Atomic Search script you downloaded, and save it.
- Click Select and find the Atomic Search script.
- Click Preview Your Changes.
- Click Save theme.
- If it is the first time you have changed the theme, you may need to specify a new name for the theme.
- Click Apply Theme.
- Verify that you didn’t break things.
- Log in to Canvas in a different browser or a private/incognito browser window.
- Make sure everything looks ok.
- Navigate to a course page and make sure the Search widget shows up.
- If you broke things, navigate to the themes page in your original browser and remove the global javascript or apply a different theme.
Common Search widget javascript problems are:
- Putting the Atomic Search global javascript in the middle of other global javascript.
- Existing global javascript has errors that prevent the Atomic Search global javascript from running.
You can inspect the browser javascript console to look for these errors.
9. Configure Canvas Live Events to send events to Atomic Search
When Canvas Live Events are configured to send events to Atomic Search it notifies Atomic Search when content is added or updated in your courses. When Atomic Search receives those notifications it begins updating the index for that content and usually finishes updating it within a few seconds. This applies to both active and inactive courses. This can help keep the index current.
- Check to see if they have Canvas Data Services installed by looking for it in the Canvas lefthand navigation menu, listed as ‘Data Services’. If they do, proceed to ‘Configure Canvas Live Events for Atomic Search’. If not, follow the directions beneath ‘Install Canvas Data Services’.
Install Canvas Data Services:
- Browse to the root account and select Developer Keys in the lefthand Canvas navigation menu.
- Open Inherited Tab. Scroll to the bottom and select ‘Show all keys’. Search for “Canvas Data Services” on the page.
- Turn on the key beneath ‘State’. Copy the Client ID below ‘Details’.
- Browse to the account in which Search will be installed and select: Settings > Apps > View App Configuration.
- Select +App. Select ‘Configuration Type’ = By Client ID.
- Enter the Canvas Data Services Client ID that you copied from the Developer Keys.
Configure Canvas Live Events for Atomic Search
- Install the Canvas Data Services LTI using these instructions from Canvas.
- In Canvas, browse to the root account. Select Data Services in the left-hand Canvas navigation menu.
- Select the +Add button to create a new Data Stream.
- Name: "Atomic Search".
- Delivery Method: SQS.
- URL: Select and enter the SQS URL corresponding to the Atomic Search region nearest to you:
- US / Canada / Central & South America
https://sqs.us-east-1.amazonaws.com/318936073860/canvas-live-events-AJ-ACT - Europe / Africa
https://sqs.eu-west-1.amazonaws.com/318936073860/canvas-live-events-AJ-ACT - Australia / Asia
https://sqs.ap-southeast-2.amazonaws.com/318936073860/canvas-live-events-AJ-ACT
- US / Canada / Central & South America
- Authentication: None
- Message Type: Canvas
- Application Type: Data Streaming
- Select the following Events:
- Assignment:
- assignment_created
- assignment_updated
- Attachment
- attachment_created
- attachment_deleted
- attachment_updated
- Course (not all)
- course_created
- course_updated
- Discussion Topic
- discussion_topic_created
- Discussion_topic_updated
- Assignment:
- Modules (select all)
- Module Items (select all)
-
- Syllabus
- syllabus_updated
- Wiki Page
- wiki_page_created
- wiki_page_deleted
- wiki_page_updated
- Select Save & Exit
Once you have enabled the Live Events, you can verify that it is enabled by editing a page to add unique text to it and then searching your course for that text.
This is a rare circumstance, but:
- If you have chosen not to install with the global navigation menu placement, you must hard code the tool ID in the global Javascript at the top of the script you downloaded.
- var atomicSearchConfig = {
- accountId: 1, // The ID of your root account (usually 1)
- externalToolId: 9018, // The ID of your installation of Atomic Search
- };
- var atomicSearchWidgetScript = document.createElement("script");
- atomicSearchWidgetScript.src = "https://d2u53n8918fnto.cloudfront.net/atomic_search_widget.js" + "?ts=" + new Date().getTime();
- document.getElementsByTagName("head")[0].appendChild(atomicSearchWidgetScript);
- NOTE: The atomicSearchConfig var must be defined BEFORE the main Atomic Search script.
- To find the accountId and external tool ID in the script, navigate to the root account and choose the Search menu. The IDs will be in the URL. For example:
https://atomicjolt.instructure.com/accounts/1/external_tools/9018