Search the Community
Can we set up a custom url - for example - www.domainname.something.com instead of canvas.instructure..url?
In this Catalog release, Catalog supports beta environments for all US-hosted Catalog customers and has also updated its custom CSS/JavaScript hosting for improved site performance.
Canvas Catalog is an all-in-one learning solution that integrates with the Canvas LMS as a course registration system, payment gateway, and learning platform. Learn more about Canvas Catalog.
New Features |
Beta Environment
Catalog now supports beta environments for all US-hosted Catalog customers. Production data is copied to the beta environment once a week. As beta environments are for testing new features, all existing beta content is refreshed with the production copy, so any data that needs to be maintained should be reproduced in the production environment as soon as possible.
Beta environments are associated with beta Canvas environments, so if an admin accesses Canvas from Catalog beta, Canvas will also display the beta environment. The reverse is also true; admins who access Catalog from beta Canvas will also view the beta Catalog environment.
Beta environments can be accessed by adding .beta after the Catalog name:
- Non-vanity domains—the beta site for example.beta.catalog.instructure.com is example.catalog.instructure.com
- Vanity domains—the beta site for www.example.com is www-example-com.beta.catalog.instructure.com
Other Updates |
Catalog Customizations
JS/CSS Cloud Storage
As a performance enhancement, custom JavaScript/CSS files are now mirrored on the Amazon S3 cloud, which minimizes caching and provides faster content delivery.
🛑 Please Read the Following before using this guide
This document is for a legacy implementation of Google Analytics on a deprecated version of Google Analytics no longer offered by Google. Do not attempt to use it. Instructure no longer uses Google Analytics in Canvas, and therefore updated documentation on using Google Analytics 4 (or similar) will not be provided by Instructure.
An alternative option for Canvas usage data supported by Instructure is our Impact by Instructure product. Please reach out to your Instructure CSM or Sales representative if you'd like to explore this option.
If you still want to use Google Analytics, you should look into some of the below community resources if you are configuring Google Analytics for the first time.
- Using Google Tag Manager to add Google Analytics
- Google Analytics Custom Dimensions through Google Tag Manager
- Google Tag Manager Recipes
__________________________________________________________________________________
Using Google Analytics means that your institution is subject to Google's terms of service. Please verify with your institution's legal team before installing Google Analytics in your Canvas instance to ensure that you are in compliance with relevant laws and regulations.
New Custom Dimensions & Updated Script - May 31, 2019
A core code change to Canvas on Aug 28, 2019 may have broken your implementation of Google Analytics. Please install the updated code to restore functionality.
- Please Read the Following before using this guide
- Create a Google Analytics Account
- Set Up Tracking By User-IDNew
- Add Custom Dimensions to Google AnalyticsUpdated
- Add Custom Javascript to Your Institution's Theme Editor
- Build Dashboards & Reports in Google Analytics
- Embedded Custom Javascript File
- Changes Made (May 31, 2019)New
- General Changes
- Dimension Changes
The steps below will help you get set up to use Google Analytics for Canvas. If you'd like to know more about why you might want to do this, please watch this Canvas Live session.
Create a Google Analytics Account
- Sign into Google
- Navigate to https://analytics.google.com and click Sign Up
- Fill out the Form as desired, using your Canvas url in the website url field (eg: https://example.instructure.com) (or vanity url if you have one)
- Click "Get Tracking ID" button
- Accept Terms of Service
- Copy down the "Tracking ID" (eg: UA-12345678-1)
Set Up Tracking By User-ID New
Allows for more accurate session unification based on the user's Canvas ID, granting better user overtime metrics
-
Navigate to the Admin Portal (If you just created your account you are already there)
-
Click on "Tracking Info" to expand the menu item
-
Click on "User-ID" option
-
Read the agreements and follow the prompts
Add Custom Dimensions to Google Analytics Updated
This will let you pass custom variables from Canvas to Google Analytics such as User ID's, User Names, Course ID's and more.
- Navigate to the Admin Portal (If you just created your account you are already there)
- Click on "Custom Definitions" menu item
- Click on "Custom Dimensions menu item
- Click "+ NEW CUSTOM DIMENSION" button
- Add the following dimensions in order (If your index number is incorrect shared dashboards may not work)
Add Custom Javascript to Your Institution's Theme Editor
** Custom Javascript has been known to break things in Canvas. As of writing this post, May 31, 2019, it is working, but be aware that could change in the future.
- Download the attached Javascript File (If you cannot download for browser security reasons, you may copy and paste the code into a .js file from github. Minified Script. Non-minified Script.)
- Edit the File in a text editor
- You'll need to customize line 3 (if using the minified version), or line 168 (non-minimized) with your tracking id number. Updated
//Working as of Aug 28, 2019 function removeStorage(e){try{localStorage.removeItem(e),localStorage.removeItem(e+"_expiresIn")}catch(t){return console.log("removeStorage: Error removing key ["+e+"] from localStorage: "+JSON.stringify(t)),!1}return!0}function getStorage(e){var t=Date.now(),o=localStorage.getItem(e+"_expiresIn");if(null==o&&(o=0),o<t)return removeStorage(e),null;try{return localStorage.getItem(e)}catch(t){return console.log("getStorage: Error reading key ["+e+"] from localStorage: "+JSON.stringify(t)),null}}function setStorage(e,t,o){o=null==o?86400:Math.abs(o);var s=Date.now()+1e3*o;try{localStorage.setItem(e,t),localStorage.setItem(e+"_expiresIn",s)}catch(t){return console.log("setStorage: Error setting key ["+e+"] in localStorage: "+JSON.stringify(t)),!1}return!0}async function coursesRequest(e){let t=await fetch("/api/v1/users/self/courses?per_page=100"),o=await t.text();o=o.substr(9),o=JSON.parse(o);var s=JSON.stringify(o);return setStorage("ga_enrollments",s,null),parseCourses(e,s)}function parseCourses(e,t){if(null!=t){let s=JSON.parse(t);for(var o=0;o<s.length;o++)if(s[o].id==e)return s[o]}return null}function gaCourseDimensions(e){custom_ga("set","dimension4",e.id),custom_ga("set","dimension5",e.name),custom_ga("set","dimension6",e.account_id),custom_ga("set","dimension7",e.enrollment_term_id),custom_ga("set","dimension8",e.enrollments[0].type),custom_ga("send","pageview")}function googleAnalyticsCode(e){var t,o,s,n;if(custom_ga("create",e,"auto"),t=ENV.current_user_id,o=ENV.current_user_roles,custom_ga("set","userId",t),custom_ga("set","dimension1",t),custom_ga("set","dimension3",o),n=window.location.pathname.match(/\/courses\/(\d+)/)){n=n[1],s=0;try{let e=getStorage("ga_enrollments");if(null!=e){var r=parseCourses(n,e);null===r?coursesRequest(n).then(e=>{null===e?(custom_ga("set","dimension4",n),custom_ga("send","pageview")):gaCourseDimensions(e)}):gaCourseDimensions(r)}else coursesRequest(n).then(e=>{null===e?(custom_ga("set","dimension4",n),custom_ga("send","pageview")):gaCourseDimensions(e)})}catch(e){if((s+=1)>5)return custom_ga("set","dimension4",n),void custom_ga("send","pageview")}}else custom_ga("send","pageview")}!function(e,t,o,s,n,r,a){e.GoogleAnalyticsObject=n,e[n]=e[n]||function(){(e[n].q=e[n].q||[]).push(arguments)},e[n].l=1*new Date,r=t.createElement(o),a=t.getElementsByTagName(o)[0],r.async=1,r.src="https://www.google-analytics.com/analytics.js",a.parentNode.insertBefore(r,a)}(window,document,"script",0,"custom_ga"); googleAnalyticsCode("UA-12345678-1"); // customize google analytics tracking number here
- Save the javascript file after making changes
- Upload the javascript file into your institution's Theme Editor
- Navigate back to Google Analytics and view real-time data to see if it is tracking real-time users on your account. Know that you may have to wait for 15 minutes or so to be able to see custom dimension data.
Build Dashboards & Reports in Google Analytics
- You may wish to get started by downloading the following dashboards:
- General Canvas Dashboard
- Course Metrics Report (link coming)
- Top Users by Role Report (link coming)
- Build your own and once you get it the way you want, share the template URL in the comments on this document!
Embedded Custom Javascript File
There were issues with people copying the embedded Javascript. Please view the scripts on Github.
Changes Made (May 31, 2019) New
The updated script has undergone significant change. Below are some highlights of what the updated script does. The updated script is mostly backwards compatible with the previous version.
General Changes
- Updated to remove any jQuery dependencies. Modern javascript is being used (may not work on Internet explorer). This means that API calls are now asynchronous and non-blocking. Improves performance.
- Fixed a bug that meant some pageviews were never sent.
- Added a timeout if API requests fail to avoid server spamming
- Added support for Google Analytics User-ID tracking
- Altered API Endpoint & Data Caching
- Instead of pulling the course information (/api/v1/course/:course_id), the script pulls a user's courses ("/api/v1/users/self/courses?per_page=100") which includes an enrollment object and caches the returned value into local storage. The associated enrollment object allows us to set the "Canvas Course Role" dimension. Caching the data should also result in significantly better performance due to reduced API calls. If a course does not appear in the user's course list just the course_id and user dimensions will be sent (should only be for Admins and public courses). Also it will only pull the first 100 enrollments for a user (let me know if you need support for pagination with the revised endpoint).
Dimension Changes
- Canvas User Roles Updated
- Instead of filtering for a best match of a user's roles and only returning 1 value this is now a comma separated array of all of a user's roles. When filtering on this value, look use something like "contains" & "student" to get any users with a role of student. The data is still pulled from environmental variables. You should be able to build better Audience Segments from this data. (ie: Students should only have user, student, and maybe ta roles).
- Canvas Term ID New
- This can be a valuable filtering tool as much of Canvas built in reports filter on terms
- Canvas Course Role New
- By altering the way the script queries the course data, we are able to now capture the exact role the user has in a course. If a user has multiple user roles in a course, the value assigned to the pageview will always be the first role in the array. This should be a very useful dimension for building reports and analyzing course usage. If you think capturing all user roles will be helpful, let me know in the comments.
When sharing a quiz to Commons it failed and issued the message:
There was an error generating the tool launch.
What would have caused this and how can we fix it.
Hi all,
(I use sandbox with AWS Canvas Subscripiton.)
Our tool requires user authorization for using Calendar API. However, users would be redirectd to Canvas login page when asking for permissions with authorization code path in iframe. It works perfectly when opening in a new tab, though. I wonder how I could run auth redirecting smoothly in iframe.
Could someone please give me some directions so that I could know where to work on?
Many thanks,
Tina
Hello.
I have had no luck over the last few days with my attempts to get Safari and Chrome to work with Canvas. Firefox will allow me to access Kaltura for some reason. My attempts at seeking support through UITS at Indiana University have been nothing but frustrating.
When I log in to Chrome or Safari and enter Canvas, the Kaltura app will not open. It gives me this message:
"It seems your browser is blocking 3rd party session cookies which are required for the Kaltura application. To resolve this issue, please update your settings to allow 3rd party cookies."
Here's what I have tried:
- Turned off and switch VPNs
- Set preferences to accept all 3rd Party Cookies
- Restart both browsers and Macbook running latest OS.
- Emptied all caches
I made no changes to Firefox, except allowing for 3rd party cookies and it worked. Yes, I should stick with Firefox and I will for now, but this kind of error disturbs me because my students use a variety of browsers. My job is to teach them and this kind of thing is a significant disruption.
Can anyone off some guidance. I know my way around, but I'm no sys-admin. I just want to be able to send my students the videos they have and not have to play - which browser will work today.
Thank you for any help.
John Herrin
Johnaherrin@me.com
- Labels:
-
Canvas
For best performance, Instructure products should be used on the current or previous major releases of Chrome, Firefox, Edge, or Safari. Because Instructure products are built using web standards, Instructure products run on Windows, Mac, Linux, iOS, Android, or any other device with a modern web browser.
Instructure products only require an operating system that can run the latest compatible web browsers. Your computer operating system should be kept up to date with the latest recommended security updates and upgrades.
Note: Vanity Canvas URL users may encounter SSL validation errors when they open Canvas if their browser or any other tools interacting with Canvas are not Server Name Indication (SNI) compatible. All browser versions listed in this guide are SNI compatible.
Supported Browsers
You should always use the most current version of your preferred browser. Your browser will notify you if there is a new version available.
Unsupported Browser Banner in Canvas
Some supported browsers may still produce a banner stating Your browser does not meet the minimum requirements for Canvas. If you have upgraded your browser but you are still seeing the warning banner, try logging out of Canvas and deleting your browser cookies.
Enterprise Extended Release Browsers in Canvas
Chrome and Firefox offer extended release versions for organization that manage client desktops. Chrome ESR can be kept up-to-date with the existing full version of Chrome at any time. However, Firefox ESR is only updated with every seventh major version, which causes Firefox ESR to overlap with outdated versions. The Firefox ESR webpage notes that ESR may not be supported in every web application because of this version release delay. Institutions who use Firefox ESR should consider deploying the latest release to ensure the best Canvas user experience.
* For extended release browser versions, the warning banner still applies and displays in Canvas for any browser below the minimum version requirement.
Known Browser Behaviors
Like all Instructure product features, contrary behaviors relating to browsers are prioritized by our product teams, and some behaviors in the previous version may not be resolved. If a behavior exists in the previous version of the browser that does not exist in the current version, the best solution is to update to the newest browser version.
Accessibility
Instructure is committed to W3C's Web Accessibility Initiative. To learn about supported screen reader and browser combinations, please see the Canvas accessibility standards, accessibility within Studio, and Mastery Connect accessibility options documents.
JavaScript
JavaScript must be enabled to run Canvas.
Browser Plugins and Extensions
Some browser plugins or extensions may conflict with Instructure products and affect functionality. If you experience behavior that does not allow you to view or participate in Instructure products, please ensure you have disabled any extensions or plugins that interact directly with your web browser.
For troubleshooting, consider logging in to Instructure products using an incognito or private browser window, which provides a browser session without any prior browsing or search history, associated browser cookies, or other factors that may interfere with the browser. If you are able to view and participate in an Instructure product using an incognito or private browser window, the behavior you are experiencing is likely related to the browser and not the Instructure product.
Browser Privacy Settings
To ensure browser security, follow all browser security policies established by your institution, especially if you are using Instructure products on a computer provided by your institution.
When displaying content, Instructure products default to the preference set by a specific browser. Some browsers may occasionally make modifications to privacy settings to protect users from possible insecure content. Insecure content is identified with the prefix http:// in the URL and can create mixed content in your product page. Secured content is identified with the https:// prefix in the URL. For the best user experience, content should be secure to avoid browser conflicts.
- If you are a Canvas admin, insecure content may be caused by hosting an insecure JS/CSS file outside of Canvas. If custom uploads are supported for your account, you can host your file in the Canvas Theme Editor, which will resolve any browser conflicts.
- If you are a Canvas instructor who embeds Canvas lessons inside your course, you can prevent browser issues with mixed content using secured Canvas Guides URLs.
Known Browser Behaviors
Chrome, Edge, Firefox, and Safari use HTML5 to display website content, promoting a faster, more secure browsing experience. For best performance in Instructure products, content should be designed to support HTML5.
In browsers such as Safari, insecure content never displays in the browser.
However, in Chrome and Firefox, you have the option to view insecure content. Please be aware of possible restrictions and view insecure content with caution.
The Safari browser does not support recording media.
Chrome Security
Google Chrome verifies that the website content you view is transmitted securely. If you visit a page in your Instructure product that is linked to insecure content, Chrome displays a shield icon in the browser address bar [1].
You can choose to override the security restriction and display the content anyway by clicking the shield icon and then clicking the Load unsafe script button [2].
Chrome Media Permissions
Chrome has its own media permission within the browser. To use your computer camera and microphone within any Instructure product feature, allow access to Instructure products via Chrome's media permission settings. This prompt appears just below the address bar [1]. To allow access, click the Allow button [2].
Firefox Security
Firefox verifies that the website content you view is transmitted securely. If you visit a page in your Instructure product that is linked to insecure content, Firefox displays a lock with a warning icon in the browser address bar [1].
You can choose to override the security restriction and display the content anyway by clicking the lock with a warning icon, clicking the arrow to expand your options [2], and selecting the Disable protection for now button [3].
Computer Specifications
For best performance, access Instructure products with a computer that supports the most recent browser versions. It is recommended to use a computer five years old or newer with at least 1GB of RAM.
Operating System
Instructure products require an operating system that can run the latest compatible web browsers. Your computer operating system should be kept up to date with the latest recommended security updates and upgrades.
Internet Speed
Along with compatibility and web standards, Instructure products have been carefully crafted to accommodate low bandwidth environments.
It is recommended to have a minimum Internet speed of 512kbps.
Mobile Devices
Instructure products are optimized for desktop displays. However, if you are using a mobile device, you can access Instructure products using a mobile application (app) or mobile browser.
Mobile Apps
For the best user experience, please download the product mobile apps. Mobile apps are currently available for Canvas and Mastery Connect.
The Canvas mobile apps require Android 8.0 or later and iOS 15.0 or later. Canvas offers limited support for native mobile browsers on tablet devices. For additional details, please reference the limited-support mobile browser guidelines.
Mastery Connect mobile apps require Android 8.0 or later and iOS 15.0 or later. For additional details, please reference Mastery Connect Requirements.
Mobile Browsers
Visit the Apple store or the Play store to download mobile browsers. The following major browsers are compatible with mobile devices:
iOS
- Safari (default browser with limited Canvas support)
- Chrome
Android
- Chrome (default browser with limited Canvas support)*
- Internet
- Firefox
*Android default browser varies per mobile device.
A teacher came by today and asked if there was a way to print a quiz. I had never done this before. I found two ways:
1.Click on Preview and print from there but it wouldn't look clean. In a pinch it would work.
1. Preview the quiz and Ctrl+P change your printer to Save as PDF and then print. The result is clean.
Any other ideas?
- Labels:
-
Instructional Designer
-
I just updated the extension to work with vanity URLs. Go ahead and give it another shot if it h...
-
I can confirm this behavior. Canvas cloud customers can pay for a vanity url which will brand t...
-
The issue appears to be with "vanity" URL's or whatever you want to call them. I pulled your e...
-
Same here, it's working as advertised on our vanity URL. For the uninitiated in using c...
Hey All!
I know how to wrap text around an image. Is it possible to wrap it around a video?
Thanks!
Leslee
The absence of LTI based participation from both New Analytics and Admin Analytics is pretty much a showstopper for courses that make intensive use of New Quizzes and other integrations. The result is to substantially underreport student activity.
As an interim measure, could Canvas find/implement a mechanism which allows either
- An LTI based activity to trigger a participation record instead of a page view for every launch OR
- An LTI based activity to trigger a participation record for the FIRST launch
There may be LIT categories that we may wish to exclude.