NexusLIMS-CDCS v3.20.0-nx0
Highlights
This release upgrades the underlying CDCS/MDCS platform from 3.18.0 to 3.20.0 (core packages 2.20.*, Django 5.2), bringing the latest upstream improvements and security fixes. It also introduces the new "NexusLIMS Annotator" application, which allows users to add structured description to experiment datasets directly within the interface, as well as reassign datasets between activities within a record. A public demo deployment configuration is also included for hosting a live demonstration instance at https://nexuslims-demo.datasophos.co.
As always, if you need assistance with configuration or deployment of NexusLIMS-CDCS at your institution, contact Datasophos.
Upgrade Instructions
1. Back up your data
Always back up before upgrading:
cd deployment
source admin-commands.sh
admin-backup2. Pull the new code
cd /opt/nexuslims-cdcs
git pull3. Change-specific steps
Rebuild Required
Python dependencies and the container definition changed significantly (CDCS/MDCS upgraded from 2.18.* to 2.20.*, Django 5.2, new nexuslims_annotate app added). Rebuild before restarting:
cd deployment
source admin-commands.sh
dc-prod build cdcsXSLT Stylesheets Updated
Both detail_stylesheet.xsl and list_stylesheet.xsl have been updated. Changes include:
- Detail stylesheet: Better support for dataset descriptions to align with annotation functionality; Loading spinner replaced with a custom inline SVG animation; XML and JSON download buttons consolidated into a single "Download Record" dropdown;
disable-output-escaping="yes"applied to the motivation field to correctly render HTML entities; gallery<figure>elements now carrydata-descriptionanddata-dataset-indexattributes for improved JavaScript interactivity. - List stylesheet:
disable-output-escaping="yes"applied to the motivation field to allow HTML display.
Re-upload the updated stylesheets to the database after restarting:
cd deployment
source admin-commands.sh
admin-initOr to update only XSLT without a full re-init:
docker exec ${COMPOSE_PROJECT_NAME}_cdcs bash /srv/scripts/update-xslt.sh4. Restart the stack
cd deployment
source admin-commands.sh
dc-prod down && dc-prod up -dNew Features
- Dataset Annotator (
nexuslims_annotate): A new Django application that enables users with edit permissions to attach structured descriptions to individual datasets within experiment records. Users can also reassign datasets between different activities. Accessible from the record detail view. (#16) - Public demo deployment: New
docker-compose.demo.yml,deployment/.env.demo.example,demo-commands.sh, and supporting scripts (seed_demo_records.py,reset_demo.sh) provide a complete turnkey configuration for hosting a public-facing NexusLIMS-CDCS demonstration instance with pre-loaded fixture records. (#18)
Bug Fixes
- Motivation field rendering: HTML entities in experiment motivation text (e.g.
&,<) are now rendered correctly in both the detail and list views by addingdisable-output-escaping="yes"to the XSLTxsl:value-ofoutput.
Internal / Maintenance
- Upgraded CDCS/MDCS base to 3.20.0 (core packages 2.20.*, Django 5.2). (#15)
pyproject.tomlrestructured: core and server optional-dependency groups merged into main dependencies;[dependency-groups]section added for dev tooling (python-dotenv).uv.lockregenerated for new dependency set.- GitHub Actions: added
deploy-demo.ymlworkflow for auto-deployment to demo server on push tomain;tests.ymlupdated. init_environment.pyextended with idempotent demo user creation (admin,readonly_user,project_lead) whenIS_PUBLIC_DEMO=True.- Updated floating-ui static libraries (core 1.7.5, dom 1.7.6, utils 0.2.11).