In the course we are managing, the students have responded to a number of discussions. When we look at the # of participations reported under the course analytics list they are consistently lower than the number reported when looking at an individual student's analytics. Even better is there a way we can get an accurate account of participations for all the students more efficiently than looking at the analytics for each individual student? There are over a thousand in the course and we need to identify each one that reached a certain participation threshold.
This worked well enough for our current situation. The only problem was that our dataset in Canvas was too large (~2000 students and lots of discussions), so the script run timed out before finishing the count. Google terminates the script at around 5 minutes. As a work around, I watched the tallying and got a sense that I could interrupt the run when the count on a particular discussion reached a certain number. Then I ran the update and the uncounted discussions were treated like new discussions, so I think I got close to a total count. It would be nice if there was a way to override the Google run-time limit. In any case, thanks for putting this tool together @James
You're on the right track. Here's a fuller explanation.
The script looks for discussions that have already been analyzed when you run it and there is a way to do an incremental load rather than a full load.
So, let's (for simplicity) say you have 10 discussions 1 ... 10 and the first time it gets through 3 complete discussions and part of the 4th one. What you should do is go into the Data sheet and delete all the stuff for Discussion 4 and then re-run the process.
You should use "Refresh All Discussions" the first time and then use "Append New Discussions" for any subsequent runs. You just need to make sure you delete any partial loads from the Data page before doing it.
If you can't get even an entire discussion done within 5 minutes, I don't know how to help. That's a limit of Google. I know that some people have saved how far they got in the process within the spreadsheet so it could pick back up at that point if it was restarted. My work-around was the "Append New Discussions" option.
Thank you that is helpful to look at. I notice where you have your app posted you say that version 3 is supposed to count group discussions as well. Is there something I have to do to get the group discussions to be counted as well that I'm not seeing?
Theoretically, no, but I suspect it's running into the timeout issue.
That said, here are some things that might influence it not working.
As with most of what I write, it's a "it works for me, I hope you can get something out of it" scenario.
I have no way of testing 2000 students as we have nothing that large at our school (we have one course with all of our enrollments in it and it has 5300 students, but it's a resource course and there are no discussions.
The script could probably be modified to run on one section at a time rather than the entire course at a time, which may or may not be helpful -- especially if you let people from different sections into the same group.
It may also be possible to cache the list of users in the spreadsheet and then get the information from there rather than downloading it from the net every time. It would be similar to the way that I check for existing discussions. I didn't do that because I have small classes and enrollments may change as people transfer in or out of sections. In fact, you could also write the processed discussions to another sheet as well, but then you might have the problem of someone deleting the information in one spot but not from the main table.
It could probably be modified to treat the Append New Discussions separately from the Refresh All Discussions. If you Append, then it doesn't fetch the user information but attempts to look it up in the existing data. If it doesn't find it, then it does a search for those specific users rather than fetching the entire thing.
That last one is probably the best approach, but it's not likely to happen on my side for a while. I've got to get ready for Spring semester and I don't even use this script as I grade discussions as they happen without trying to find an overall grade for the entire course. I've got a separate spreadsheet I'm developing that does that and provides much more detail about an individual discussion, but it doesn't do group discussions yet and it would probably suffer from the same timeout issue I think we're seeing here.
Hello @burrasto ...
I noticed that there hasn't been any new activity in this discussion topic for over a month now, so I thought I would check in with you to see if you had any other questions. As @kona asked, did the responses from @James help to answer your question? Do you have any outstanding questions related to your initial question? If you could, please come back to this topic to post an update for us. Also, if you feel that one of the responses from James has helped to answer your initial question, please go ahead and mark it as "Correct". For now, because this topic hasn't seen any new activity for quite some time, I'm going to mark this question as "Assumed Answered", but that won't prevent you or others from posting additional replies below. I hope that is okay with you. Looking forward to hearing from you soon.