Skip to content

Releases: ucfopen/Materia

Materia v10.3.0

12 Dec 16:31
Compare
Choose a tag to compare

v10.3.0 is our largest and last release of 2024, incorporating several long-requested features as well as major architectural changes and plenty of bug fixes! Let's dive in and a take a look.

Feature Highlight: Question Generation

We wanted to approach AI content generation in Materia with thoughtfulness, care, and consideration for pedagogical impact. Individual widget engines can now opt-in to the question generation feature, which generates (or appends to) question sets based on a given topic:

2024-12-12 09 57 49

When enabled, the "Generate" feature will be available in the action bar of the widget creator UI for instructors (or users with the basic_author role.) Widget engines must be updated and installed with the requisite is_generable flag in their install.yaml, and can optionally provide a generation_prompt to provide additional clarifying information about how a qset is structured.

Feature Highlight: AI Generation Endpoint for Creators

The creator interface for widget engines can now implement a new CreatorCore.submitPrompt() endpoint to submit bespoke prompts to an AI model. This enables individual widget engines to utilize AI content generation in a more granular manner than the question generation feature. Widgets must implement the newest version of the Materia Widget Developer Kit and question generation must be properly configured and enabled system-wide for this feature to be available.

Feature Highlight: Style Adjustments and Dark Mode

You asked, we listened: the v10.0 redesign last year looks great, but it's so... bright. Give your eyes some relief by enabling dark mode in your profile settings.

2024-12-12 10 49 09

