cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DinaFrancisco
Community Participant

Custom Reports

Hello All,

 

I am new to being a Canvas Admin so if this sounds dumb it might be. 😉  We are trying to find a way to make a custom report due to large groups of students being on quarantine, we would like to create a group with those students and see user activity for a set period of time. The groups would change, obviously, so we need to be able to create new groups and new time periods. Where could I even start to do something like this? There's so much information, I don't know where to start.  Please advise. Thank you.

0 Kudos
10 Replies
brian_mullins
Community Participant

Hi Dina, and welcome to Canvas Land!

A lot of what you are asking for is dependent on what 'user activity' means. Some things, like login activity, are very simple to find. Others take a bit more work. My suggestion would be to build a mechanism for building and maintaining the group outside of Canvas. Large, cross-course groups are not really something that can be done, at least not that I've ever seen. One way to do the grouping in Canvas, if necessary, would be to build a non-published course for each group and enroll the students. 

If you can articulate what 'user activity' means, post it here and maybe the community can help more.

 

Thanks,

 

Brian

Jeff_F
Community Champion

Do you have Canvas Data already set up? 

If so, here is an idea:  create a Canvas course that includes only students with the given status (quarantine).  Empower the person(s) who curate this list to enroll and remove persons from that course.  The course doesn't need to be available to these students, but it could be a means of communicating announcements, etc.  This way only students who have that status active appear.

Then you as the admin can rely upon the enrollments of that course to create a list of Canvas user ID #'s (or email / SSID / etc.) for the purposes of generating your activity report.  Such a report could include various calculated fields that look for the MAX date for the specified users.

  • Date of last login
  • Date of last discussion post
  • Date of last assignment submission
  • Date of last page view
  • Date of last Canvas Message

And/or it is possible to count the number of discussions, submissions, etc. for the past # of days.

This is just a twist on an idea I am working on for another application.

Brian,

We did think of putting them in a course but then I wondered would we only be able to get data on that course or all courses they are in?

We don't need a lot of data just want to know that they are logging into Canvas, accesses their Courses, hopefully doing some work. 🙂

Just want a way to monitor without having to check each student's account. One group we had out was 130 students! ;(

We would love some help!

We were looking at the account API attribute but is a single user at a time. We could use that data but want to do it by a specific group of users for a specific time period. 

Am I making any sense?

Thanks for your help.

 

Dina

DinaFrancisco
Community Participant

Hello Jeff,

 

Thanks for your response. So, as I said to Brian, I am concerned that putting them in a course will only get information on that course. So, will we be able to get information for more than that "dummy course" we set up?

What you are saying sounds great. Now, how can we do that?

Any help is appreciated. This is all new to me. I was a teacher for 15 years (social worker before that) use a lot of technology, and I am great at platforms now this back end stuff is a little newer to me, and I'm learning a lot, but I need some help!

My coworker is helping me, and he is a "tech" person (a real one unlike me!) but this is new to both of us.

Thank you!

DinaFrancisco
Community Participant

Jeff,

 

How do I do this?  

Then you as the admin can rely upon the enrollments of that course to create a list of Canvas user ID #'s (or email / SSID / etc.) for the purposes of generating your activity report. Such a report could include various calculated fields that look for the MAX date for the specified users.

  • Date of last login
  • Date of last discussion post
  • Date of last assignment submission
  • Date of last page view
  • Date of last Canvas Message

Dina

robotcars
Community Champion

@DinaFrancisco 

Everybody has made some great suggestions here.

There are some example Canvas Data queries posted here:
https://community.canvaslms.com/t5/Community-Users/Awesome-CanvasLMS/ba-p/259722#CanvasData

with examples like: Enrollments View
https://community.canvaslms.com/t5/Canvas-Data-Users/Basic-enrolment-report/m-p/178717/highlight/tru...

You could possibly create a separate table in your database to track students who are in quarantine, what date they started, and what date they end quarantine.

You could select on table of students by date and JOIN it to the enrollments_view. Then you could attach the student's pseudonym_dim.current_login_at and enrollment_dim.last_activity_at to get a quick view of recent access.

This could provide the basics of a student quarantine list, that shows last login and last course activity. The last_activity_at field can be page views or submissions, and can only be used to determine the last time the student accessed the course. Additionally, Canvas Data will be 2 days behind which puts a huge kink in monitoring students during a ~14 day window. For further details, you'd need to dig into submission_dim and discussion_dim, or visit the students profile page in Canvas, so if a student looks like they haven't accessed in a couple days, you can get in and see.

This solution would be completely external from Canvas, and doesn't involve you adding students to a course or group in Canvas.

DinaFrancisco
Community Participant

Thank you so much for your response.

Remember I said, I'm very new so when you say "You could possibly create a separate table in your database " we have to use tableau or redshift to do this kind of thing? Do you have a suggestion of which might be best?

Because it's joining tables and the like it's probably not going to be able to be done in just excel?

Thanks,

 

Dina

 

@DinaFrancisco  Actually, the idea is to empower the business unit that already has responsibility for identifying persons with the status so they manage the enrollments in the course.   That course is used to enable you to generate a list of the enrolled student Canvas ID numbers, emails, etc.  Extract that list and use it as a parameter or filter to limit your report results which can be configured to look at all active courses for the current term.

The key ingredients here are access to the organization Canvas Data, moderate to advanced familiarity with the data schema  https://portal.inshosteddata.com/docs  ( this is about to change in the coming year or so), and a visualization or reporting tool such as Tableau, PowerBi, etc.   If you are missing any of these or just starting with Canvas Data my sense it may be a bit too much to start with.  

Note: all of the above is conditional of approval do do this. After all, privacy issues do factor in.

@DinaFrancisco 

It could be done with Tableau or RedShift. If you are downloading Canvas Data locally to a desktop then Tableau can open the CSV files. I'm pretty sure you should be able to merge an Excel file into Tableau as a second data source.