I found the idea for exporting group rosters, but since it isn't made yet I'm wondering if anyone has written something to do this through API or have one of those amazing google spreadsheets that pulls such a list for us? I didn't see anything in the searches.
I'm thinking something that would get me
SIS user ID or email
with the last two repeating until all the group sets were done.
Anyone have something for this?
I think I've encountered a couple of people who have written code to do this, although I don't remember exactly where right now. It seems they were written for programmers (people using python or some other language) and not for the masses, but there are undoubtedly things I'm not aware of or that I missed (apologies in advance).
If you are an admin, there is a not so user friendly approach available to you. The Provisioning Report allows you to export data from Canvas. In there is the option for Group Categories, Groups, and Group Memberships.
Group Categories contains the major groupings, the holders of the groups if you will. It includes the ID's for the group category, the context (course or account) and context code (course ID or account ID), the name of the category, the role (student organized), self_signup?, any group limits, and whether the leader should automatically be assigned.
Groups is the next level and contains the individual group names within each of the group categories. It contains the group ID as well as the group category ID to tie it back to the group categories table, account or sub-account codes, the name of the group, it's status, whether it was created by the SIS, the context and its code, and any maximum membership.
Group Memberships contains the users for each group. It contains both the Canvas and SIS ids for the group and user, a status flag of whether or not the membership has been accepted, and a flag to indicate whether or not it was created by the SIS.
You can take all that information and combine it with the courses and the users reports to get the information you need.
If all that sounds too complicated then you're in good company as it takes a lot of manipulation of tables to get what you want. Also, it's not available to individual instructors, who are most likely the ones wanting to use it.
Speaking of things that normal people can't use directly, there's Canvas Data. It has group and group_membership tables and from there you can link to the course, user, and pseudonym tables to get the other information that you need.
I have written the code to pull that information from Canvas through the API (it's kind of slow because of the way they have it set up) for use in a Google Sheet script I wrote to count the discussion posts. It doesn't display it directly, but it fetches it, so that could be a starting point for someone wanting to write a Google Sheet that did that.
This is one of those requests that comes up every now and then and could benefit people. I had great plans of incorporating it into a script that would start with a list of groups and populate the scores based on that, but allow you to override individual students. The impetus for that was that I have group presentations that you have to be present for, but as long as you're present, you get the group grade. I have to mark them as individually graded in Canvas, but then they're not associated with the group name and it's harder to enter the grades since I recorded the grades based on the group name, not who was in it. Anyway, as with a lot of things, finding time to write the code is often difficult as other things come along that need done.
The link to a new post above does not work think link broken, looking to see if we can find a tool to help, seems a pity its not part of Canvas reporting.
Looking at the api's to write a report, looks like need to make iterative calls per course to pull out the group categories, then iterate through each to pull out the student details which is slow. Has anyone come up with a different approach to getting students discussion groups?