Skip to content

Materia v10.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 12 Dec 16:31

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