Note that as it says on the tin, dark mode does not influence widget appearance (though we'd love to address this in the future.) While we worked on Dark Mode, we improved font rendering system-wide to enhance visual clarity.

Feature Highlight: First-Time Setup Overhaul

Our work with other institutions made it clear that the one-size-fits-all run_first script didn't quite cut it. So we made two!

  • run_first_for_dev.sh inherits most of the responsibilities of the original run_first script and rapidly configures your local Materia environment for development.
  • run_first_for_nodev.sh is intended for users who aren't as interested in local development, but are looking to play with Materia locally and potentially transition towards a production environment. The script will ask a series of configuration questions to output a customized docker compose override file.

In both cases, docker/docker-compose.override.yml is now untracked, and we've made a bunch of tweaks to how environment variable configurations are handled in docker. We also took the time to overhaul both READMEs, with the docker README now substantially expanded to better enable both developers and administrators to successfully configure a local Materia install with docker. This is the beginning of more significant updates to our docs site in the near future.

Other Notable Highlights

  • User asset storage in AWS S3 is now available as an ASSET_STORAGE_DRIVER configuration. When enabled, user media assets are directly uploaded (and indirectly requested from) AWS S3. Assets will continue to be served from your existing media URLs, allowing for minimal reconfiguration headaches.
  • Revamped the Individual Scores table for selected instances in My Widgets as well as the pre-embed views for widgets.
  • Improved query retry behavior on several pages to make error states more immediate and obvious.
  • Included an accessibility statement in the Help page.

Full List of Changes and Associated Pull Requests

  • Disabled retry behavior across most front-end components to reduce issues with delayed responses to error states .(#1596)
  • Updated most scripts and GitHub actions to explicitly use docker compose (v2) instead of docker-compose (v1) to address deprecation.
  • Updated widget pre-embed views (#1597)
  • Updated & completed S3 asset storage driver for use on local dev and AWS (#1588)
  • Updates materia-theme-ucf composer package to v2.0.4 (#1608)
  • Adds validation and error boundaries for excessive instance title length (#1604)
  • Updates the creator Save Draft button to revert to the default "Save Draft" text after a short delay (#1602)
  • Adds the question generation feature, allowing widget engines to opt in to having a generative AI create entire qsets based on a desired topic. (#1582)
  • Fixed an issue where score module log validation was not including the semester as part of attempt limit calculation (#1612)
  • Adds a new Creator Core method to facilitate generative AI prompts on behalf of a widget creator. (#1591)
  • Removes the cookie override class and adds optional webserverhttps override env variable. (#1615)
  • Improvements to first-time dev environment setup, including the publishing of -dev and -stable webserver and app images associated with each release. (#1617)
  • Replaces deprecated react-dom render method to ensure compatibility with React 18. Removed references to react query devtools. (#1606)
  • Massive rework of first-time setup, docker compose files, and both the READMEs in the root and docker/ directories (#1620)
  • Fix for inconsistencies with widget filtering in the catalog (#1622)
  • Updates visual appearance and improves accessibility of individual scores display in My Widgets. (#1623)
  • Adds a platform-wide dark mode that can be optionally enabled on a user's profile settings page. This PR also adjusted and improved font rendering across many individual views across the application. (#1609).
  • Adds an accessibility statement to the help page. (#1624).
  • Adjusted static file cache headers in production NGINX configuration.

Upgrading to v10.3.0

Refer to the wiki page for upgrading to v10.3.0.

Contributors

v10.3.0-rc.3

11 Dec 18:17
v10.3.0-rc.3
Compare
Choose a tag to compare
v10.3.0-rc.3 Pre-release
Pre-release
v10.3.0-rc.3

v10.3.0-rc.2

10 Dec 18:44
v10.3.0-rc.2
51d5ef2
Compare
Choose a tag to compare
v10.3.0-rc.2 Pre-release
Pre-release
v10.3.0-rc.2

v10.3.0-rc.1

06 Dec 21:45
v10.3.0-rc.1
Compare
Choose a tag to compare
v10.3.0-rc.1 Pre-release
Pre-release
v10.3.0-rc.1

v10.3.0-alpha.11

05 Dec 21:21
v10.3.0-alpha.11
5769e93
Compare
Choose a tag to compare
v10.3.0-alpha.11 Pre-release
Pre-release
v10.3.0-alpha.11

v10.3.0-alpha.10

14 Nov 17:09
v10.3.0-alpha.10
Compare
Choose a tag to compare
v10.3.0-alpha.10 Pre-release
Pre-release
v10.3.0-alpha.10

v10.3.0-alpha.9

30 Oct 13:35
v10.3.0-alpha.9
Compare
Choose a tag to compare
v10.3.0-alpha.9 Pre-release
Pre-release
v10.3.0-alpha.9

v10.3.0-alpha.8

29 Oct 16:16
v10.3.0-alpha.8
Compare
Choose a tag to compare
v10.3.0-alpha.8 Pre-release
Pre-release
v10.3.0-alpha.8

Materia v10.2.0

16 Jul 17:39
v10.2.0
85dd532
Compare
Choose a tag to compare

v10.2.0 continues to build on the affordances provided by our 10.0 update, adding a number of quality-of-life features, bug fixes, deprecation fixes, and improvements.

Enhancements

  • Improved API error handling across the board, with changes to how to the API sends errors (no more errors provided with 200 response codes!) and how the front-end processes them. (#1547)
  • Support users can now review instance scores directly from the admin panel, either when managing an individual instance or when reviewing an instance embedded within a user page. (#1581)
  • Adds configuration scaffolding to adjust the pm.max_children value in the base Materia image or in the Docker compose file. (#1593)

Bug Fixes

  • Fixes and improves the way custom score screens request qset information, ensuring they always receive the qset associated with the given play instead of the latest qset. (#1575)
  • Fix to Save History feature when used with freshly saved widget instances. (#1580)
  • Fix to error state associated with expired preview logs. (#1585)
  • Fixed "Get Materia" link on homepage inadvertently pointing to the widget catalog instead of this repository.
  • Adds a "guardrail" to prevent score percentage values over 100 from being written to the database. (#1584)

Miscellaneous

  • Updates Materia-Theme-UCF to v2.0.3 in composer.
  • Updates phpseclib to address deprecation issues in composer.
  • Finally added a CONTRIBUTING document 🎉

Associated Pull Requests

Full Changelog: v10.1.0...v10.2.0

Materia v10.1.0

12 Feb 15:39
Compare
Choose a tag to compare

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: v10.0.1...v10.1.0