@mikeg
You're asking the wrong question, but I'll answer it and then give other options.
- course.discussions means they viewed the list of discussions for the course (clicked on the Discussions navigation link).
- course.discussions.discussions is a specific discussion rather than the list of all discussions.
In Canvas, announcements were built upon the discussion framework, so a reply to an announcement or viewing an announcement might show up as a discussion.
Now, as to why it's not going to help.
You're not going to get the information you asked for through New Analytics -- if at all.
The New Analytics Course Report is similar to the access report, but for the entire course rather than one student at a time. It's cool that Canvas finally has that -- I wrote a script in February 2016 to go through and gather it because they didn't have it at the time. Even today, mine is pulled real-time and gives you the entire course-worth of data, while Canvas's is pulled near real-time, is up to 40 hours delayed, and you can only get 14 days worth of data from New Analytics. But other than those limitations designed to speed up things, they're basically the same.
You get the first time they viewed or participated and last time they viewed or participated. You get how many views and participations there were in to total.
A view is opening the discussion. It is not related to actually reading anything on the page. If I open the discussion page and close it without reading things, I get a view.
It does not tell you whether the students read any replies/comments. It does not tell you which comments were read. It is summary-level data only. There is no way from that report to tell whether they read your comments or not.
Information about unread replies and which ones they were are only available to the user themselves. That is, for the instructor to get that information, they had to masquerade as the student. Through the Canvas API, they could get the full topic and get a list of unread_entries. You would then have to go through and see if one of those entries matched up with your posts.
Most faculty do not have permissions to masquerade as a student. I happen to be a Canvas admin, so I did. I finally gave up on it. My class sizes shrunk considerably after we returned for COVID and I didn't need to do discussions since we're face-to-face so now I use them selectively. Beyond the lack of need, there was a major hassle involved. I needed to get the data from our Canvas beta instance so it wasn't triggering an additional view of the discussion for the student. But since I was waiting for the beta instance to be upgraded, discussions had to finish by Friday and then I couldn't reliably grade them until Sunday. It just wasn't worth it for me.
With the delivery of Canvas Data 2, you can use the canvas__discussion_entry_participants to determine the unread status for each user for each discussion entry. Canvas Data 2 would allow me to resume this checking -- if I really thought it mattered. Data is available within a few hours, but that's better than waiting the weekend for it. The problem is that Canvas Data 2 is typically not available to instructors either. It's a database, so you need database skills, and permissions to download and set it up. It contains information about a lot of stuff, so it's not something that your school will just give to instructors (unless perhaps you're in my situation where I'm an instructor, Canvas admin, and know about databases).
It may be possible that someone at your school is using Canvas Data and you could request them write a query that would return the information for your courses.
Does that mean all is lost? Well, maybe not. Were your comments posted in the discussion or individually to the student through SpeedGrader? If you're using SpeedGrader, then your feedback has nothing to do with a discussion, it has to do with submission comments.
You can use the GraphQL interface to check. Start on your Canvas Dashboard and add /graphiql to the end. Replace the 48093171 with the assignment ID for your discussion (not the discussion ID, but corresponding assignment ID). You can get that ID from the SpeedGrader URL or by hovering over the assignment on the assignments page and looking at the URL.
query assignmentSubmissionComments {
assignment(id: "48093171") {
submissionsConnection {
nodes {
user {
_id
sortableName
}
commentsConnection {
nodes {
createdAt
author {
sortableName
}
read
comment
}
}
}
}
}
}
This shows me every submission comment for an assignment, when it was created, who wrote it, the comment itself, and whether it was read.
Except it doesn't. My read property is coming up false, even when a student responds to my comment so I know that they read it. It wasn't until I went to the Inbox, selected Submission Comments, and read it there that it showed up as true.
The issue, once again, is that it was my reading it that Canvas was showing, not the student reading the message. I would need to be able to masquerade as the student to get the information about whether they read it. And knowing that it had to be read through the submission comments folder of the inbox is really limiting.
You could check to see if there was a student response to your submission comment, but that's more than just them having read it.
Adding to the complexity, knowing that someone read something that could be sent via notification is challenging. If they read it in Canvas, it should show up as register somewhere as being read. But if they read it via email, there's no way for Canvas to know that it was read.
In short, a non-admin user is going to have a hard time telling if a student has read a response. And even Canvas admins won't be be able to tell you with certainty that a message has been read if Canvas says it hasn't.
Even going back to discussions, you can set Canvas up to send you notifications when new posts are made. The student could be getting your message via email and there's no way Canvas knows whether the student read that.