v1.9 Release Notes

This is an incremental software release that adds several improvements across the board. The API is backwards compatible with v1.8.

With v1.9, Nexus Delta also changes its underlying runtime, allowing to it to work properly, switching from Monix which is not maintained anymore to Cats Effect.

For the detailed list of updates in this release, see the list of addressed issues since v1.8.

If you are currently using Nexus Delta from 1.8.x, please visit the migration instructions for the necessary steps to successfully upgrade.

Nexus Delta

Resources

self, incoming and outgoing links

Those three links are returned in the response of operations related to the different resources. Until 1.9, they were curied/shortened according to the base and the API mappings defined in the project configuration.

This caused consistency problems, as whenever the base or the API mapping was changing, those shortened links were not valid anymore:

  • All data in views displaying metadata (which include those links) had to be indexed again ;
  • The change also had to be propagated to other external systems ;
  • The resources, including download links to files, had to be patched

Therefore, since 1.9, _self, _incoming and outgoing links are not shortened anymore, allowing them to remain stable in time even if the project configuration changes.

Multi fetch

Multiple resources can now be retrieved within a single call with the multi-fetch operation.

More information

Resources trial and resource generation

Until 1.9, operations about resources resulted in writes in the primary store and indexing in the knowledge graph. However, users may also want first to experiment/refine/polish/validate a resource and schema and only create/update the resource when they are happy with it.

More information

Payload validation

It is now forbidden for JSON payloads to contain fields beginning with underscore (_). This can be disabled by setting app.resources.decoding-option to lenient; however, it is not recommended as the specification of this data in payloads can have unexpected consequences to both the data and the user interface.

Listings by types can now be controlled with the typeOperator query parameter. Possible values are or and and, which will match any and all types, respectively.

Aggregations

It is now possible to aggregate resources by @type or project.

This feature is also available on files, resolvers, schemas, storages, and views.

More information

Remote contexts

When creating/updating a resource, Nexus Delta now keeps track of the remote contexts that have been resolved during the operation.

More information

Schema changes

The schema of a resource can now be changed:

  • When performing a resource update, it is possible to specify a new schema.
  • A dedicated endpoint to only change the schema without providing any payload is available.

More information about the dedicated endpoint

Tagging at creation/update

Create and update operations on resources now accept an optional tag, allowing the resulting resource to be tagged in the same call.

More information

No new revision on a resource if no change is detected

During update and refresh operations, if no change is detected, no new revision will be created and the last existing revision will be returned.

This was introduced to prevent users from creating a large number of revisions for resources when no change is actually introduced.

More information

Undeprecate resources

Previously deprecated resources can now be undeprecated.

More information

Projects

Undeprecate projects

Previously deprecated projects can now be undeprecated.

More information

Views

Indexing errors listing

Indexing errors can now be listed and filtered for a given view.

More information

Resource type filtering performance improvement

To improve indexing performance, the types defined in the FilterByType pipe, Sparql View payload, or the Composite View source payload are filtered in PostgreSQL rather than in Nexus Delta. This avoids querying for data just to discard it straight away.

Compressing requests to Elasticsearch

The different requests to Elasticsearch are now compressed by default allowing to reduce the I/Os especially during indexing.

Composite views

New features enhance the performance of indexing of composite views, as well as authentication changes for views which incorporate projects on remote Delta instances.

Batching queries to the intermediate space

Construct queries to the intermediate space can now be batched.

More information

Partial reindexing

A diff is performed when a composite view is updated, and only the necessary spaces are reindexed.

For example, if a source is added/updated/removed, all the spaces (intermediate space and projection spaces) get reindexed. However, if a projection is added/updated/removed, now only the space related to this projection is reindexed, which reduces the number of operations and consequently speed up the indexing.

Preserving the intermediate space also reduces the fragmentation of the Blazegraph journal.

More information

Remote authentication

Rather than storing an auth token in the composite view, it is now expected to specify an authentication method in the Delta configuration.

More information

Remove the resourceTag field in projections of composite views

This field was never used, so as there is no plan for it, it has now been removed.

Elasticsearch Views

The Elasticsearch mapping of an Elasticsearch View can be retrieved.

More information

Archives

Add files by their _self

Files can be added to an archive using a _self.

More information

Annotated source as a format

Annotated source is now available as an output format when creating an archive.

More information

Require only resources/read permission for archive creation

Creating an archive now requires only the resources/read permission instead of archives/write.

Remove support for Tarball archives

Tarball archives are no longer supported due to unnecessary restrictions. ZIP is now the only allowed format and clients should send application/zip in the Accept header when creating archives.

Organizations

Support deletion of empty organizations

Previously, it was only possible to deprecate organizations at a specific revision. Now, organizations containing no projects can be deleted by specifying a prune parameter: DELETE /v1/org/{label}?prune=true

More information

Undeprecate organizations

Previously deprecated organizations can now be undeprecated.

More information

Storages

Remote Storages

Storages can no longer be created with credentials that would get stored:

  • For S3 storages, this would be accessKey/secretKey.
  • For remote storages, this means credentials.

These should instead be defined in the Delta configuration.

More information

Files

Undeprecate files

Previously deprecated files can now be undeprecated.

More information

Automatic media type configuration

The automatic detection of the media type can now be customized at the Delta level.

NB: The media type provided by the user still prevails over automatic detection.

More information

Tagging at creation/update

Create and update operations on files accept now an optional tag allowing to tag the resulting file in the same call.

More information

Graph analytics

Search endpoint for Graph analytics’ views

The Elasticsearch views behind Graph analytics can now be queried using the _search endpoint.

More information

Indexing remote contexts in Graph Analytics

Remote contexts used during the JSON-LD resolution for a resource are now indexed in the Graph analytics views and can be found via the search endpoint

More information

Id Resolution

It is now possible to perform ID resolution by providing only the identifier of a resource.

More information

User Permissions

It is now possible to query whether the currently logged-in user has specific permission in a specific context.

More information

Nexus Fusion 1.9 Release Notes

The 1.9 release of Nexus Fusion focuses on enhancing user interaction, resource management, and overall application efficiency. This update introduces new features and key improvements across various sections of the application.

Home Page

  • Global User Interface Improvements:
  • Improved header menu behavior while scrolling.
  • Enhanced uniformity in UI elements.

Data Explorer

  • Built beta version of data explorer.
  • Multi-type filter selection in the “My Data” section.
  • New filtering and navigation features.
  • Fullscreen mode for Graph Flow.
  • Navigation has been improved with back and forward buttons.

Project Listing Page

  • Resource Management and Display:
  • Display of resources missing paths and containing specific values.
  • Clearer resource counts and enhanced popover information.
  • Introduction of Data Cart logic.
  • Improved ACL checks and permissions retrieval.

Resource Viewer

  • ID resolution in resource viewer/editor.
  • ID resolution via the URL input of the browser.
  • Code Editor Enhancements:
  • URL copying feature in Code Editor.
  • Typo corrections and layout adjustments.
  • Tagging resources and splitting resource history.

Functional Improvements

  • Advanced search and filter capabilities.
  • New resource tagging features.
  • Enhanced error handling and feedback mechanisms.
  • Bulk request resources from the backend to reduce the number of network requests.

Nexus Storage

Automatic file detection

The Nexus storage app also benefits from the changes in automatic file detection.

More information

Removing Delta callback to validate the caller identity

This callback has been replaced by a local validation of the token.

Nexus forge

For more information about the Forge, please refer to the documentation.