You are browsing the docs for Nexus v1.7.x, the latest release is available here
v1.2 Release Notes
This is an incremental software release that adds several improvements across the board. The API is backwards compatible to v1.1 and no migrations are required.
Highlights
The goal of this release is to extend the way in which resources can be fetched, allowing multiple resources to be downloaded at once.
Source
Previously a resource could be retrieved as Json-LD (compacted or expanded), DOT and n-triples format. In this release the sub-resource /source
is introduced.
This endpoint allows clients to retrieve the original payload posted for that resource. The following resource types support this feature:
- resources:
/v1/resources/{org}/{project}/_/{id}/source
- schemas:
/v1/schemas/{org}/{project}/{id}/source
- views:
/v1/views/{org}/{project}/{id}/source
- resolvers:
/v1/resolvers/{org}/{project}/{id}/source
- storages:
/v1/storages/{org}/{project}/{id}/source
Archives
A new resource type has been introduced on the top level API (archives
).
An archive is a collection of resources stored inside an archive file. The archiving format chosen for this purpose is tar (or tarball).
In other words, an archive resource allows a client to select multiple resources and download them all at once in a tar file.
Example:
This example selects the resource with id https://nexus.example.com/myid1
and https://nexus.example.com/myid2
from the current project (myorg/myproj
). It also selects the file with id https://nexus.example.com/file1
from the project myorg/my-other-project
. For the file, the location in the resulting tar file it is explicitly specified (as other/path/file.png
). As a result, a file output.tar
will be created on the current directory. This file, once unpacked, contains the 3 selected resources.
curl -L -s -H "Authorization: Bearer $TOKEN" "http://localhost/v1/archives/myorg/myproj" \
-H "Content-Type: application/json" -H "Accept: */*" \
-d '{
"resources" : [
{
"@type": "Resource",
"resourceId": "https://nexus.example.com/myid1"
},
{
"@type": "Resource",
"resourceId": "https://nexus.example.com/myid2",
"originalSource": false
},
{
"@type": "File",
"resourceId": "https://nexus.example.com/file1",
"project": "myorg/my-other-project",
"path": "other/path/file.png"
}
]
}' -o output.tar
Further information related to archives can be found here
Async. file attributes
The previous release added an asynchronous process that checks for un-computed digests on file resources and performs the computation asynchronously.
In this release we extend that computation to not only update the digest but also the size (bytes) of the file. This process fixes some edge cases, where the size of an archive file was not accurate when linking resources using a RemoteDiskStorage
.