Skip to content

Materia v11.0.0

Choose a tag to compare

@clpetersonucf clpetersonucf released this 19 Mar 14:57
· 62 commits to master since this release

Materia v11 is the single largest update to the platform to date. It represents over a year of work by our small but dedicated team, including full-time developers at the UCF Learning Systems & Technology team and our part-time student developers known as the Techrangers. We were driven by two primary goals:

  1. Transitioning away from PHP and the FuelPHP framework to a framework that better aligned with our team's in-house expertise, and addressing considerable technical debt in the process.
  2. Transitioning from LTI 1.1 to 1.3, ensuring Materia is best situated to integrate with modern Learning Management Systems for the foreseeable future.

This release provides a solid foundation for future platform updates, several of which are already in the work. Let's dive in to the important bits:

Server Application Rewrite

The fundamental change for Materia v11 is a transition from PHP and the FuelPHP framework to python and the Django framework. This update aligns Materia's codebase with our other internal tools, and gave us an opportunity to address technical debt that had accumulated since we first launched Materia in 2012.

A Better API

Materia's first-party API was a messy patchwork, and did not properly conform to modern API standards. The rewrite gave us an opportunity to completely rebuild the API from the ground up, employing proper RESTful design. We'll be continuing to build out and upgrade the API to ensure it remains secure and sustainable.

Transition to LTI 1.3

Materia uses the Learning Tool Interoperability (LTI) specification as defined by the 1EdTech Consortium (previously IMS Global) to communicate with Learning Management Systems. We previously utilized the LTI 1.1 specification, which has been deprecated in favor of the newer, more robust, more secure 1.3 specification. Note that with Materia v11, we no longer support LTI 1.1. This necessitates new configurations in your LMS to integrate Materia.

Thoughtful LMS Integration

We took the opportunity to smooth out some of the roughness of our LMS integration. This includes better awareness of course and institutional roles when authenticating with LTI, which means instructors will no longer flip back and forth between Staff and Student depending on the context of their last authentication. In addition, we've made a fundamental change to how Materia recognizes course owners when assessing widget access: course owners will now be granted automatic, provisional access to instances they don't own when they visit them in their course. This provisional access enables instructors to view student performance data associated with the course context(s) they were granted access to.

Lastly, we took the opportunity to polish our course navigation landing page, and added contextually relevant content depending on the user's role (staff or student) in the course.

Improved Gradebook Sync

Our LTI 1.3 integration gave us access to a suite of new options to improve the gradebook passback experience for students. We squashed bugs and addressed various edge cases to make the sync process more robust, and we made the gradebook sync status visible to students as soon as they visit the score screen for a given play session. The context of plays (LTI or standalone) is also visible to instructors in the Student Activity section of My Widgets as well as students on the profile page.

Improved Widget Management

A long-desired feature for us was a better way of managing Materia's currently installed suite of widget engines, and making the update process more straightforward. With Materia v11, open-source widgets can now include metadata that enables Materia to track the currently installed version, and easily check for new updates.

Better Theming

We've built some improved tooling for customizing your instance of Materia with information relevant to your own institution. It's now easier to define custom strings and override specific components in React to make Materia yours.

Other Enhancements

As part of a platform-wide effort to continue improving widget accessibility and usability across various devices, we improved responsiveness of the widget player and score screen. Additionally, we reworked the dark mode toggle to include a third option to automatically switch based on the user's system preference, and re-implemented cache busting mechanisms to ensure front-end and back-end resources stay in sync after updating.

New Documentation and Migration Guides

Our documentation site has been overhauled with updates relevant to Materia v11. In particular, we have a new page to guide other institutions through the PHP-to-python migration process.

Thank You to Our Contributors

The Materia team is eternally grateful for the contributions of past and present members of the UCF LS&T team: