Skip to content

Commit 8ddd5b8

Browse files
committed
Merge branch 'develop' into 11996-fix-settings
2 parents cd5f33d + f2a250f commit 8ddd5b8

29 files changed

+758
-112
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
The recommended Payara version has been updated to Payara-6.2025.10
2+
3+
Payara 6.2025.10 cannot be used with earlier versions of Dataverse, e.g. v6.8.
4+
5+
Standard Payara upgrade instructions - as in the 6.7 release notes should be added,
6+
but we should assure the instructions don't have you trying to run 6.8 with the latest Payara
7+
and perhaps should explicitly note that you can't.
8+
9+
We should also change the 'standard' language related to Payara updates to include copying the
10+
*.p12 files from the distributed domain1/config directory into the Dataverse domain1/config directory,
11+
at least if/when they are different. Those files include base certs and over time using the old files
12+
can cause SSL errors. If the domain.xml file is old enough, it may also reference *.jks files instead
13+
of the *.p12 ones. That should also be fixed (domain.xml having those lines updated to reference *.p12 files).
14+
FWIW: I ran across this at TDL where a dev machine stopped being able to contact DataCite because the root
15+
cert used by DataCite today is not in the *.jks files that had been copied forward during Payara updates.)
16+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### External Vocabulary Mechanism enhancement
2+
3+
- The external vocabulary mechanism (see https://github.com/gdcc/dataverse-external-vocab-support/) now supports
4+
assigning metadatablock dataset field types of fieldType textbox (multiline inputs) as managed fields. This new functionality is
5+
being leveraged to support automated generation of citation text for Related Publications entries. (a url could be added once the work in the external vocabulary repo is done).
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
It is now possible to define storage quotas on individual datasets. See the API guide for more information.
2+
The practical use case is for datasets in the top-level, root collection. This does not address the use case of a user creating multiple datasets. But there is an open dev. issue for adding per-user storage quotas as well.
3+
4+
A convenience API `/api/datasets/{id}/uploadlimits` has been added to show the remaining storage and/or number of files quotas, if present.

doc/sphinx-guides/source/admin/dataverses-datasets.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,8 @@ The effective store can be seen using::
271271

272272
curl http://$SERVER/api/datasets/$dataset-id/storageDriver
273273

274+
The output of the API will include the id, label, type (for example, "file" or "s3") as well as the support for direct download and upload.
275+
274276
To remove an assigned store, and allow the dataset to inherit the store from it's parent collection, use the following (only a superuser can do this) ::
275277

276278
curl -H "X-Dataverse-key: $API_TOKEN" -X DELETE http://$SERVER/api/datasets/$dataset-id/storageDriver

doc/sphinx-guides/source/api/native-api.rst

Lines changed: 72 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,16 +1250,22 @@ Collection Storage Quotas
12501250
12511251
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/storage/quota"
12521252
1253-
Will output the storage quota allocated (in bytes), or a message indicating that the quota is not defined for the specific collection. The user identified by the API token must have the ``Manage`` permission on the collection.
1253+
Will output the storage quota allocated (in bytes), or a message indicating that the quota is not defined for the collection. If this is an unpublished collection, the user must have the ``ViewUnpublishedDataverse`` permission.
1254+
With an optional query parameter ``showInherited=true`` it will show the applicable quota potentially defined on the nearest parent when the collection does not have a quota configured directly.
12541255

1256+
.. code-block::
1257+
1258+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/storage/use"
1259+
1260+
Will output the dynamically cached total storage size (in bytes) used by the collection. The user identified by the API token must have the ``Edit`` permission on the collection.
12551261

12561262
To set or change the storage allocation quota for a collection:
12571263

12581264
.. code-block::
12591265
1260-
curl -X POST -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/storage/quota/$SIZE_IN_BYTES"
1266+
curl -X PUT -H "X-Dataverse-key:$API_TOKEN" -d $SIZE_IN_BYTES "$SERVER_URL/api/dataverses/$ID/storage/quota"
12611267
1262-
This is API is superuser-only.
1268+
This API is superuser-only.
12631269

12641270

12651271
To delete a storage quota configured for a collection:
@@ -1268,9 +1274,70 @@ To delete a storage quota configured for a collection:
12681274
12691275
curl -X DELETE -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/storage/quota"
12701276
1271-
This is API is superuser-only.
1277+
This API is superuser-only.
1278+
1279+
Storage Quotas on Individual Datasets
1280+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1281+
1282+
.. code-block::
1283+
1284+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/datasets/$ID/storage/quota"
1285+
1286+
Will output the storage quota allocated (in bytes), or a message indicating that the quota is not defined for this dataset. If this is an unpublished dataset, the user must have the ``ViewUnpublishedDataset`` permission.
1287+
With an optional query parameter ``showInherited=true`` it will show the applicable quota potentially defined on the nearest parent collection when the dataset does not have a quota configured directly.
1288+
1289+
.. code-block::
1290+
1291+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/datasets/$ID/storage/use"
1292+
1293+
Will output the dynamically cached total storage size (in bytes) used by the dataset. The user identified by the API token must have the ``Edit`` permission on the dataset.
1294+
1295+
To set or change the storage allocation quota for a dataset:
1296+
1297+
.. code-block::
1298+
1299+
curl -X PUT -H "X-Dataverse-key:$API_TOKEN" -d $SIZE_IN_BYTES "$SERVER_URL/api/datasets/$ID/storage/quota"
1300+
1301+
This API is superuser-only.
1302+
1303+
1304+
To delete a storage quota configured for a dataset:
1305+
1306+
.. code-block::
1307+
1308+
curl -X DELETE -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/datasets/$ID/storage/quota"
1309+
1310+
This API is superuser-only.
1311+
1312+
The following convenience API shows the dynamic values of the *remaining* storage size and/or file number quotas on the dataset, if present. For example:
1313+
1314+
.. code-block::
1315+
1316+
curl -H "X-Dataverse-key: $API_TOKEN" "http://localhost:8080/api/datasets/$dataset-id/uploadlimits"
1317+
{
1318+
"status": "OK",
1319+
"data": {
1320+
"uploadLimits": {
1321+
"numberOfFilesRemaining": 20,
1322+
"storageQuotaRemaining": 1048576
1323+
}
1324+
}
1325+
}
1326+
1327+
Or, when neither limit is present:
1328+
1329+
.. code-block::
1330+
1331+
{
1332+
"status": "OK",
1333+
"data": {
1334+
"uploadLimits": {}
1335+
}
1336+
}
1337+
1338+
This API requires the Edit permission on the dataset.
12721339

1273-
Use the ``/settings`` API to enable or disable the enforcement of storage quotas that are defined across the instance via the following setting. For example,
1340+
Use the ``/settings`` API to enable or disable the enforcement of storage quotas that are defined across the instance via the following setting:
12741341

12751342
.. code-block::
12761343

doc/sphinx-guides/source/developers/classic-dev-env.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,15 @@ On Linux, install ``jq`` from your package manager or download a binary from htt
9393
Install Payara
9494
~~~~~~~~~~~~~~
9595

96-
Payara 6.2025.3 or higher is required.
96+
Payara 6.2025.10 or higher is required.
9797

9898
To install Payara, run the following commands:
9999

100100
``cd /usr/local``
101101

102-
``sudo curl -O -L https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.3/payara-6.2025.3.zip``
102+
``sudo curl -O -L https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.10/payara-6.2025.10.zip``
103103

104-
``sudo unzip payara-6.2025.3.zip``
104+
``sudo unzip payara-6.2025.10.zip``
105105

106106
``sudo chown -R $USER /usr/local/payara6``
107107

doc/sphinx-guides/source/installation/config.rst

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,6 @@ Once you have finished securing and configuring your Dataverse installation, you
1010
.. contents:: |toctitle|
1111
:local:
1212

13-
.. _comma-separated-config-values:
14-
15-
Comma-separated configuration values
16-
------------------------------------
17-
18-
Many configuration options (both MicroProfile/JVM settings and database settings) accept comma-separated lists. For all such settings, Dataverse applies consistent, lightweight parsing:
19-
20-
- Whitespace immediately around commas is ignored (e.g., ``GET, POST`` is equivalent to ``GET,POST``).
21-
- Tokens are otherwise preserved exactly as typed. There is no quote parsing and no escape processing.
22-
- Embedded commas within a token are not supported.
23-
24-
Examples include (but are not limited to):
25-
26-
- :ref:`dataverse.cors.origin <dataverse.cors.origin>`
27-
- :ref:`dataverse.cors.methods <dataverse.cors.methods>`
28-
- :ref:`dataverse.cors.headers.allow <dataverse.cors.headers.allow>`
29-
- :ref:`dataverse.cors.headers.expose <dataverse.cors.headers.expose>`
30-
- :ref:`:UploadMethods`
31-
32-
This behavior is implemented centrally and applies across all Dataverse settings that accept comma-separated values.
33-
3413
.. _securing-your-installation:
3514

3615
Securing Your Installation
@@ -2540,6 +2519,28 @@ Setting Up Integrations
25402519

25412520
Before going live, you might want to consider setting up integrations to make it easier for your users to deposit or explore data. See the :doc:`/admin/integrations` section of the Admin Guide for details.
25422521

2522+
.. _comma-separated-config-values:
2523+
2524+
Comma-Separated Configuration Values
2525+
------------------------------------
2526+
2527+
Many configuration options (both MicroProfile/JVM settings and database settings) accept comma-separated lists. For all such settings, Dataverse applies consistent, lightweight parsing:
2528+
2529+
- Whitespace immediately around commas is ignored (e.g., ``GET, POST`` is equivalent to ``GET,POST``).
2530+
- Tokens are otherwise preserved exactly as typed. There is no quote parsing and no escape processing.
2531+
- Embedded commas within a token are not supported.
2532+
2533+
Examples include (but are not limited to):
2534+
2535+
- :ref:`dataverse.cors.origin <dataverse.cors.origin>`
2536+
- :ref:`dataverse.cors.methods <dataverse.cors.methods>`
2537+
- :ref:`dataverse.cors.headers.allow <dataverse.cors.headers.allow>`
2538+
- :ref:`dataverse.cors.headers.expose <dataverse.cors.headers.expose>`
2539+
- :ref:`:UploadMethods`
2540+
2541+
This behavior is implemented centrally and applies across all Dataverse settings that accept comma-separated values.
2542+
2543+
25432544
.. _jvm-options:
25442545

25452546
JVM Options

doc/sphinx-guides/source/installation/prerequisites.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ On RHEL/derivative you can make Java 17 the default with the ``alternatives`` co
4444
Payara
4545
------
4646

47-
Payara 6.2025.3 is recommended. Newer versions might work fine. Regular updates are recommended.
47+
Payara 6.2025.10 is recommended. Newer versions might work fine. Regular updates are recommended.
4848

4949
Installing Payara
5050
=================
@@ -55,8 +55,8 @@ Installing Payara
5555

5656
- Download and install Payara (installed in ``/usr/local/payara6`` in the example commands below)::
5757

58-
# wget https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.3/payara-6.2025.3.zip
59-
# unzip payara-6.2025.3.zip
58+
# wget https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.10/payara-6.2025.10.zip
59+
# unzip payara-6.2025.10.zip
6060
# mv payara6 /usr/local
6161

6262
If nexus.payara.fish is ever down for maintenance, Payara distributions are also available from https://repo1.maven.org/maven2/fish/payara/distributions/payara/

doc/sphinx-guides/source/qa/test-automation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Go to the end of the log and then scroll up, looking for the failure. A failed A
5252

5353
```
5454
TASK [dataverse : download payara zip] *****************************************
55-
fatal: [localhost]: FAILED! => {"changed": false, "dest": "/tmp/payara.zip", "elapsed": 10, "msg": "Request failed: <urlopen error timed out>", "url": "https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.3/payara-6.2025.3.zip"}
55+
fatal: [localhost]: FAILED! => {"changed": false, "dest": "/tmp/payara.zip", "elapsed": 10, "msg": "Request failed: <urlopen error timed out>", "url": "https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.10/payara-6.2025.10.zip"}
5656
```
5757

5858
In the example above, if Payara can't be downloaded, we're obviously going to have problems deploying Dataverse to it!

modules/dataverse-parent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@
149149
<argLine>-Duser.timezone=${project.timezone} -Dfile.encoding=${project.build.sourceEncoding} -Duser.language=${project.language} -Duser.region=${project.region}</argLine>
150150

151151
<!-- Major system components and dependencies -->
152-
<payara.version>6.2025.3</payara.version>
152+
<payara.version>6.2025.10</payara.version>
153153
<postgresql.version>42.7.7</postgresql.version>
154154
<solr.version>9.8.0</solr.version>
155155
<postgresql.server.version>16</postgresql.server.version>

0 commit comments

Comments
 (0)