I am wanting to produce two simple reports; one that shows total # of logins to Canvas over a period of time, and one that shows total # of unique logins to Canvas over a period of time. I thought this would be simple to produce, but am having trouble finding where I can produce these two reports. I have viewed the "Statistics" page, the "Analytics" page, and ran a couple of different reports, but am a bit confused as to what all this data represents. I ran the "Last Access" report, but am not sure if this data represents total # of logins, or unique logins?
I'm probably making this harder that it should be, but just wondering if anyone had any advice on the best way to produce these reports?
The #last access report shows the last time that the student logged into Canvas and not the total # of logins or unique logins.
Currently I don't think there is a canned report that you could just pull within Canvas that would get you what you're looking for.
If this is possible you're going to need to look at the #canvas data to see if this is possible. I would start with looking at the #requests table and see if you're able to find a way to pull the information from there.
I am also going to share this over with the Canvas Developers and Canvas Data groups to if others have done anything similar to what you're looking for and can share some insights on how they accomplished it.
I attempted to do this for various reasons using Canvas Data. One of them being to identify users who logged in from multiple locations during the same period. While the requests table can give you days the user was active it's separate from 'logins'.
The pseudonym tables are helpful, but not great. They only list 1 row per user with last_login and current_login fields. We spoke to Canvas Prof Services about getting a custom report or asking for Canvas Data to have a new table... something where it should build like requests and show each time a user logs in. The cost was too high. We are looking into other solutions that provide more than a CSV.
The "Admins Tool" in Canvas has a logging feature that lets you see all login events for a user. A quick inspect shows that it is using an unpublished API endpoint to pull this data. Writing a script to loop through the user_ids and within a date range could capture the data that you are looking for carroll-ccsd.
And a little bit of playing with that api endpoint, it looks like you can hit an account level endpoint: (so no looping through users)
WOW @jperkins Thanks!
I had no idea this endpoint existed. It almost does what I need, and maybe if I load it into a database I can try and tag along requests and get the users IP... for geo locating. Will take some work.
You've made me realize that if there's something in Canvas I want and I can't find documentation on it, I should probably try finding it in Canvas and just watching the Network Tab, and maybe I'll get what I'm looking for. :smileygrin:
We have been asking for a better log of interactions for years. What we need is a log (not just for admins, but for all of us) that gives an item-by-item dated log of each occasion when a student accesses each page or part of the site. The way Canvas does it, we only know how many times they accessed something and when the most recent access was. But that info is basically useless. We can't tell whether they accessed assignment instructions 15 times on the same day, after the deadline, or 15 times over a two-week period starting well before the due date. We need this for resolving claims from students and for academic integrity cases. For example, if a student with a missing paper claims at the end of the semester that they thought they had submitted but the submission was not recorded, it is helpful to know the date / time when they FIRST accessed the assignment in question.
The pattern of when exactly students access items is also useful for us for designing the course.