Skip to content

Latest commit

 

History

History
248 lines (135 loc) · 9.12 KB

v1.9-release-notes.md

File metadata and controls

248 lines (135 loc) · 9.12 KB

v1.9 Release Notes

TODO add link to full changes on github

If you are currently using Nexus Delta from 1.8.x, please visit the @ref: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 were 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 had also 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.

@ref:More information

Resources trial and resource generation

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

@ref:More information

Payload validation

It is now forbidden for JSON payloads to contain fields beginning with underscore (_). This can be disabled be setting app.resources.decoding-option to lenient, however it is not recommended as specification of this data in payloads can have unexpected consequences in both 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.

@ref: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.

@ref:More information

Schema changes

The schema of a resource can now be changed:

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

@ref:More information about the dedicated endpoint

Tagging at creation/update

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

@ref:More information

Undeprecate resources

Previously deprecated resources can now be undeprecated.

@ref:More information

Views

Indexing errors listing

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

@ref:More information

Resource type filtering performance improvement

To improve indexing performance, the types defined in the @ref:FilterByType pipe, @ref:Sparql View payload, or the @ref: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 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.

@ref:More information

Partial reindexing

When a composite view is updated, a diff is performed 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.

@ref: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

@ref: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 is now removed.

Elasticsearch Views

The Elasticsearch mapping of an Elasticsearch View can be retrieved.

@ref:More information

Archives

Add files by their _self

Files can be added to an archive using a _self.

@ref:More information

Annotated source as a format

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

@ref: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

@ref: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.

@ref:More information

Files

Undeprecate files

Previously deprecated files can now be undeprecated.

@ref: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.

@ref: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.

@ref:More information

Graph analytics

Search endpoint for Graph analytics' views

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

@ref: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 @ref:search endpoint

@ref:More information

Id Resolution

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

@ref:More information

User Permissions

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

@ref:More information

Nexus Fusion

TODO

Nexus Storage

Automatic file detection

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

@ref:More information

Removing Delta callback to validate the caller identity

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

Nexus forge

TODO