Skip to content

Releases: datasophos/NexusLIMS-CDCS

NexusLIMS-CDCS v3.20.0-nx0

30 Mar 05:00

Choose a tag to compare

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

2. Pull the new code

cd /opt/nexuslims-cdcs
git pull

3. 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 cdcs
XSLT 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 carry data-description and data-dataset-index attributes 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-init

Or to update only XSLT without a full re-init:

docker exec ${COMPOSE_PROJECT_NAME}_cdcs bash /srv/scripts/update-xslt.sh

4. Restart the stack

cd deployment
source admin-commands.sh
dc-prod down && dc-prod up -d

New 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. &amp;, &lt;) are now rendered correctly in both the detail and list views by adding disable-output-escaping="yes" to the XSLT xsl:value-of output.

Internal / Maintenance

  • Upgraded CDCS/MDCS base to 3.20.0 (core packages 2.20.*, Django 5.2). (#15)
  • pyproject.toml restructured: core and server optional-dependency groups merged into main dependencies; [dependency-groups] section added for dev tooling (python-dotenv).
  • uv.lock regenerated for new dependency set.
  • GitHub Actions: added deploy-demo.yml workflow for auto-deployment to demo server on push to main; tests.yml updated.
  • init_environment.py extended with idempotent demo user creation (admin, readonly_user, project_lead) when IS_PUBLIC_DEMO=True.
  • Updated floating-ui static libraries (core 1.7.5, dom 1.7.6, utils 0.2.11).

Full Changelog

v3.18.0-nx1...v3.20.0-nx0

Demo Fixture Data

28 Mar 14:38
690ab0d

Choose a tag to compare

Demo Fixture Data Pre-release
Pre-release

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

31 Jan 21:49
1ee0dbb

Choose a tag to compare

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

  • feat: Simplify local HTTPS deployment with automatic TLS configuration by @jat255 in #12

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

20 Jan 01:34

Choose a tag to compare

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.sh and 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 Compose
  • nexuslims_overrides/ - Centralized customization app with comprehensive documentation
  • config/settings/ - Runtime configuration system
  • xslt/ - XSLT transformations with parameter support
  • static/libs/ - Modern JavaScript libraries
  • scripts/ - 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

🔒 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