
Metalnx 3.0.0
February 12, 2025
TRiRODS
Chapel Hill, NC
Justin James
Applications Engineer
iRODS Consortium
Overview of Changes
Metalnx is a Java-based web GUI for iRODS
v3.0.0 was released earlier this week
Main Changes
- Removed the Metalnx caching database
- Removed favorites, templates, shared links, and user profiles
- Removed user fields that only existed in the caching database
- Added support for the 10-level permission model in iRODS 4.3+

Overview of Changes (continued)
-
New User Form Changes
-
User creation form defaults user type to "rodsuser"
-
The previous default was "rodsadmin"
-
-
Removed "Personal Information" section
-
Was not being stored in the iRODS database
-
-
Removed group assignments at user creation
-
Now must be done via the "Groups" page
-
-
-
Configuration option to hide the left sidebar
-
Shown by default
-
-
Configuration option to show the left sidebar link to the "Public" collection
-
Hidden by default
-
-
Updated library dependencies
-
Bug fixes

Metalnx Caching Database (irods-ext)

Tables for user and template information

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

Support for 10-Level Permission Model



Before 3.0.0
3.0.0
Left Sidebar Changes (as a rodsadmin)


Before 3.0.0
3.0.0

Enabling the Link to to the "Public" Collection
- The link to the "Public" collection 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

New User Form Changes



Before 3.0.0
3.0.0
Library / Dependency 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
- Tomcat docker image
- 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 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 - Fixed 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 to target.
And other issues deemed no longer applicable due to the removal of the Metalnx caching database and templates.


Future Work
- Removal of any remaining templates, shared links, and favorites code
- Migration from Jargon to irods4j
- Continued fixing of existing bugs
- Consider leveraging iRODS metadata to reimplement removed features
- templates, shared links, favorites, user profiles


Questions and Demo
Thank you.

TRiRODS February 2025 - Metalnx 3.0.0
By iRODS Consortium
TRiRODS February 2025 - Metalnx 3.0.0
- 107