Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 29 additions & 5 deletions doc/release-notes/4.17-release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,18 @@ Tools that integrate with Dataverse can now be launched from the dataset page! T

### Performance Enhancements

Dataverse now allows installation administrators to configure the session timeout for logged in users using the new `:LoginSessionTimeout` setting. (Session length for anonymous users has been reduced from 24 hours to 10 minutes.) Setting this lower will release system resources as configured and will result in better performance (less memory use) throughout a Dataverse installation.
Dataverse now allows installation administrators to configure the session timeout for logged in users using the new `:LoginSessionTimeout` setting. (Session length for anonymous users has been reduced from 24 hours to 10 minutes.) Setting this lower will release system resources as configured and will result in better performance (less memory use) throughout a Dataverse installation.

Dataverse and Dataset pages have also been optimized to discard more of the objects they allocate immediately after the page load. Thus keeping less memory permanently tied up for the duration of the user's login session. These savings are especially significant in the Dataverse page.

## Major Use Cases

Newly-supported use cases in this release include:

- As a user, I can launch and utilize external tools that allow me to work across the code, data, and other files in a dataset.
- As a user, I can launch and utilize external tools that allow me to work across the code, data, and other files in a dataset.
- As a user, I can add a footer to my dataverse to show the logo for a funder or other entity.
- As a developer, I can build external tools to verify reproducibility or allow computation.
- As a developer, I can check to see the impact of my proposed changes on memory utilization.
- As an installation administrator, I can make a quick configuration change to provide a better experience for my installation's users.

## Notes for Dataverse Installation Administrators
Expand Down Expand Up @@ -46,15 +50,29 @@ This is optional, but all future changes will go to these files. It might be a g
In case you use custom metadata blocks, you might find the new `updateSchemaMDB.sh` script beneficial. Again,
see http://guides.dataverse.org/en/4.17/admin/metadatacustomization.html#updating-the-solr-schema

### Memory Benchmark Test

Developers and installation administrators can take advantage of new scripts to produce graphs of memory usage and garbage collection events. This is helpful for developers to investigate the implications of changes on memory usage and it is helpful for installation administrators to compare graphs across releases or time periods. For details see the `scripts/tests/ec2-memory-benchmark` directory.

### New Database Settings

[:LoginSessionTimeout](http://guides.dataverse.org/en/4.17/installation/config.html#loginsessiontimeout) controls the session timeout (in minutes) for logged-in users.

## Notes for Tool Developers and Integrators

### Dataset Level Explore Tools
### New Features and Breaking Changes for External Tool Developers

The good news is that external tools can now be defined at the dataset level and there is new and improved documentation for external tool developers, linked below.

Additionally, the reserved words `{datasetPid}`, `{{filePid}`, and `{localeCode}` were added. Please consider making it possible to translate your tool into various languages! The reserved word `{datasetVersion}` has been made more flexible.

Tool developers can now define the scope of an external tool as file or dataset. This will allow tools to appear for selection at the dataset or file level. For more information, check out the Guides section on <a href=http://guides.dataverse.org/en/4.17/api/external-tools.html/>External Tools</a>.
The bad news is that there are two breaking changes. First, tools must now define a "scope" of either "file" or "dataset" for the manifest to be successfully loaded into Dataverse. Existing tools in a Dataverse installations will be assigned a scope of "file" automatically by a SQL migration script but new installations of Dataverse will need to load an updated manifest file with this new "scope" variable.

Second, file level tools that did not previously define a "contentType" are now required to do so. In previously releases, file level tools that did not define a contentType were automatically given a contentType of "text/tab-separated-values" but now Dataverse will refuse to load the manifest file if contentType is not specified.

The Dataverse team has been reaching out to tool makers about these breaking changes and getting various tools working in the https://github.com/IQSS/dataverse-ansible repo. Thank you for your patience as the dust settles around the external tool framework.

For more information, check out new <a href=http://guides.dataverse.org/en/4.17/api/external-tools.html/>Building External Tools</a> section of the API Guide.

## Complete List of Changes

Expand All @@ -81,6 +99,12 @@ If this is a new installation, please see our <a href=http://guides.dataverse.or

3. Deploy this version.

- &lt;glassfish install path&gt;/glassfish4/bin/asadmin deploy &lt;path&gt;dataverse-4.16.war
- &lt;glassfish install path&gt;/glassfish4/bin/asadmin deploy &lt;path&gt;dataverse-4.17.war

4. Restart glassfish

5. Update Citation Metadata Block

- `wget https://github.com/IQSS/dataverse/releases/download/v4.17/citation.tsv`
- `curl http://localhost:8080/api/admin/datasetfield/load -X POST --data-binary @citation.tsv -H "Content-type: text/tab-separated-values"`

2 changes: 1 addition & 1 deletion doc/sphinx-guides/source/api/external-tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Terminology

toolUrl The **base URL** of the tool before query parameters are added.

contentType File level tools operate on a specific **file type** (content type or MIME type). Dataset level tools do not use contentType.
contentType File level tools operate on a specific **file type** (content type or MIME type such as "application/pdf") and this must be specified. Dataset level tools do not use contentType.

toolParameters **Query parameters** are supported and described below.

Expand Down
2 changes: 1 addition & 1 deletion scripts/tests/ec2-memory-benchmark/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ using the approach tested in #6035 (bombarding the system with GETs on
select pages, then taking snapshots of the allocated classes on the
heap and the garbage collection stats; see the issue for more info).

In the curret implementation we are testing the two most used pages -
In the current implementation we are testing the two most used pages -
dataverse and dataset. Once (and if) it completes, the script will
provide links to the produced output (downloadable from the EC2
instance).
Expand Down