QATrack+ v0.3.0 Release Notes¶
It’s been two years since the release of QATrack+ v0.2.9 and this release marks the largest update to QATrack+ since the initial release in 2012. Details of QATrack+ v0.3.0 are included below.
Many thanks to Ryan Bottema & Crystal Angers at The Ottawa Hospital for all their work on the development and implementation of the new Service Log app (with guidance and QA from the rest of the Ottawa QATrack+ team!).
Thank you to Simon Biggs for all his work on the new experimental Docker deployment method as well as ideas and discussions on many other features.
Thanks to all of you who provided databases for testing the data model migration from 0.2.9 to 0.3.0. This helped catch a few DBMS specific migration issues. There were also a number of people who tested the migration / update procedure before this releae which is hugely appreciated!
A big thanks also goes out to the Canadian Nuclear Safety Commission! QATrack+ was one of the recipients of the 2017 CSNC’s Innovation Grant which provided financial support for this release.
Last but certainly not least, thank you to those of you who have submitted bug reports, made feature requests, and contributed to the many discussions on the mailing list.
Details of the v0.3.0 release¶
- A new Service Log application for tracking machine service events, machine down time, return to service, and more!
- A new Parts application for tracking spare parts, where they’re located, how many are in inventory, and their vendors.
- Sublists have been updated and improved and can now have their order rearranged within the parent test list as well as optional visual emphasis when performing a test list.
- The user interface has been updated to be a bit more modern while hopefully remaining familiar to existing QATrack+ users.
- Pylinac is now installed by default. Images can be uploaded, analyzed, and displayed inline within test lists.
- Experimental support for importing/exporting Testpacks for exchanging test configurations with other QATrack+ installations.
- An Application Programming Interface (API) has been added for allowing external applications and scripts to access and upload data to your QATrack+ server.
- When reviewing data by Due Status you can now filter by unit.
- After creating a Unit Test Collection, it is no longer possible to change the test list (cycle) assigned to it. This is in order to prevent unintended data loss.
- You can now assign a tolerance to boolean tests.
- The ability to save test lists is now an assignable user permission.
- Entire units can now be marked as inactive to make it easy to hide units when they are decomissioned.
- Hidden tests can now be autoreviewed.
- When choosing a unit to peform QA on, rather than showing all defined frequencies, the drop down lists for test frequencies are now limited to frequencies of test lists assigned to that unit.
- A new “experimental” method of deploying QATrack+ using Docker is available. This method makes it very easy to get a complete QATrack+ installation up and running. Currently marked as experimental as it has not been deployed in production anywhere. Thank you very much to Simon Biggs for putting this idea forward and then getting it all implemented in a sensible way!
- When a reference or tolerance for a test is updated, the history of the users who made the change, when the changes was made, the previous reference and tolerance, and an optional comment are now stored.
- It’s now possible to set (or read) the comment for a test instance from the tests calculation procedure.
- Default email notifications are now sent as html emails with a link to the relevant test list instance
- Notification emails are no longer sent to inactives users.
- When performing a test list, the number of existing in-progress sessions for the same test list is now shown in the UI. The total number of test lists in progress is also now shown in the main drop down menus.
- Comments can now be added when reviewing test list instances and comments on test list instances now <record the username and timestamp of the comment.
- If a composite test or upload test generates a “Server Error”, the error can now be seen by hovering your mouse over the Status column for the test.
- The UX for deleting a test list has been improved.
- Upload tests now have two context variables available FILE and BIN_FILE, the latter being a file instances opened in binary rather than text mode. Any existing upload tests that you have which assume a binary file type will need to be updated to use BIN_FILE. More details are available in the v0.3.0 installation docs.
- Mainstream support for Python 2 is ending in 2020 and as such QATrack+ has been updated to use Python 3.4-3.6.
- The complete list of bugs/features can be found on BitBucket
Upgrading to v0.3.0¶
For instructions on upgrading to QATrack+ 0.3.0 please see the installation docs for your platform.
QATrack+ v0.2.9 Release Notes¶
There have been many bug fixes and improvements to QATrack+ made since the version 0.2.8. For the complete details you can check out the issue tracker for issues tagged 0.2.9.
Special thanks for this release to Zacharias Chalampalakis for contributing a patch to make the warning message shown when a test is at action level configurable.
Also, big thanks to Ryan Bottema in Ottawa who has taken over my previous role at the Ottawa Hospital and has made many contributions to this release and been crucial in finally getting it out the door.
As always Crystal Angers has been a big help in testing and critical analysis of new features.
Details of 0.2.9 below:
- Multiple choices tests now store their results as the test value rather than the index of the choice. It is important that you update any composite tests that rely on multiple choice test results after this upgrade (see Upgrade Instructions below)
- Unit modalities are now free text fields instead of forcing you to select particle/energy.
- If you attempt to access a QATrack+ page but are logged out, you will be redirected to that page after logging in
- You can now add REVIEW_DIFF_COL = True to your local_settings.py file to enable an extra column showing the difference from reference when reviewing tests list
- Users sessions will be renewed anytime they are active on the QATrack+ site rather than just when they perform QA (prevents being logged out automatically)
- Changing a Test’s type is now limited to only allow changes to similar test types (e.g. numerical -> composite is allowed but numerical -> string is not)
- By default inactive test lists are no longer shown in the default review list
- Bulk deletion of UnitTestInfo objects in the admin has been disabled to prevent possible data loss
- Only active UnitTestInfo objects will be shown in the admin by default
- You can now view test list comments in a pop over by hovering your mouse over the comment icon
- You can now filter Test objects in the admin by whether or not they belong to any active TestList’s or not
- If a comment is included when performing a test list than manual review will be required regardless of auto-review settings
- Inactive tests can now be filtered on the charts page
- There are many new filters available in the admin section
- Permissions for reviewing and viewing the program overview have been split
- Individual tests can now be configured to always allow skipping without a comment (regardless of the users permissions)
- You can now set a custom label for the “Choose Day” drop down label when performing a test list from a cycle.
- You can now sort test lists by due date
- You can now customize the test status display (default remains Act/Tol/OK)
- Test value input fields should now be more mobile device friendly
- pydicom is now available in the default calculation context (along with numpy & scipy)
- You can now filter test lists to review by which groups the test lists are visible to
A more complete list of bugs fixed and features added can be found in the issues tracker!
As QATrack+, Python & Django and the web continue to evolve, occassionally we need to deprecate some of the versions of Python & web browsers we support. The next major release of QATrack+ will no longer officially support the following items:
- Python 2.6 (Python 2.7 & 3.4+ only): In order to provide support for Python 3 we will be dropping support for Python 2.6
- IE7-IE10 (IE 11+ Only): IE7-IE10 are no longer supported by Microsoft and we will no longer be testing these platforms.
QATrack+ v0.2.8 Release Notes¶
This release introduces some database schema changes. The database migrations have been tested on SQLServer, PostgreSQL, MySQL & SQLite but it is important that you:
BACK UP YOUR DATABASE BEFORE ATTEMPTING THIS UPGRADE
There are lots of minor enhancements & a number of new features in this release of QATrack+.
Special thanks for this release go to Wenze van Klink from VU Medisch Centrum Amsterdam. Wenze contributed a couple of great features to QATrack+ for this release including:
- The ability to easily copy references & tolerance from one Unit to another. A nice time saver!
- The ability to set references and tolerances for multiple tests at the same time. Want to set 20 tests to have a reference value of 100? Now you can do it with just a few clicks.
- Display uploaded images (jpg, png, gif) on the test list page.
- a number of other bug fixes & minor features.
Great work Wenze…your contributions are greatly appreciated!
Also of note, Gaspar Sánchez Merino has produced a Spanish translation of the QATrack+ documentation. Thanks a lot Gaspar! You can find the translation on Gaspar’s BitBucket page.
Here’s a list of some of the changes in this release:
- The documentation has been split into different versions (corresponding to QATrack+ releases) to accomodate users who are not running the latest version of QATrack+.
- You can now embed uploaded images right on the test list page
- You can now choose to hide tests from the list of tests to plot. Handy to limit the chart test selection lists to only those tests you are interested in plotting.
- There is now an “Auto Review” feature that can be configured so that only test which are at tolerance or action levels will be placed in the review queue.
- Page load speeds for the charting page have been greatly improved for large databases
- You can now configure your site to use icons in addition to colors to indicate pass/fail & due/overdue. This should help with usability for color blind users. Thanks to Eric Reynard for the great suggestion! Examples of the icons can be seen on BitBucket
- Python code snippets and html test/test list descriptions are now syntax highlighted on modern browsers
- Composite & constant tests no longer need to be skipped manually
- When charting you can now combine data for the same test from different test lists (thanks to Eric Reynard for the suggestion)
- Data can now be plotted relative to its reference value (thanks to Balazs Nyiri for the suggestion)
- CSV export files should now work on IE8 & 9
- A new permission has been added to control who can review their own test results
- It’s now possible to easily copy references and tolerances between units
- Easily set references & tolerances for multiple tests at the same time
- You can now tweak the look of your QATrack+ site with css using a site specific css file
- You can now configure your site to order the Units on the “Choose Unit” page by number or name.
- QATrack+ now is using a file based cache to decrease page load times. By default the cache data is located at qatrack/cache/cache_data/ but this can be changed if required.
- You can now assign multiple choice tolerances to string/string composite test types (thanks to Elizabeth McKenzie for the suggestion).
- You can now access reference and tolerance values for tests in your calculated tests (thanks to Andrew Alexander from Saskatoon for the suggestion)
- a number of other bug fixes and performance enhancements
Upgrading to v0.2.8¶
Note: If any of these steps results in an error, *stop* and figure out why before carrying on to the next step!
From the git bash command shell (with your QATrack+ virtual env activated!):
- git pull origin master
- pip install -r requirements/base.txt
- python manage.py syncdb
- python manage.py migrate
- python manage.py collectstatic
- restart the QATrack+ app (i.e. the CherryPy service or Apache or gunicorn or…)
QATrack+ v0.2.7 Release Notes¶
Note: this release introduces some database schema changes. It is a good idea to BACK UP YOUR DATABASE BEFORE ATTEMPTING THIS UPGRADE
Version 0.2.7 has a quite a few improvements to the code base behind the scenes, some new features and a number of bug fixes. Please see the guide to upgrading to version 0.2.7 below.
A note on QATrack+ and security is now available on the wiki.
Special thanks for this release go to Eric Reynard of Prince Edward Island. Eric has contributed a new authentication backend and tutorial on running QATrack+ with IIS, FastCGI and Windows Integrated Authentication. Thanks Eric!
New Features & Bugs Fixed¶
Three new test types have been added:
- File upload: Allows you to upload and process arbitrary files as part of a test list
- String: Allows you to save short text snippets as test results
- String Composite: A composite test for text rather than numerical values
Composite tests no longer need to assign to a result variable. Instead you can just assign the result to the composite test macro name (e.g. my_test = 42 is now a valid calculation procedure). This is now the recommended way to write calculation macros.
Tests with calculated values now have a ‘META’ variable available in the calculation context that includes some useful information about the test list being performed.
Easy export of historical test results to CSV files
New tool for creating basic paper backup QA forms to be used in the event of a server outage. See the paper backup wiki page for more information. This feature is currently quite primitive and suggestions on how to improve it are welcome!
TestListCycle’s can now contain the same TestList multiple times. Thanks to Darcy Mason for reporting this bug.
Unit’s that have no active TestList’s will no longer appear on the Unit selection page
- Changes to Reference & Tolerances:
- Tolerances no longer require all 4 of the tolerance/action levels (Act Low, Tol Low, Act High, Tol High) to be set making it possible to create pass/fail only, pass/tolerance only and one-sided tolerances. See the Tolerances wiki page for more information.
- Duplicate tolerances can no longer be created (there is no use for duplicate tolerances)
- Tolerances can no longer be named by the user and are now automatically given a descriptive name based on their tolerance and action levels. This is to help emphasize the fact that Tolerance values are not test specific.
- As part of the 0.2.7 database update, all duplicate tolerance & reference objects in the database are going to be deleted and any test value currently pointing at these tolerance & reference values will be updated to point at the correct non-duplicated tolerance/reference. At TOHCC this resulted in reducing the size of references database table by about 90% (from ~2700 rows to ~200 rows).
A new authentication backend using Windows Integrated Authentication has been added. Thanks to Eric Reynard for contributing this!
New user account pages for viewing permissions and updating/resetting passwords.
Page permissions have been improved slightly and two new permisions have been added:
- qa | test instance | Can chart test history (Allows users to access charts page)
- qa | test list instance | Can view previously completed instances (Allows users to view but not edit or review (change the status) of historical results. Please see the wiki for more information.
Page load time reduced by using more efficient unreviewed count query
Charts page now allows plotting of data for tests which are no longer active
- Test data is now grouped by TestList when generating charts (i.e. multiple lines are
produced if the same Test exists in multiple TestList’s)
Upgrading to v0.2.7¶
_Note: If any of these steps results in an error, stop and figure out why before carrying on to the next step!_
From the git bash command shell (with your QATrack+ virtual env activated!):
1. git pull origin master 1. pip install -r requirements/base.txt 1. python manage.py syncdb 1. python manage.py migrate 1. python manage.py collectstatic 1. restart the QATrack+ app (i.e. the CherryPy service or Apache or gunicorn …) 1. In the Admin –> Auth –> Groups section of the website grant the new permissions
- qa | test instance | Can chart test history
- qa | test list instance | Can view previously completed instances
to any groups that require this functionality. See the Managing Users & Groups page for more information on permissions. 1. In order to use the new file upload test type, you must configure your server to serve all requests for http(s)://YOURSERVER/media/* to files in qatrack/uploads/ directory. More information about this is available on the deployment wiki pages. If you need help with this part please post in the QATrack+ Google group. If you don’t plan on using the file upload test type, this step is not required.
QATrack+ v0.2.6 Release Notes¶
Note: this release introduces some database schema changes. BACK UP YOUR DATABASE BEFORE ATTEMPTING THIS UPGRADE
v0.2.6 includes a number of bug fixes
Thank you to Eric Reynard and Darcy Mason for their bug reports.
- You can now manually override the due date for a Test List on a Unit
- You can turn off the auto scheduling of due dates for Test Lists on Units
- Test Lists no longer need to have a Frequency associated with them when assigned to a Unit (allows for ad-hoc Tests)
- new management command auto_schedule (see wiki)
- Selecting a different day in a Test List Cycle no longer requires you to click Go
- When references aren’t visible, Users will only be shown ‘OK’ or ‘FAIL’ instead of ‘OK’, ‘TOL’ or ‘ACT’
- Minor improvements to the charts page layout
- Reference values are now included in data displayed on chart page
- Test List description can now be displayed on the page when performing or reviewing QA
- Improved performance when saving data from test lists with lots of tests.
- New permission Can skip without comment added to allow some users/groups to skip tests without adding a comment
- Comment counts are now displayed in Test List history listings
- Now only Units which have Test Lists visible to the user will be displayed.
- The first page of all listings is now pre-rendered for faster page load times
- Input lag when performing QA using IE has now been reduced (although it is still highly recommended that you use Chrome or Firefox!)
- Deploying QATrack+ under a sub directory of your server should now be handled a little better (requires setting FORCE_SCRIPT_NAME in your local_settings.py file)
- There is now a View on Site button that will allow you to go directly to the Perform QA page from a UnitTestCollection (Assign Test List to Unit) page in the admin
- Some other minor cosmetic enhancements
- majority of code now conforms with pep8
- Unique Char fields limited to a length of 255 to fix issue with MySQL
- Fixed formatting of due date displays
- Increased the precision with which data is displayed in chart tool tips
- Fixed “Absolute value” wording mixup when defining tolerances
- Fixed errors when adding new tests to a sublist
- Plotting data with one of the chart buttons will now only select the relevant Test Lists
- Chart reference lines are now plotted in the same colour as the actual plot line
- Fixed issue when navigating between inputs on filtered lists
- Fixed issue with missing history values for Test List cycles
- Added missing filter for “Assigned To” column on Test List listings
- The value 0 should no longer be shown in scientific notation
- Fixed issue with non linearly spaced graph data
- various other issues
To upgrade from v0.2.5¶
Note: this release introduces some database shema changes. BACK UP YOUR DATABASE BEFORE ATTEMPTING THIS UPGRADE
From the git bash shell in the root directory of your QATrack+ project
1. git pull origin master 1. python manage syncdb 1. python manage.py migrate 1. python manage.py collectstatic
QATrack+ v0.2.5 Release Notes¶
This release fixes some issues with control charts and makes test list pages orderable and filterable.
There are no database schema changes in this release so updating should just be a matter of pulling the latest release from git.
Changes in this release include:
- A number of improvments to the control chart functionality have been made
- Test lists and completed sessions are now sortable & filterable without a page refresh.
- On the overview page, you cannow collapse/expand the Units so that you can review one Unit at a time.
- Scientific notation is now used to display composite test results for large & small values.
- The behaviour when determining whether a value exactly on a pass/tolerance or tolerance/fail border has been improved (see issue 207.
- numpy & scipy are now available in the composite calculation context
- All test variable names (whether they have values entered for them or not) are now included in the composite calculation context.
- Crash in admin when “saving as new” with missing tests has been fixed.
- default work completed date is now an hour later than default work started.
- Fixed display of work completed date for last session details (time zone issue)
- Some other bug fixes and cleanup
QATrack+ v0.2.4 Release Notes¶
This release introduces South for managing database schema migrations. In order to update an existing database, you need to do the following:
- pip install south
- checkout version 0.2.4 code (e.g. git pull origin master)
- python manage.py syncdb
- python manage.py migrate qa 0001 –fake
- python manage.py migrate units 0001 –fake
- python manage.py migrate qa
- added South migrations
- added description field to TestInstance Status models (displayed in tooltips when reviewing qa)
- Added new review page for displaying Test Lists by due date
- Added new review page for displaying overall QA Program status
QATrack+ v0.2.3 Release Notes¶
This release has a number of small features and bug fixes included.
- Greatly improved permissions system. Group/user specific permissions are no longer only controlled by the is_staff flag
- TestListCycle’s now display the last day done
- You can now delete TestListInstances from the admin interface or when reviewing (redirects to admin)
- Cleaned up interface for choosing a unit a bit.