#*****************************************
refer to https://github.com/irods-contrib/metalnx-web
This project has been transferred over into the iRODS Consortium where active development will continue, consider this repo to be an 'archived' status, and later we'll flip the GitHub bits to make it read only.
We're busy over there in the other location, and all code has been moved over, currently in master, and is being actively developed in the context of the iRODS Consortium and MetaLnx working group
#*****************************************
This is a fork of the open source Metalnx browser as a candidate basis for Cloud Browser II. This is meant to develop as a generalized tool with hooks, plugins, and theming to allow use in a broader community. Please join the project if interested!
Metalnx is a web application designed to work alongside the iRODS - Integrated Rule-Oriented Data System. It provides a graphical UI that can help simplify most administration, collection management, and metadata management tasks removing the need to memorize the long list of icommands.
Note that this fork adds a schema configuration and migration tool to set up and migrate the database over versions. This actually is a start of a more formalized irods-ext database which will evolve to support an implementation of virtual collections, metadata templates, and the like. See the README.md in the metalnx-tools subproject for details on setting up and migrating the database schema.
Check out Getting-Started for installation instructions.
Check out the Metalnx Wiki for further information.
Copyright © 2015-2017, Dell EMC.
This software is provided under the Software license provided in the LICENSE file.
Add ability to import iRODS SSL self-signed cert into jvm keystore when using SSL transport
Adding formalized database schema setup and migration tools using flywaydb. See the metalnx-tools subproject and its README for a maven based database setup and migration tool.
Added ability to configure SSL negotiation and other properties in metalnx.properties and have them propogate to the settable jargon properties. This may eventually be pulled out to a stand alone utilities package for use across mid tier components.
Switched to the existing standardized /etc/irods-ext method of defining properties picked up by spring for interpolation in bean configuration. This is especially useful for docker deployments as the /etc/irods-ext can be a volume mount for docker
Did some cleanup and temporarily put aside several ticket tests for further assessment at the iRODS and Jargon layer. There maybe some remaining issues with tickets, see DICE-UNC/jargon#266 so this will be revisited at that layer as soon as possible. These changes allow a clean unit test baseline
Normalizing the test setup, properties generation scheme to align with cloud browser, rest, jargon, etc. This will allow easier setup in iRODS CI, etc. Simplified the spring config propertis references to look at the metalnx.properties in /etc/irods-ext for production in issue #10 and #7, and this change utilizes build of test.metalnx.properties and testing.properties from the pom based on settings.xml as in jargon and other libs.
See the DEVELOPER-README.md doc for details on how to set up and run tests.
Add facilities to allow site-specific customization of the browser (css,logo, resource bundles, etc). See CONFIGURATION.md for instructions. This change does require /etc/irods-ext files to be put into place for the resource locations. This may be refactored at a later time, but provides a first clean separation between customizations based on css, messages, images, etc. Some clean up needs to be done to fully internationalize text, etc. This is being addressed in other issues.
Isolated specific queries and reference client hints to determine iRODS catalog type, this uses a factory arrangement to obtain a source for SQL queries. This is now scaffolded with unit tests of existing specific queries. MySql semantics are being added...work in progress
Integrated changes from issue 15 in consortium codebase, mapping to issue #43 in NIEHS.
Remove remaining hard coded text in templates and convert to resource bundle refs mapped to niehs issue #44
Incrementally going through the Selenium tests to unify with the Jargon testing framework and to reactivate ignored selenium tests. See the CONFIGURATION.md file for information on Selenium test setup, which is run from the src/emc-metalnx-web directory. That directoy also includes a test-scripts folder with the required maven settings.xml updates. The current Selenium tests have been refactored to start with basic health checks while the page functions stabilize.
Updated Jargon and controller code to gracefully handle no permission errors with a helpful message and a return to the previous directory view
Add properties based global control of features targeted at first towards removing tickets niehs #52
Add a global config to turn on/off certain features via metalnx.properties. This allows sites to globally turn off features such as tickets.
Add preferences to toggle between normal/advanced view and made dataGridUser.advancedView a model attribute always available in thymeleaf pages so that the interface can show or hide features based on normal or power users
Sidebar nav a thymeleaf fragment to reduce redundancy in custom templates
While it needs more investigation, the upload processing that does resource searching and building of metadata to run file-dependent rules on uploads was getting NPE when a resource was not specified during upload. This now will turn off automatic processing in this case, pending further hardening and clarification of that functionality. In addition, a new metalinx.properties value that can turn off this global rules application on upload.
metalnx.enable.upload.rules=false
This change requires the addition of this property to metalnx.properties,and for unit testing and building this property should be in settings.xml. See the CONFIGURATION.md and DEVELOPER-README.md for details. The sample metalnx.properties in /etc/irods-ext in this repo shows a sample configuration.
-
#22 fix search text
-
#25 search - default to 'contains'
-
#11 Consider removing Jquery data table search filter as confusing next to the planned global search