National Film Board of Canada Educational Platform
We worked with Canada’s public film producer and distributor, the National Film Board of Canada (NFB), as an industry partner to develop a custom Learning Management System (LMS) to support their new Educational Platform, NFB EDU.
A flexible solution to grow with the project and audience needs
Custom integrations to Google Classroom and Google Drive in order to import student rosters and create shared assignments via Google Docs
Test-Driven Development - ensuring that the software will be easily maintainable and safely augmentable
Affinity Bridge was recommended by a member of the NFB's internal team who had worked with us previously on successful technical projects before joining the NFB. We were initially tasked with evaluating three different Open Source LMS options and providing an in-depth recommendation for their review.
With a solid understanding of the goals, needs and challenges for the project we proposed a flexible solution that could grow with the project and audience needs. Our approach to constructing the NFB EDU platform would be to build a Drupal 8 distribution to contain the core functionality of the NFB EDU product and support the system requirements.
The Drupal 8 distribution would contain a Drupal core and contributed modules as well as custom code. The software architecture we proposed included integrations with NFB services, support for Products in multiple languages, and integration for RESTful API endpoints for supporting a decoupled user experience.
With a solid understanding of the goals, needs and challenges for the project we proposed a flexible solution that could grow with the project and audience needs.
An aspect of this project that made it especially interesting was its requirement to talk with other systems. We live in a connected world, and NFB EDU reflects this. Our work included custom programming to integrate with the NFB’s custom single sign-on (SSO) and payment gateway systems. We also wrote custom integrations to Google Classroom and Google Drive in order to import student rosters and create shared assignments via Google Docs. And we added support for Experience API (xAPI) integration with Articulate Storyline, YouTube, Vimeo, and Video.js so the learners could see the results of their actions reflected in the user interface.
The project presented some interesting technical challenges for Affinity Bridge to work through. While the NFB had recently built another LMS, its software framework was not suited for data management. Furthermore, it was difficult to manage multilingual content and the complex relational data model.
The team at NFB also presented an additional challenge: in anticipation of similar projects to come in the future, they needed a way to manage multiple Learning Management Systems from a single code project.
When audience demands on the platform require a more complex model that allows for greater scalability we will be able to explore other network layouts. The diagram below describes a flexible, auto-scaling model for managing one or more Products with load balancers and master/slave database replication.
Throughout the scope of this project, our team used the Agile software development methodology to work closely with the client and their content team in order to develop a solution that could evolve over time and meet their needs. The key to delivering a future-proof project was our use of Test-Driven Development - ensuring that the software will be easily maintainable and safely augmentable.