Releases: datasophos/NexusLIMS-CDCS
NexusLIMS-CDCS v3.20.0-nx0
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).
Full Changelog
Demo Fixture Data
Large binary demo fixture files (preview images) for the live NexusLIMS demo deployment. Managed automatically by manage-demo-fixtures.sh and not tied to a software release. Contains a variety of preview images and metadata extracted from public datasets.
3.18.0-nx1
NexusLIMS-CDCS v3.18.0-nx1
Welcome to version 3.18.0-nx1 of NexusLIMS-CDCS!
This is a minor update over 3.18.0-nx0 that simplifies some deployment aspects when setting up a local deployment with self-signed SSL certificates. It does not add any prominent new features.
What's Changed
Full Changelog: 3.18.0-nx0...3.18.0-nx1
Support & Professional Services
As always, if you need help deploying NexusLIMS, Datasophos offers:
- 🚀 Deployment & Integration - Expert configuration for your lab environment
- 🔧 Custom Development - Custom extractors, harvesters, and workflow extensions
- 🎓 Training & Support - Team onboarding and ongoing technical support
3.18.0-nx0
NexusLIMS-CDCS v3.18.0-nx0
Welcome to version 3.18.0-nx0 of NexusLIMS-CDCS!
This version represents the first release of NexusLIMS-CDCS by Datasophos, and is a complete upgrade of NexusLIMS-CDCS to be based off of version 3.18.0 of MDCS. It is nearly a complete rewrite of the NexusLIMS customizations. Key changes include:
🚀 Deployment Infrastructure Overhaul
- Drastically simplified deployment for development and production (see the
deployment/folder) - Three-layer Docker Compose architecture (base + dev + prod)
- Local HTTPS testing with Caddy reverse proxy and internal PKI
- PostgreSQL-only configuration (MongoDB removed)
- Automated development environment with
dev-commands.shand initialization scripts - Comprehensive backup/restore system with timezone support and error handling
- Schema management with automated NexusLIMS schema initialization
🎨 UI/UX Modernization
- Bootstrap 5 integration throughout the application
- DataTables 2.3.6 with Bootstrap 5 styling and extensions
- Responsive design with mobile support across all components
- Enhanced detail view with modular CSS/JS architecture
- Improved navigation with fixed headers and clickable instrument badge filtering
- Tour system with enable/disable support and explore page integration
🏗️ Architectural Improvements
- Centralized customization via
nexuslims_overrides/Django app - Runtime configuration system with
config/settings/custom_settings.py - Theme system with configurable colors (
NX_THEME_COLORS) and branding - Template inheritance pattern minimizing code duplication
- XSLT enhancements with parameter passing and debug mode support
🔧 Technical Enhancements
- Download system using File System Access API with graceful degradation
- JSON/XML export functionality with permission-based UI controls
- Feature detection replacing deprecated browser-specific code
- Modern JavaScript with modular architecture and improved error handling
- Static libraries including Shepherd.js 11.2.0, jszip 3.10.1, and DataTables extensions
📁 Key Components Added
deployment/- Complete deployment infrastructure with Docker Composenexuslims_overrides/- Centralized customization app with comprehensive documentationconfig/settings/- Runtime configuration systemxslt/- XSLT transformations with parameter supportstatic/libs/- Modern JavaScript librariesscripts/- Deployment utilities (backup, restore, schema management)
🔄 Migration Highlights
- MongoDB removal - PostgreSQL-only configuration
- Template structure - All customizations moved to
nexuslims_overrides/ - UI modernization - Bootstrap 5 and DataTables 2.x integration
- Static files - Centralized in
config/static_files/directory
📝 Documentation
- Complete
deployment/README.mdandPRODUCTION.mdguides - Frontend documentation published at https://datasophos.github.io/NexusLIMS/stable/frontend_guide.html
nexuslims_overrides/README.mdandCUSTOMIZATION.mdfor customizationLOCAL-HTTPS-TESTING.mdfor development HTTPS setup
🔒 Security & Performance
- Automatic HTTPS with Caddy internal PKI
- PostgreSQL hardening in production configuration
- Environment-based secrets management
- Improved caching and asset loading performance
🎯 Benefits
- Developers: Modern dev environment, better debugging, comprehensive docs
- Admins: Production-ready config, security guides, backup procedures
- Users: Responsive UI, improved navigation, better mobile support
Breaking Changes: MongoDB support removed, template structure changes, static file organization updates.
Full Changelog: https://github.com/datasophos/NexusLIMS-CDCS/commits/3.18.0-nx0