
Metalnx v3.1.0
Justin James
Application Engineer
iRODS Consortium
June 17-20, 2025
iRODS User Group Meeting 2025
Durham, NC
Overview of Changes
Metalnx is a web application that is a web based file browser for iRODS.
Version 3.1.0 of Metalnx was released in June.
- Removal of the irods-ext database.
- Removal of favorites, templates, user profiles, and bookmarks.
- Removal of user fields that only exist in the irods-ext database.
- Configuration option added to hide the left sidebar.
- Added support for the 10 level permission model in iRODS.
- Upgraded third party packages.

- New User Form Changes
- User creation form defaults user type to "rodsuser" (was "rodsadmin")
- Removed "Personal Information" section
- Not stored in the iRODS catalog
- No group assignments at the time of user creation
- Now must be done via the "Groups" page
- Added configuration option to enable/disable the public link
- Default is disabled
- Removed admin credentials in configuration file
- Metalnx now authenticates directly with user credentials (no proxy user)
- Update library dependencies
- Bug fixes

Overview of Changes (continued)
Metalnx Database (irods-ext)

To give an idea of what has been deleted....

Metalnx Database (irods-ext)
The Metalnx database provided the following additional functionality:
- Additional user information (last name, first name, department, etc.)
- User profiles
- Bookmarks
- Favorites
- Metadata Templates
Rationale for removing the database
- Wanted a generic stateless iRODS GUI.
- Code is simplified and more maintainable.
- Only wanted a single source of truth.
- No longer require a background jobs with admin credentials to keep duplicated data in sync.
- Synchronization was buggy.
- Some features can be implemented in the iRODS server.

Left Sidebar Changes - rodsadmin version


Before 3.0.0
3.0.0

Support for Ten Level Permission Model


Old
New

New User Form Changes
Old
New



Enabling the "Public" Link
- The "Public" link on the left sidebar is now disabled by default.
- To enable the public link update /etc/irods-ext/metalnx.properties:
##########################################################
# Setting to enable/disable the "Public" sidebar link.
# The default is "false" (hidden)
##########################################################
sidebar.show.public=true

Library Updates
- metalnx-web
- tomcat docker image - tomcat:jdk11-adoptopenjdk-hotspot -> tomcat:9.0.98-jdk21-temurin-noble
- spring - 4.3.18 -> 5.3.39
- spring security - 3.0.10 -> 5.8.16
- spring batch - 3.0.10 -> 4.3.10
- servlet api - 3.0.1 -> 4.0.1
- logging - slf4j 1.7.7 -> log4j 2.24.3
- jettison - 1.4.0 -> 1.5.2
- commons-fileupload - 1.3.3 -> 1.5
- commons-io - 2.7 -> 2.14.0
- jargon-irods-ext
- spring - 4.3.18 -> 5.3.39
- spring security - 3.23.10 -> 5.8.16
- spring batch - 3.0.8 -> 4.3.10

Bugs Fixed
#133 - iRODS connections remain open when CAT_INVALID_USER is returned. Connection now closed when Jargon throws InvalidUserException is thrown from Jargon.
#189 - CSV download failure when exporting CSV from a metadata query when only data objects match the query. Fixed logic around CSV download.
#307 - spring4shell vulnerability. Remedied with spring version updates.
#327 - Users created outside of Metalnx are not listed in Metalnx. iRODS is now the single source of truth.
#373 - Uploads fail when Metalnx's default resource is blank. Now we allow iRODS to determine the resource in this instance.
#392 - Fix calculation for default max total bytes for zip service. Report download limit violation to client.
jargon #510 - Fix handling of passwords with backslash and semicolon.
Other issues deemed no longer applicable due to the removal of the Metalnx database and templates.


Future Work
- Migrate from Jargon to irods4j
- Update from Spring 5 to Spring 6
- Some of this work has been completed but this requires a major refactor of the code.
- More bug fixes


Questions and Demo
Thank you.

UGM 2025 - Metalnx v3.1.0
By iRODS Consortium
UGM 2025 - Metalnx v3.1.0
- 57