I want to take this time to share how we use Canvas Data.
First, we do not have a subscription for Redshift. It costs too much for our little university. So, I opted to use CanvasDataViewer. Thank you, Bill and Andrew, for creating such a wonderful project. However, I had to use SQL 2014. 2016 would not work. The request table was kinda small for my liking. I created some bat files to add 3 additional months to the requests table. HINT: I used the CanvasDataCLI to do this, with some .bat files. Everything works great!
The second step was the most difficult; finding a front end. We don't have Tableau and based on our current usage, the price was too much. This led me to research FOSS. I tried several: Knime, Superset, Knowage, and even tried building my own with Django. Unhappy with those options, I discovered Metabase. So far, I'm really enjoying it. Tableau is more powerful, but also more complicated. Metabase has been easy to use. The one downside is I find myself writing more SQL rather than leveraging their query builder system. Picture below
It lacks the functionality of doing joins which means you need to write your own SQL most of the time. Hopefully, they improve that! Oh, the one feature I see a lot in the Tableau report is the calculated fields. I had to use SQL to replicate that functionality. Things like getting the word "iPhone" from the user agent. I would prefer to use Regex.
What I do like is the ability to share the dashboards publicly (relative; firewalls and such). I click the share button and a public link is given. No user account creation. I had a Dean recently request a list of LTIs being used for a particular course, over time. I made the SQL, created a dashboard, shared the dashboard, and sent the link. You can do CSVs and PDFs, but the dashboard is dynamic. The dean can click the link 6 months from now and see the updated list. I'd image other software can do this too. The other software I tried was just complicated and bloated with features not familiar or useful to me. Superset was a close second.
Here's a screenshot of one dashboard I made.
To Recap: Both are self-hosted in our VM cluster.
Backend: CanvasDataViewer (Windows VM)
Frontend: Metabase (Debian VM)
I see a lot of Tableau posts and decided to show another option. I'm not advocated (or selling) Metabase. It's what works for me and may not work for everyone.
Is anyone else using something other than tableau? I would love to hear your experiences.
Thanks for this Will.
I was just wondering if you guys have ever created a dashboard for students or parents to see? I imagine you would need to use LTI integrations to plug this into canvas but do you know if this is possible with Metabase?
Thanks for sharing, @wlehnertz . I really appreciate this as we are in the beginning stages of using it and trying to see if we can use it. Did you have to spend additional funds in order to make this happen? We don't have Amazon RedShift either. Most likely, we would be using Microsoft Excel.
When subscribing to the Live Events, it asks me for a SQS URL, which I have no clue as to what this is. Could you please explain? Thanks so much.
There are some good Live Events resources listed here Awesome CanvasLMS #CanvasLiveEvents
A good start is How do I create an SQS queue to receive Live Events data from Canvas? including the comments where I outline some of the costs of AWS/SQS #comment-135849.
The document How do I subscribe to Live Events in the Canvas Data Portal? is useful, but also consider that data portal is being deprecated, posted here Live Events Services - Table of Contents (about half way down) and a new one is available for testing in Beta, Data Services : Data Streaming Form
Getting Live Events into Excel will probably pose some technical difficulties as the data isn't structured that way. I've been working on and using a solution that gets events into SQL, instead of using AWS. LEDbelly - Live Events Daemon for Canvas LMS - SQS to SQL.
Canvas Data on the other hand, has more options. Some require AWS, other's can be imported and hosted on premise with various tools and databases.