Release Notes v1.8

Version: 1.8

Released: July 2022

What’s new


  • Full theming support
  • Support for Data Access Passwords
  • Support for user settings
  • Support for notifications
  • Support for copy and move actions in the web portal
  • Support for multi-select actions for files and folders in research space
  • Support for davrods server on separate host
  • Support for Data Package References
  • Support for checksum reports
  • Support for local Postfix MTA
  • Improvements to default schema (default-2)
  • Transformation from default-1 to teclab-0 / hptlab-0
  • Improved search module and new search bar in header
  • Improved search functionality in group manager
  • Added Mailpit for easier mail testing during development
  • DataCite connection uses REST API instead of legacy MDS
  • Several UX improvements to default theme
  • Upgrade iRODS to v4.2.11 (Yoda 1.8.8+ has iRODS 4.2.12)
  • Upgrade python-irodsclient to v1.1.3 (Yoda 1.8.8+ has Python-irodsclient 1.1.8)
  • Support for PostgreSQL 15, as well as connection pooling for the iCAT database (in Yoda 1.8.7 and higher)
  • Removed legacy_tls flag (legacy TLS support, TLS 1.0 and 1.1)

Known issues

Upgrading from previous release

The playbook requires Ansible 2.9.x or higher.

Version constraints:

  • Requires Yoda external user service to be on version 1.5.x or higher.
  • Requires Yoda public server to be on version 1.6.x or higher.
  • Upgrades from Yoda 1.7.x to Yoda 1.8.8 (or higher) need to follow this upgrade path: first upgrade from Yoda 1.7.x to Yoda 1.8.7; then upgrade to Yoda 1.8.8 (or higher).
  1. Backup/copy custom configurations made to Yoda version 1.7. To view what files were changed from the defaults, run git diff.

  2. After making sure the configurations are stored safely in another folder, reset the Yoda folder using git stash or when you want to delete all changes made: git reset --hard.

  3. Checkout branch release-1.8 of the Yoda Git repository.
    git checkout release-1.8
  4. Set the Yoda version to release-1.8 in the configuration.
    yoda_version: release-1.8
  5. Change the default schema from default-1 to default-2 in the configuration. Discipline must be present in all vault packages before migration. I.e. discipline must be manually added if not present yet. This requires an intervention by the responsible datamanager beforehand.
    default_yoda_schema: default-2
  6. Two OpenID Connect configuration options have been added and one has been replaced. If OIDC is active (oidc_active), make sure you have configured, oidc_jwks_uri and oidc_jwt_issuer. Option oidc_domain is replaced with oidc_domains. Example:
    oidc_domains: ['domain1.tld', 'domain2.tld']
  7. DataCite connection is now using REST API instead of legacy MDS. If DataCite is configured, the option datacite_server should be replaced with datacite_rest_api_url. Example:
  8. Install all Ansible collections needed to deploy Yoda:
    ansible-galaxy collection install -r requirements.yml
  9. Run the Ansible playbook in check mode.
    ansible-playbook -i <path-to-your-environment> playbook.yml --check
    ### EXAMPLE ###
    ansible-playbook -i /environments/development/allinone playbook.yml --check
  10. If the playbook has finished successfully in check mode, run the Ansible playbook normally.
    ansible-playbook -i <path-to-your-environment> playbook.yml
    ### EXAMPLE ###
    ansible-playbook -i /environments/development/allinone playbook.yml
  11. Update all metadata JSON in the vault to latest metadata JSON version (default-1 to default-2).
    irule -r irods_rule_engine_plugin-irods_rule_language-instance -F /etc/irods/yoda-ruleset/tools/check-metadata-for-schema-updates.r
  12. Update publication endpoints if there are published packages (DataCite, landingpages and OAI-PMH):
    irule -r irods_rule_engine_plugin-irods_rule_language-instance -F /etc/irods/yoda-ruleset/tools/update-publications.r
  13. If the data request module is enabled, project managers, data managers and data committee members will only continue to receive emails regarding data requests if they have notifications enabled. The imeta command can be used to check whether a user has notifications enabled, and enable them if needed:
    imeta ls -u org_settings_mail_notifications
    imeta set -u org_settings_mail_notifications IMMEDIATE
  14. If the data request module is enabled, manually update the data request module schemas after upgrading (replace ZONENAME with the zone name of the environment):
    /etc/irods/yoda-ruleset/tools/ ZONENAME