github maxplanck-ie/parkour2 23.08.17

latest releases: 26.07.28, 26.07.16, 26.07.14...
3 years ago

Full commit history: 0.3.9...23.08.17

Important News

  • We abandoned semantic versioning, from now on we will use dates. This is displayed on the login.html, righ above where users input their credentials.

  • parkour.env.sample has a new environmental variable (CSRF_TRUSTED_ORIGINS) that requires manual intervention/ copy to your deployments configuration. This way we are prepared for upcoming Django 4.2

  • Ever since our pre-relased 0.3.9 version, some seemingly redundant files corresponding to our frontend were removed. We did our best to fix any issues in this release. Yet, if you see a blank page on a fresh installation, please check the browser console (e.g. pressing F12) and file a new issue with the corresponding log message (e.g. pressing F12 and looking for the 'could not load **.js' or 'file not found' error messages.)

Dependencies

  • Updated all python requirements, but keeping on Django 3.2 to avoid an ongoing issue with sequencing depth miscalculation.
  • New CSRF_TRUSTED_ORIGINS option in misc/parkour.env, lists domains were application is deployed. You may use a wildcard to trust all subdomains. Be sure to add it, as in the file we provide: misc/parkour.env.sample. This will be mandatory once we update to Django 4.2
  • The docker image is now using Debian Bullseye as base, to match playwright system requirements.

Bugfix

  • Failed sequencing are now skipped from invoice XLS report. In the past staff users (sequencign team) needed to go request by request un-checking the 'sequenced' status on each.

Testing

  • new rules: coverage-html coverage-xml, run pytest with code coverage report(s).
  • new rule: playwright, to run end-to-end tests (frontend), for now 2 test were implemented.
  • The old test rule is now renamed as djtest, and it only runs the django unittests (functinal + integration).
  • added django-linear-migrations extension, to ease up fixing merge conflicts if we were to change models on different git branches.
  • added django-migration-linter with a new rule: lint-migras. This is now part of the test rule too, even though it's failing for 25 out of 38 migrations (see: incompatibilities for details, we have plenty of altering columns and a couple of missing default values on DB schema..)
  • Removed old debugging strategy of attaching term to docker container to work with PDB. It was too clunky, and we've been using werkzeug traceback interpreter anywayz.

Improvements

  • New permission for users: 'Access as PI', grants them the ability to see all requests shared under their PrincipalInvestigator, whichever that is.
  • new rule: reload-code, sends the hung-up signal to green unicorn, gracefully reloading the wsgi config and the app code (details here) (note: development deployments run on werkzeug and auto-reload code via the docker bind mounts anyway!)
  • Fixtures (JSON) are in long format now, and a new django-admin custom command save_initial_data is available to share some of our data to other research facilities. The good old load_initial_data is there too.
  • Backup cronjobs are more separated in time now, to avoid a known issue with rsnapshot.
  • rule models now generates 3 PDF files, one is a simple A4 sheet for quick preview, and the other two are for printing posters in A1 size using multiple sheets in either A4 or A3 sizes.
  • Support for developers working on Windows is better now. Feel free to open an issue if you face further difficulties.

Changes

  • Submission of sample and libraries updated, we are hardcoding values for columns that are now hidden in frontend (e.g. concentration_method and RQN). Like always, custom parameters and its values can be passed in the free-text form inside Description or using file attachments to each request.

Don't miss a new parkour2 release

NewReleases is sending notifications on new releases.