Ucfopen Materia Versions Save

Engage students with easily embedded apps for online courses. Supercharge your course with compelling experiences and game mechanics.

v10.1.0

3 months ago

v10.1.0 includes several significant quality-of-life improvements, bug fixes, and optimizations to the platform in the wake of the v10.0.0 update.

Enhancements

  • Improvements to the Settings dialog, particularly related to users with the student role. In some cases, a user could inadvertently lose access to their own instances when their role changed from basic_author to student. The instance owner is now identified in the collaboration dialog, and additional checks and fixes have been implemented associated with student users. (#1540)
  • Student users can now view score information associated with instances, even when an instance is not in Guest Mode. Score data in this context are now anonymized, but identity information will again be included if the user regains the basic_author role. (#1540, #1541)
  • Improvements to API endpoints associated with instances and user search. Pagination behavior has been optimized and certain requests have been made paginated to improve performance. (#1541)
  • Improvements to the invalid login dialog and the application states that display it. (#1537)
  • Significant optimizations to JS imports; a development version of React and React-DOM are no longer imported, and the majority of vendor JS is imported in a common file that's included in every page request. (#1563)
  • The application log stream is no longer inundated with access.log spam from phpfpm. (#1548)

Bug Fixes

  • Fixes play context indicator in the Instances Played section of the User Admin page (#1544)
  • Fixed broken search behavior in the individual scores component in My Widgets (#1554)
  • Fixed display issue in My Widgets associated with updated settings not persisting until the page is refreshed (#1556)
  • Formalized "triage" fixes associated with missing LTI tokens in session data; if tokens are not present, the play log's environment data is searched for the tokens instead. (#1560)
  • Added missing stylesheets associated with player and creator guides to the Materia-Widget-Dependencies package manifest (#1539)
  • Deprecated Node Sass node dependency replaced with Dart Sass (#1551)
  • Several dependabot updates

Associated Pull Requests

Full Changelog: https://github.com/ucfopen/Materia/compare/v10.0.1...v10.1.0

v10.0.1

7 months ago

This is a minor maintenance release to address several small issues identified after the major 10.0.0 update.

Bug Fixes

  • Resolved an issue related to individual score data rendering improperly when score results were paginated (#1523)
  • Resolved a bug where the open and close times of instances in the login/preview screen were sometimes incorrect (#1509)
  • Reduced implicit permissions granted to students who also happened to be support users, particularly related to widget sharing (#1502)
  • Added missing dependency to materia-widget-dependencies package

Enhancements

  • Modifications to null checks on certain API results to enhance error state detection (this work is ongoing and will continue to see improvements over the next several releases)
  • Fixes notification error message from appearing in every notification row
  • Adds widget link to request access notification
  • Adds styling to Instance Manager inside User Admin
  • Encodes apostrophes in admin instance search query
  • Significantly enhanced the Help section of the site with sections for students and instructors, addressing common issues (#1505)
  • Several dependabot updates

What's Changed

Full Changelog: https://github.com/ucfopen/Materia/compare/v10.0.0...v10.0.1

v10.0.0

7 months ago

Materia version 10 is the single largest update to the platform to date, representing a colossal amount of effort from current and former developers at UCF's Center for Distributed Learning. Its primary goal is to address considerable technical debt due to the system's age, incorporate long-requested and desired features such as a support user dashboard and improved accessibility communication, and enhance the system's overall look and feel.

New and Notable Features

Replaces AngularJS with React and Static Asset Consolidation

Previously, static assets (JS & CSS) were part of a separate repository, Materia-Server-Client-Assets. This update brings these assets back into the fold in a new top-level src directory. Compiled assets are emitted by webpack into public/ (public/dist/ when in development environments). Because React is doing the heavy lifting of DOM rendering, the old PHP partial views in fuel/app/themes/default/ are retired.

This conversion also affects how theme overrides work. Previously, controllers would listen for Events registered in Fuel package's bootstrap.php files, and make use of PHP partial views provided by those packages. While the event registration/trigger system remains, theme packages operate a little differently. See the Materia-Theme-UCF repo for more info.

Redesign and Improved Responsiveness

The React conversion gave us the opportunity to give Materia a much-needed facelift. Enjoy crisper, snappier interfaces, improved UX like creator guide links in the widget creator, responsive layouts, and a soon-to-be-implemented Dark Mode.

Improved Support and Administration

We've added a new user role, support_user, to bridge the gap between normal users and administrators. Both support users and admins have access to new admin panels to handle common requests from users. Support users are given access to the User admin interface, where they can easily look up user information, play history, and owned instances - and even administrate those instances directly. They also have access to the Instance admin interface, which allows fast lookups of any instance in the database and administrative actions like modifying settings or adding users.

The Widget Admin interface remains available for super users, allowing for fast widget installation in addition to updates and administration of the widget catalog.

Accessibility Information

The widget catalog and details pages now include additional qualifying information about keyboard and screen reader accessibility if the requisite metadata is included in a widget's install.yaml:

metadata:
    accessibility_keyboard: Full # values can be Full | Limited | None
    accessibility_reader: Full
    accessibility_description: >
        A brief description of the widget's accessibility implementation. This metadata value is optional.

The New Materia-Widget-Dependencies Package

Because of MSCA's retirement, the widget development kit will need a new node package dependency to provide the required Materia JS and CSS to properly run. This is provided in the new materia-widget-dependencies package, which is located within a package.json in the public/dist directory. The package can be published via a GitHub action as required, to include the latest and greatest changes from the Materia engine, creator, and score cores, or other aspects of the creator and player.

Miscellaneous Updates

Other notable features include:

  • A new footer for widget players with a direct attribution link to Materia as well as a link to the player's guide, if included
  • Direct links to the Creator's Guide from within widget creators, if included
  • Support for additional audio MIME types in the media uploader, primarily .m4a
  • Support for "soft" deleting previously uploaded media assets in the media importer
  • Paginated API queries for particularly large API requests, including instances, users, and score data

By the Numbers

  • 567 commits, the first of which was authored July 13, 2020 by @iturgeon
  • 430 files changed
  • 46,022 lines of code added, 6,216 lines of code removed

What's Changed

Note: this list of pull requests is not comprehensive!*

New Contributors

Special Thanks

The following developers and contributors were instrumental in this release, and we're grateful for all of their hard work:

  • Ian Turgeon, Materia's original principle architect @iturgeon
  • Michael Ferrara, Techranger @michaelferrara
  • Aileen Pongnon, Techranger @aileenpongnon
  • LJ Oks, Techranger @ljoks
  • Cay Henning, Techranger @cayb0rg
  • Emanuel Cortes Lugo, LS&T developer @emanuelGitCodes
  • Brandon Stull, LS&T developer and longtime Materia contributor @FrenjaminBanklin
  • Corey Peterson, Materia lead developer @clpetersonucf

Full Changelog: https://github.com/ucfopen/Materia/compare/v9.0.3...v10.0.0

v10.0.0-rc.1

7 months ago

v10.0.0-alpha9

8 months ago

v10.0.0-alpha7

9 months ago

v10.0.0-alpha6

9 months ago

v10.0.0-alpha5

11 months ago

v10.0.0-alpha4

1 year ago

v10.0.0-alpha3

1 year ago