Content Library App

Automating updates across hundreds of courses

I automated content updates to online course with my Content Library App.

Based on my experience of working on several development teams, online courses typically have some content that is the same across all courses. An example of this might be a “Getting Started” module. When there are a few hundred courses and a change needs to be made to this module, updating that content can be tedious and time-consuming.

To solve this problem, I wrote an application using Angular CLI, JSON as a database, and GitHub pages. My goal was to develop a solution that could be deployed at no cost. While there are much better option for a database over JSON, it meets the requirements and it’s simple for users without database experience to manage.

The application separates content from the Learning Management System to a single JSON file hosted on GitHub that acts as the database of content items. HTML pages in Brightspace are configured to fetch individual content items from the database to create an HTML page. An update to content items in the JSON database will update all pages that call that content item. Think of updating over 200 courses manually over updating one JSON file and all courses automtically have the updated content.

Furthermore, to make it easy to search a database and view/create pages of content items, I've developed an Index Generator using Angular. It's easier to use and customize pages when it's presented this way rather than scrolling to a JSON file of objects.

This is a free tool and is used by McMaster University and others in the Brightspace Community.