Skip to content

Oct-2023

Pre-release
Pre-release
Compare
Choose a tag to compare
@mohammadsalem mohammadsalem released this 20 Oct 16:23

Backend core updates:

  • Upgrade to node v20.
  • Upgrade NestJS to v10.
  • Upgrade Elasticsearch to v8 #182.
  • Upgrade Bull to v4.
  • Upgrade all dependancies to the latest supported/available version.
  • Replace iso-3166-1 with iso_3166-1 which is getting the countries from the iso-codes project #136.

Frontend core updates:

  • Upgrade Angular to v15 #181.
  • Upgrade all dependancies to the latest supported/available version #181.
  • Replace Moment.js with Day.js #132.
  • Migrate from ngx-tour to ngx-ui-tour #171.

Note: the following dependancies were forced installed and according to users feedback these packages don't work with Angular 16+:

  1. @material-extended/mde
  2. @agm/core
  3. @agm/snazzy-info-window
  4. @nicky-lenaers/ngx-scroll-to
  5. @thisissoon/angular-inviewport
  6. ng2-nouislider

Multi-dashboard support: The possibility to create different dashboards with different design, appearance, indexes and data sources #129.

Admin dashboard side menus:

  • Indexes: Contains the list of available indexes, indexes are used as datasources for dashboards. Repositories, Plugins and value mappings can be defined for each index separately.
    Note: Index name must be unique, lower case and without spaces, it cannot be changed after adding it.
  • Dashboards: Contains the list of available dashboards, dashboards are the interface users see to visualize and filter the data. Layout Design, Appearance and Reporting can be defined for each dashboard separately.
    Note: Dashboard name must be unique, lower case and without spaces, it cannot be changed after adding it.
  • Users: Contains the list of the available users.
  • Indexes and Dashboards can be imported/exported (validation will apply and the user will be notified in case of errors). Imported data will be saved upon importing.

Backend Harvesters and plugins:

  • Refactoring queues by removing the use of the nest bull js queues and dynamically create queues from the defined index(es). Fixing #119.
  • Harvesting can be controlled from the Harvest dashboard for each index.
  • Harvesting and each plugin can be triggered/stopped/monitored separately. With a list of the jobs, jobs summary, progress and estimated completion time.
  • Failed jobs will have an icon next to the Attempts made column, that shows the failed error message on mouse hover.
  • Active jobs card in the summary will show stuck jobs between parentheses e.g. Active (6). Stuck jobs will interfere with the harvest process and shall be removed from Redis.
  • Commit index is not allowed unless the harvest jobs are drained. It will also prevent the action if nothing was harvested.

Repositories configuration:

  • Repositories can be configured from the Repositories for each index.
  • Repositories cards is collapsed by default showing the repository name, clicking the card will expand it.
  • A datetime formatter is added to the formatters.
  • Schema and Metadata fields height is limited with a scroll inside.
  • Add DSpace7 as a repository type to use DSpace7 harvester #133.
  • Repositories can be exported/imported. Imported data will be added in the user interface but not saved unless the user saves it #88.

Plugins configuration:

  • Plugins can be configured from the Plugins for each index.
  • The plugin DSpace health check is dropped in favour of DSpace Add Missing Items.
  • DSpace Add Missing Items have a new field to specify the item identifier type in the sitemap (Handle or UUID) for each repository.
  • DSpace Altmetric Attention Scores can be configured to either use the free API or the Explorer API by defining Altmetric Explorer API key and Altmetric Explorer API secret for each instance #183.
  • Plugins can be exported/imported. Imported data will be added in the user interface but not saved unless the user saves it #88.

Value mappings:

  • Value mappings can be configured from the Value mappings for each index.
  • Value mapping can be configured for a specific metadata field, or leaving it empty to apply for everything #111.
  • Fix search for terms containing spaces #43.
  • Value mappings can be exported/imported. Imported data will be saved upon importing #88.

Dashboard layout design:

  • New filter option is introduced for the text search to enable advanced search, advanced search will allow special characters to build complex queries as mentioned in the documentation
  • Minor visual enhancements.

Dashboard layout design, Appearance and Reporting import/export:

  • Layout design: Imported data will be added in the user interface but not saved unless the user saves it #88.
  • Appearance: Imported data will be added in the user interface but not saved unless the user saves it #88.
  • Reporting: Imported data will be saved upon importing #88.

Public dashboard:

  • Show the last update date when hovering on the newly added icon on the top right corner
  • Minor visual enhancements to unify the public dashboard layout.
  • Minor visual enhancements to the lists component design.
  • Retrieving Altmetric badge will priorities getting the DOI badge then the Handle.

Generic enhancements:

  • Admin dashboard: Add a loading block screen when loading/processing.
  • Admin dashboard: Show a confirmation dialog when performing operations (harvest, commit, stop harvest, delete).
  • Admin dashboard: Show informative messages after performing operations informing the user about the operation result/errors.
  • Admin dashboard: Minor visual enhancements to unify the admin dashboard layout.
  • Admin dashboard: Convert all tables to use backend pagination.
  • Refactoring the harvesters and plugins code to decrease execution time and load.
  • Fixing users password hashing when creating/editing users.

Routing and default dashboard:

  • Upon installation setting the env variable CONFIG_OpenRXV_BASE_HREF to install the app with a prefix href.
  • In the dashboard settings a new column is added to mark a dashboard as default, default dashboard will be used to get the appearance for the admin dashboard and will be redirected to when accessing the domain without specifying the dashboard.

Experimental auto harvest:

  • Configuring an index have the option to enable auto indexing, it can be configured as daily, weekly, monthly and yearly.
  • Currently the auto harvesting works without plugins, if the plugins are enabled it is not recommended to enable the auto harvester.

Migration:

  1. Backup the JSON data files backend/data/*.json.
  2. Modify the values for OPENRXV_FINAL_INDEX, OPENRXV_TEMP_INDEX and OPENRXV_ALIAS in backend/data/templates/json-data-mirgation.js to align with the values from the previous installation.
  3. Run the script node backend/data/templates/json-data-mirgation.js.
  4. Delete the JSON data files backend/data/*.json.
  5. Move the migrated json files mv backend/data/templates/migrated/*.json backend/data/.
  6. Run the commands resulted from the script above to migrate Elasticsearch indexes.
  7. Navigate to the repository tab for the migrated index and click save to re-align the repositories schema.