Wiki
Clone wikiqatrackplus / v / 0.2.9 / release-notes
v0.2.9 Release Notes
- 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
- Several charting tweaks, including improved handling of None tolerance values in relative charts and the ability to filter for inactive TestLists
- 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 customize the names for Tolerance labels (Not Done, OK, Tolerance, Action, and No Tol Set).
- 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!
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
If you are uncomfortable with doing the upgrade yourself, or would like assistance for any reason, please email randle.taylor@gmail.com and I will be more than happy to set up a time to be on call to help you troubleshoot or to do a remote support session and walk through the upgrade process with you. It is much easier for me to schedule time to help you before you start your upgrade, then it is to drop everything without warning and help you if get stuck on one of these steps!
Note: 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
If any of the following steps results in an error, stop and figure out why before carrying on to the next step!
Linux/Apache Instructions
- Back up your database
source ~/venvs/qatrack/bin/activate
cd ~/web/qatrackplus
git rm --cached qatrack/wsgi.py
git pull origin master
pip install --upgrade pip
pip install -r requirements/base.txt
python manage.py syncdb
python manage.py migrate
python manage.py collectstatic
- Open your qatrack/local_settings.py file and add the line:
ALLOWED_HOSTS = ['your_servername_or_ip_here']
e.g.ALLOWED_HOSTS = ['52.123.4.9']
orALLOWED_HOSTS = ['YOURHOSTNAME']
sudo service apache2 restart
Windows / IIS
- Back up your database
- Open a git bash shell
- export WINPTY=$(which winpty)
source /c/deploy/venvs/qatrack/Scripts/activate
cd /c/deploy/qatrackplus
git rm --cached qatrack/wsgi.py
git pull origin master
pip install --upgrade pip
pip install -r requirements/base.txt
pip install -r requirements/win.txt
# Windows only!$WINPTY python manage.py syncdb
$WINPTY python manage.py migrate
$WINPTY python manage.py collectstatic
- Open your qatrack/local_settings.py file and add the line:
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
- Restart the QATrack+ app (i.e. the CherryPy service)
If when you load a page in QATrack+ you see an error you may need to enable use_legacy_date_fields
for the SQL Server driver. Open your local_settings.py file and add the OPTIONS
section shown below:
#!python DATABASES = { 'default': { 'ENGINE': 'sqlserver_ado', 'NAME': '*******', 'USER': '********', 'PASSWORD': '******', 'HOST': '******', 'PORT': '', # Add this options section! 'OPTIONS': { 'use_legacy_date_fields': True } } }
General
-
This last step only applies to those of you who have composite tests that rely on the current value of a multiple choice test. Since this update changes the way multiple choice values are stored you need to update the calculation procedures for these tests. For example if your calculation procedure currently looks like this:
test = Test.objects.get(name="Dosemeter") choices = test.choices.split(",") choice_idx = choices.index(dosemeter) previous_results = TestInstance.objects.filter( unit_test_info__test__slug="your_test_macro_name", value = choice_idx, ).latest("work_completed")
you will need to modify it slightly like so:
previous_results = TestInstance.objects.filter( unit_test_info__test__slug="your_test_macro_name", string_value = dosemeter, ).latest("work_completed")
Updated