[Admin Tools] Information on File Usage (API)

Summary

The File Object currently contains a number of attributes for each file in a Canvas Course such as "display_name", "size" and "content-type". This idea is to add attributes to the file object that indicate: 

  1. Whether or not the file is linked to from the Canvas course it belongs to. 
  2. Where the file is linked from. 

Use Cases

We are finding that many of our courses have many files that are unused across all of our courses. We have figured out a way to pull data on whether files or linked, but it has to be calculated by pulling all of the course content (pages, quizzes, announcements, etc..) and then scanning it with a list of file ID's from that list to determine if a file is linked to or not. 

Canvas does not provide a way to see that information in the interface. We built a tool on our campus to do this and would love to share it with others, this feature would make doing so much easier. Interest on that functionality can be seen at:

Tool to Identify and Delete Unused Files  

Providing instructors with the ability to clean out and delete irrelevant and unused files has been very helpful for organization of the files section and accessibility efforts.  

Implementation

The File Object seemed to make the most sense to me, but any way to get that information about where files are used would work (i.e. Analytics API).

References

  1. Blackboard offers something called "360° View" that provides this information. 
8 Comments
maguire
Community Champion

I like the idea of a list of incoming URLs (i.e., URLs that contain a reference to this file). Ideally, this concept would be expanded to include bi-directional linking for nearly all objects in Canvas. This enables very nice operations such as displaying a graph of all incoming and outgoing links to material in Canvas. [I should note that the earlier Hyper-G system developed by Mermann Maurer and others at TU Graz and the commercial successor Hyperwave AG (Hyperwave – Enterprise Content Management – Dokumentenmangement, Intranet und Collaboration Lösungen ) - both support such bi-directional links and did so in the early 1990s.] Having such bi-direction means that you can ensure that you do not accidentally delete something that others depend upon - it also means that you will never have HTTP 404 Page not Found Errors (as one should never have dangling pointers Smiley Wink).

christopher_phi
Community Champion
Author

Agreed, I think there is a lot that could be done with this and could definitely see the functionality being expanded to other types of content. Even if Canvas has no plans to expose this to the user in the UI, it would open up a lot of possibility for developers. 

Your comment makes me wonder about the Course Link Validator and whether there is any code used there that could also be leveraged for this type of feature/functionality. 

maguire
Community Champion

 @christopher_phi  , you are correct one could augment the code canvas-lms/course_link_validator.rb at master · instructure/canvas-lms · GitHub to update the information about the links to URLs.

lisarhughes
Community Member

This is an incredibly important feature for file management, storage usage, and even accessibility. I strongly support this feature recommendation.

KristinL
Community Team
Community Team
Status changed to: New
 
KristinL
Community Team
Community Team
Status changed to: Added to Theme
 
nathanatkinson
Community Team
Community Team
Status changed to: New
 
nathanatkinson
Community Team
Community Team
Status changed to: Open