lemonsle
Community Member

Unmute date

Is there a way that I can see the date that I unmuted an assignment's grades?

Thanks in advance,

Lesley

3 Replies
Robbie_Grant
Coach Emeritus

 @lemonsle ,

Currently, that functionality does not exist in Canvas. I even ran a quck test to see if this information is picked up in the Page Views that a Canvas Admin has access to and it is not.


Robbie

James
Community Champion

 @lemonsle ,

 @Robbie_Grant  has given an answer for what is easily available through the web interface. However, if you're willing to dig a little deeper, the information may be available.

"Muting" has been deprecated by Canvas with the new gradebook, even through it's a term commonly used by people. Many have commented that the new procedure (post or hide grades) is confusing and still call it mute and unmute. That said, I'm going to answer the question based off of that's what you meant when you said "unmute."

The information about when a grade became available to the student is contained in the submission information. There is a field called posted_at that contains the date and UTC time of when the grade was posted -- that is, when the student was able to see it.

This can be obtained through the List submissions for multiple assignments endpoint of the Canvas REST Submissions API.

Let's say that I have an assignment with an ID of 3697779 inside a course with an ID of 896851. This is in my sandbox course with some fake students, but here's how it looks inside the new gradebook.

330058_pastedImage_5.png

The first student has it hidden, the second has it posted, and the third hasn't submitted it.

Then I can make this call and get the information.

/api/v1/courses/896851/students/submissions?student_ids[]=all&assignment_ids[]=3697779

If you suspect that all of the students obtained their grade at the same time, then you can optionally add &response_fields[]=posted_at&exclude_response_fields[]=preview_url to the end of that to eliminate a lot of the crud.

I make this call (this is all one line, I broke it for readability)

/api/v1/courses/896851/students/submissions?
student_ids[]=all
&assignment_ids[]=3697779
&response_fields[]=posted_at
&exclude_response_fields[]=preview_url

I get these results. It was delivered in JSON format, but I stripped out the formatting to get just the posted_at field.

  • "posted_at":null
  • "posted_at":"2019-11-06T06:22:27Z"
  • "posted_at":null

There's also an anonymous ID that I removed, but I can see that the one student who got their grade got it at 12:22 am (CST) on 2019-11-06. That's not really true -- more on that later.

If I go into Canvas and post that grade that is hidden by the section, then I get these results.

  • "posted_at":"2019-11-06T06:38:38Z"
  • "posted_at":"2019-11-06T06:22:27Z"
  • "posted_at":"2019-11-06T06:38:38Z"

Note that even though the third student didn't turn in anything, they were in a section that I posted the grades for so now they can see their grade.

If I go into grades and release (post) them to everyone who has been graded, rather than by section, then I get this.

  • "posted_at": "2019-11-06T06:42:23Z"
  • "posted_at": "2019-11-06T06:42:23Z"
  • "posted_at": null

Note that it changed the grade on the second student to match the current time. The same thing happens if you post the grades to everyone, then all of the posted_at gets set to the same value.

In other words, the posted_at is updated even if the availability does not change. You lose that Danny (second student) had access to his grade at 12:22 am while James and the Test Student didn't have access until 12:42. It only keeps the last date the grade was posted, not the first date the grade was posted.

If you don't have the technical skills to pull this information out of the API, all is not lost. Canvas now has a graphical interface available for their up-and-coming API. They're moving to something called graphQL and they have an interface in the browser. If you go to your Dashboard in a browser and add /graphiql to the end of the location (URL), then you can get to the interface.

Paste this code into the Query box in the middle, change the id on the assignment to match your assignment, and then click the Run button.

query PostedAtDate {
assignment(id: "3697779") {
submissionsConnection {
nodes {
postedAt
}
}
}
}
‍‍‍‍‍‍‍‍‍

It looks like this and the run button is the big circle with the triangle.

330311_pastedImage_9.png

The results box to the right of the query will show the results. This time the test student is not shown. If the student cannot see the results, then the date and time will be null.

330312_pastedImage_10.png

0 Kudos

This is SO helpful. I knew there had to be a way. My only question is how do I find the assignment ID number? I’ve poked around but am not seeing it.

Thanks,

Lesley

*~*~*~*~*~*~*

Lesley Lemons, M. Ed., CHES

Lecturer

College of Health & Behavioral Studies| Health Sciences

James Madison University

235 Martin Luther King Jr. Way, MSC 4301

Harrisonburg, VA 22807

Phone: 540-568-5056

Room 1062 HBS Building

Fall 2019 office hours

Monday 11:15-12:15

Wednesday 1:00-2:00

Thursday 2:00-3:00

Other times by appointment only.

0 Kudos