Release Notes

QATrack+ v0.3.0.18 Release Notes

  • Fixed the UnitTestCollection queryset in the API
  • Updated requirements to work with Python 3.7 & new versions of pip

QATrack+ v0.3.0.18 Release Notes

  • Fixed a bug where Test Lists from Test List Cycles with Ad-Hoc frequency would not show up when charting

QATrack+ v0.3.0.16 Release Notes

  • Allow disabling warning message by setting TestList.warning_message blank
  • Add test type to html class for qa-valuerows so they can more easily be targeted in JavaScript code.

QATrack+ v0.3.0.15 Release Notes

  • The Active Unit Test Info filter was fixed
  • Fixed minimum width of Category display when performing QC tests
  • Added new setting CATEGORY_FIRST_OF_GROUP_ONLY. When True, if there is a group of sequential tests with the same category, only the top most category name will be shown to allow better visual separation of groups of categories. Currently this defaults to False to maintain current behaviour but this will default to True for the v0.3.1 release.

Upgrading to v0.3.0.15 from v0.3.0

If you haven’t upgraded to v0.3.0 yet see instructions for v0.3.0 below. If you’ve already upgraded to v0.3.0 then to upgrade to v0.3.0.15:

  1. Open shell and activate your Python 3 virtual environment then:

  2. git fetch origin
    git checkout v0.3.0.15
    python manage.py collectstatic
    python manage.py clearcache
    
  3. On Linux sudo service apache2 restart on Windows, restart QATrack3 CherryPy Service

QATrack+ v0.3.0.14 Release Notes

  • A patch was made to fix a security flaw in LDAP/Active Directory Authentication. This patch is only required if you use LDAP/Active Directory for authenticating your users.

    To patch your system, please follow the following instructions for your version:

    • v0.3.0.x:

      • Windows. Open a Powershell Window then:

        cd C:\deploy
        .\venvs\qatrack3\Script\Activate.ps1
        cd qatrackplus
        git fetch origin
        git checkout v0.3.0.14
        python manage.py shell -c "from qatrack.accounts.utils import fix_ldap_passwords; fix_ldap_passwords()"
        python manage.py collectstatic
        

        then restart the CherryPy service

      • Linux. Open a terminal:

        cd ~/web/qatrackplus
        source ~/venvs/qatrack3/bin/activate
        git fetch origin
        git checkout v0.3.0.14
        python manage.py shell -c "from qatrack.accounts.utils import fix_ldap_passwords; fix_ldap_passwords()"
        python manage.py collectstatic
        sudo service apache2 restart
        
    • v0.2.9.x:

      • Windows. Open a Powershell Window then:

        cd C:\deploy
        .\venvs\qatrack\Script\Activate.ps1
        cd qatrackplus
        git fetch origin
        git checkout v0.2.9.2
        python manage.py shell
        >>> from qatrack.accounts.utils import fix_ldap_passwords; fix_ldap_passwords()
        >>> exit()
        python manage.py collectstatic
        

        then restart the CherryPy service

      • Linux. Open a terminal:

        cd ~/web/qatrackplus
        source ~/venvs/qatrack3/bin/activate
        git fetch origin
        git checkout v0.2.9.2
        python manage.py shell
        >>> from qatrack.accounts.utils import fix_ldap_passwords; fix_ldap_passwords()
        >>> exit()
        python manage.py collectstatic
        sudo service apache2 restart
        
    • v0.2.8.x:

      • Windows. Open a Powershell Window then:

        cd C:\deploy
        .\venvs\qatrack\Script\Activate.ps1
        cd qatrackplus
        git fetch origin
        git checkout v0.2.8.1
        python manage.py shell
        >>> from qatrack.accounts.utils import fix_ldap_passwords; fix_ldap_passwords()
        >>> exit()
        python manage.py collectstatic
        

        then restart the CherryPy service

      • Linux. Open a terminal:

        cd ~/web/qatrackplus
        source ~/venvs/qatrack3/bin/activate
        git fetch origin
        git checkout v0.2.8.1
        python manage.py shell
        >>> from qatrack.accounts.utils import fix_ldap_passwords; fix_ldap_passwords()
        >>> exit()
        python manage.py collectstatic
        sudo service apache2 restart
        

QATrack+ v0.3.0.13 Release Notes

For full details of v0.3.0 see the v0.3.0 release notes below. v0.3.013 is a patch to v0.3.0 that fixes a few minor issues.

  • Service Events have been added to the admin so they can now be hard deleted.
  • A few bugs with testpacks has been fixed including where Sublist tests were not created correctly when creating test packs.
  • A number of bugs with the API have been fixed.
  • A bug with the initial v0.3.0 migration has been fixed for those who have SITE_ID ~= 1 in their settings file.
  • skipped tests are now excluded by default from UTILS.previous_test_instance.
  • Bug where the Test List Members drop down would not be populated correctly due to conflicting jQuery versions has been resolved.

Upgrading to v0.3.0.13 from v0.3.0

If you haven’t upgraded to v0.3.0 yet see instructions for v0.3.0 below. If you’ve already upgraded to v0.3.0 then to upgrade to v0.3.0.13:

  1. Open shell and activate your Python 3 virtual environment then:

  2. git fetch origin
    git checkout v0.3.0.13
    python manage.py collectstatic
    python manage.py clearcache
    
  3. On Linux sudo service apache2 restart on Windows, restart QATrack3 CherryPy Service

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.

Acknowledgements

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:

A more complete list of bugs fixed and features added can be found in the issues tracker!

Deprecation Notices

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.

Upgrade Instructions

For instructions on how to upgrade from v0.2.8 please see the wiki

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:

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!):

  1. git pull origin master
  2. pip install -r requirements/base.txt
  3. python manage.py syncdb
  4. python manage.py migrate
  5. python manage.py collectstatic
  6. 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)

  • Many other little bugs fixed :)

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

  2. pip install -r requirements/base.txt

  3. python manage.py syncdb

  4. python manage.py migrate

  5. python manage.py collectstatic

  6. restart the QATrack+ app (i.e. the CherryPy service or Apache or gunicorn …)

  7. 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.

New Features

  • 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

Bug Fixes

  • 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:

  1. pip install south
  2. checkout version 0.2.4 code (e.g. git pull origin master)
  3. python manage.py syncdb
  4. python manage.py migrate qa 0001 –fake
  5. python manage.py migrate units 0001 –fake
  6. python manage.py migrate qa

New Features

  • 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

Bug Fixes and Clean Up

QATrack+ v0.2.3 Release Notes

This release has a number of small features and bug fixes included.

New Features

  • 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.

Bug Fixes