Skip to content

Widget Release Checklist

Ian Turgeon edited this page Mar 30, 2019 · 11 revisions

This checklist should be used for each pull request before a new widget version is released. Copy it to the pull request and go through it.

  • yarn start runs the MWDK
  • The widget uses the most recent version of the MWDK
  • Move every external library into dependencies (use webpack to move them into the widget, don't include 3rd party libs when possible)
  • README.md is in place, up to date, and follows the template
  • LICENSE file is valid and in root directory
  • The widget's icon is unique and all necessary sizes are included
  • yarn build creates a widget package
  • package.json contains correct description, title, license etc.
  • yarn.lock or package-lock.json is included an up to date in git
  • install.yaml values are correct for the widget
  • install.yaml's supported_data property matches the type of questions you want to import
  • onQuestionImportComplete is properly implemented and correctly imports questions of the allowed type(s)
  • The demo.json qset is a good example of typical use case
  • The demo.json qset exemplifies as many of the widget's features as it can
  • If using AngularJS(https://angularjs.org/), try to use the same version used in Materia
  • The .wigt file installs without errors
  • Tested in current version of Chrome
  • Tested in current version of Edge
  • Tested in current version of Safari
  • Tested in current version of Firefox
  • Tested in IE 11
  • Tested with ChromeVox
  • Tested with VoiceOver(OSX) or Narrator(Windows)
  • The current creator & player properly handle older versions of the qset if there are any (use unit tests to confirm this)
  • yarn test runs tests and coverage
  • The tests all pass
  • If test coverage total increased, minimum values in package.json are updated to current coverage
  • package.json version matches the release tag (use yarn version for this)
  • Travis file exists and will runs tests, build, and deploys release files
  • Widget is added to materia team https://github.com/orgs/ucfopen/teams/materia
  • Perms are set to write materia-widget-managers team https://github.com/orgs/ucfopen/teams/materia-widget-managers