Can I use Canvas data to find courses that are associated with a specific outcome?
Currently, outcomes are not stored within Canvas Data and is something being worked on. The closest to this that you could get is to run the "Outcome Results" report found at the account level.
Can you be more specific about the outcome you are looking for? We use Canvas Data to go in the opposite direction (that is, use assignment_dim to find the assignments and then submission_dim to find scores).
Sure, I can explain.
At the Univ. of Michigan, we have some courses that use a specific application (non-LTI) for some of their assignments. We want to make it foolproof for instructors to indicate which of their assignments require their students to use that software. The indication needs to be something that we can look for using the API (a hybrid API/Canvas Data solution would be fine). We want to implement a process that finds those assignments and makes sure the students have the right access to the application, that the necessary supporting files are available, etc.
We tossed around a few ideas for how to let instructors mark their assignments for special processing. We are extremely disappointed that we're not able to place labels, categories, or tags of some kind on assignments and other resources. Eventually, we settled on creating an outcome, let's call it "Project X", that could do the job. It could:
However, the problem soon turned out to be that even when the outcome was associated with some courses and their assignments, we could not use the API to find them easily. I'm new to Canvas' API, but I've used a lot of other REST APIs. I expected that I'd just be able to query for assignments with the outcome and each of those would refer back to their courses, which would refer to the students. But Canvas' API isn't that flexible. It soon became apparent that we need to use a more brute force method: Query ALL of the courses, find only those with the outcome, then find all of their assignments, and get only those that have the outcome. There will probably be more steps along the way as well as pagination to deal with, so the number of API queries and length of processing time just keeps growing.
For now, we're settling on a less than ideal solution: Some of our local support staff will maintain a list of courses that need this special processing and instructors will contact them to have their courses added to it. That should cut out the largest amount of queries.
Ideally, we shouldn't have to work this hard to get the data. If we were able to use a relational DB, we could easily construct some SQL statements that join a few tables and give the results quickly. This experience has been frustrating.
I'm not aware of how to use the API--our database is hosted by Unizin in the Amazon cloud. I misunderstood what you meant by "outcomes". I thought you were talking about assignment outcomes, and not the separate tool in Canvas for importing outcomes. However, your question touches on an important issue for us, which is that we are thinking about what "snapshots" or some simplified view of Canvas Data that would be more user friendly for people who don't need to study click-stream data but rather need to learn about the overall components of Canvas courses and summary statistics of students' usage of those components.
Thanks for the answer, Sydney. It's unfortunate that it's not available, because I could really use it right now. My colleague Dan Burgess was trying to help me find this information in Canvas Data, so he'll be interested to know it's not available.
How can I be notified about the progress of outcomes being added to Canvas Data?
For what it's worth, it sounds like the prognosis for Outcomes being added to Canvas Data is highly uncertain as the Outcomes team within Canvas is re-imagining what that tool/component will look like. As a result, the Data team is hesitant to do any work on it as it will likely be changing, timeframe TBD ( they told us the two options are either within 6 months, or more than 6 months out... and this one is more than 6 months out). At least that is my takeaway from InstructureCon.
This is information I am also after. I had to refer to the Canvas Outcome Results API (because it is not available in the Canvas data) but then I learned that if the outcome is not graded, the API will not return any values so I am currently working with professional services to see if I can have that added
You'd like to have outcomes added to which, the API or Canvas Data? I'd like it to be in both places, but it would be most helpful in the API.
As a "solution" we use the Canvas REST API for retrieving outcomes, etc. and we use Canvas data for the rest. But this is not ideal. We very much want outcomes to be present in the Canvas data too.
Retrieving data ...