Skip to content

Commit edb18d1

Browse files
committed
Merge branch 'develop' into 10340-forbidden #10340
2 parents d4f9189 + 6d6a509 commit edb18d1

36 files changed

+1078
-148
lines changed

.github/workflows/spi_release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
server-id: ossrh
4646
server-username: MAVEN_USERNAME
4747
server-password: MAVEN_PASSWORD
48-
- uses: actions/cache@v2
48+
- uses: actions/cache@v4
4949
with:
5050
path: ~/.m2
5151
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
@@ -68,7 +68,7 @@ jobs:
6868
with:
6969
java-version: '17'
7070
distribution: 'adopt'
71-
- uses: actions/cache@v2
71+
- uses: actions/cache@v4
7272
with:
7373
path: ~/.m2
7474
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}

conf/solr/schema.xml

Lines changed: 40 additions & 38 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Extension of API `{id}/versions` and `{id}/versions/{versionId}` with an optional ``excludeMetadataBlocks`` parameter,
2+
that specifies whether the metadataBlocks should be listed in the output. It defaults to ``false``, preserving backward
3+
compatibility. (Note that for a dataset with a large number of versions and/or metadataBlocks having the metadata blocks
4+
included can dramatically increase the volume of the output). See also [the guides](https://dataverse-guide--10778.org.readthedocs.build/en/10778/api/native-api.html#list-versions-of-a-dataset), #10778, and #10171.

doc/release-notes/10384-link.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
### Broken Link in Email When Users Request Access to Files
2+
3+
When users request access to a files, the people who have permission to grant access receive an email with a link in it that didn't work due to a trailing period (full stop) right next to the link (e.g. `https://demo.dataverse.org/permissions-manage-files.xhtml?id=9.`) A space has been added to fix this. See #10384 and #11115.
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
This release enhances how numerical and date fields are indexed in Solr. Previously, all fields were indexed as English text (text_en), but with this update:
2+
3+
* Integer fields are indexed as `plong`
4+
* Float fields are indexed as `pdouble`
5+
* Date fields are indexed as `date_range` (`solr.DateRangeField`)
6+
7+
Specifically, the following fields were updated:
8+
9+
- coverage.Depth
10+
- coverage.ObjectCount
11+
- coverage.ObjectDensity
12+
- coverage.Redshift.MaximumValue
13+
- coverage.Redshift.MinimumValue
14+
- coverage.RedshiftValue
15+
- coverage.SkyFraction
16+
- coverage.Spectral.CentralWavelength
17+
- coverage.Spectral.MaximumWavelength
18+
- coverage.Spectral.MinimumWavelength
19+
- coverage.Temporal.StartTime
20+
- coverage.Temporal.StopTime
21+
- dateOfCollectionEnd
22+
- dateOfCollectionStart
23+
- dateOfDeposit
24+
- distributionDate
25+
- dsDescriptionDate
26+
- journalPubDate
27+
- productionDate
28+
- resolution.Redshift
29+
- targetSampleActualSize
30+
- timePeriodCoveredEnd
31+
- timePeriodCoveredStart
32+
33+
This change enables range queries when searching from both the UI and the API, such as `dateOfDeposit:[2000-01-01 TO 2014-12-31]` or `targetSampleActualSize:[25 TO 50]`.
34+
35+
Dataverse administrators must update their Solr schema.xml (manually or by rerunning `update-fields.sh`) and reindex all datasets.
36+
37+
Additionally, search result highlighting is now more accurate, ensuring that only fields relevant to the query are highlighted in search results. If the query is specifically limited to certain fields, the highlighting is now limited to those fields as well.
38+
39+
## Upgrade Instructions
40+
41+
7\. Update Solr schema.xml file. Start with the standard v6.5 schema.xml, then, if your installation uses any custom or experimental metadata blocks, update it to include the extra fields (step 7a).
42+
43+
Stop Solr (usually `service solr stop`, depending on Solr installation/OS, see the [Installation Guide](https://guides.dataverse.org/en/6.5/installation/prerequisites.html#solr-init-script)).
44+
45+
```shell
46+
service solr stop
47+
```
48+
49+
Replace schema.xml
50+
51+
```shell
52+
wget https://raw.githubusercontent.com/IQSS/dataverse/v6.5/conf/solr/schema.xml
53+
cp schema.xml /usr/local/solr/solr-9.4.1/server/solr/collection1/conf
54+
```
55+
56+
Start Solr (but if you use any custom metadata blocks, perform the next step, 7a first).
57+
58+
```shell
59+
service solr start
60+
```
61+
62+
7a\. For installations with custom or experimental metadata blocks:
63+
64+
Before starting Solr, update the schema to include all the extra metadata fields that your installation uses. We do this by collecting the output of the Dataverse schema API and feeding it to the `update-fields.sh` script that we supply, as in the example below (modify the command lines as needed to reflect the names of the directories, if different):
65+
66+
```shell
67+
wget https://raw.githubusercontent.com/IQSS/dataverse/v6.5/conf/solr/update-fields.sh
68+
chmod +x update-fields.sh
69+
curl "http://localhost:8080/api/admin/index/solr/schema" | ./update-fields.sh /usr/local/solr/solr-9.4.1/server/solr/collection1/conf/schema.xml
70+
```
71+
72+
Now start Solr.
73+
74+
8\. Reindex Solr
75+
76+
Below is the simplest way to reindex Solr:
77+
78+
```shell
79+
curl http://localhost:8080/api/admin/index
80+
```
81+
82+
The API above rebuilds the existing index "in place". If you want to be absolutely sure that your index is up-to-date and consistent, you may consider wiping it clean and reindexing everything from scratch (see [the guides](https://guides.dataverse.org/en/latest/admin/solr-search-index.html)). Just note that, depending on the size of your database, a full reindex may take a while and the users will be seeing incomplete search results during that window.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## New APIs for External Tools Registration for Marketplace
2+
3+
New API base path /api/externalTools created that mimics the admin APIs /api/admin/externalTools. These new add and delete apis require an authenticated superuser token.
4+
5+
Example:
6+
```
7+
API_TOKEN='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
8+
export TOOL_ID=1
9+
10+
curl http://localhost:8080/api/externalTools
11+
curl http://localhost:8080/api/externalTools/$TOOL_ID
12+
curl -s -H "X-Dataverse-key:$API_TOKEN" -X POST -H 'Content-type: application/json' http://localhost:8080/api/externalTools --upload-file fabulousFileTool.json
13+
curl -s -H "X-Dataverse-key:$API_TOKEN" -X DELETE http://localhost:8080/api/externalTools/$TOOL_ID
14+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Feature: Prevent publishing Datasets without files
2+
A new attribute was added to Collections in order to control the publishing of Datasets without files.
3+
Once set to "True", the publishing of a Dataset within a Collection, without files, will be blocked for all non superusers.
4+
In order to configure a Collection to block publishing a superuser must set the attribute "requireFilesToPublishDataset" to "True".
5+
The collection's hierarchy will be checked if the collection's "requireFilesToPublishDataset" attribute is not set explicitly to "True" or "False".
6+
7+
```shell
8+
curl -X PUT -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/attribute/requireFilesToPublishDataset?value=true"
9+
```
10+
11+
See also #10981.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Metadata Customization guide has been updated to explain how to implement a kind of boolean fieldtype (see [Metadata Customization Guide](https://guides.dataverse.org/en/latest/admin/metadatacustomization.html#controlledvocabulary-enumerated-properties))
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
## Improvement and internationalization of harvest status
2+
3+
Added a harvest status to differentiate a complete harvest with errors (Completed with failures) and without errors (Completed)
4+
Harvest status labels are now internationalized
5+
6+
For more information, see issue [#9294](https://github.com/IQSS/dataverse/issues/9294)

doc/sphinx-guides/source/admin/external-tools.rst

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,13 @@ Configure the tool with the curl command below, making sure to replace the ``fab
3535

3636
.. code-block:: bash
3737
38-
curl -X POST -H 'Content-type: application/json' http://localhost:8080/api/admin/externalTools --upload-file fabulousFileTool.json
38+
curl -X POST -H 'Content-type: application/json' http://localhost:8080/api/admin/externalTools --upload-file fabulousFileTool.json
39+
40+
This API is Superuser only. Note the endpoint difference (/api/externalTools instead of /api/admin/externalTools).
41+
42+
.. code-block:: bash
43+
44+
curl -s -H "X-Dataverse-key:$API_TOKEN" -X POST -H 'Content-type: application/json' http://localhost:8080/api/externalTools --upload-file fabulousFileTool.json
3945
4046
Listing All External Tools in a Dataverse Installation
4147
++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -46,6 +52,12 @@ To list all the external tools that are available in a Dataverse installation:
4652
4753
curl http://localhost:8080/api/admin/externalTools
4854
55+
This API is open to any user. Note the endpoint difference (/api/externalTools instead of /api/admin/externalTools).
56+
57+
.. code-block:: bash
58+
59+
curl http://localhost:8080/api/externalTools
60+
4961
Showing an External Tool in a Dataverse Installation
5062
++++++++++++++++++++++++++++++++++++++++++++++++++++
5163

@@ -56,6 +68,12 @@ To show one of the external tools that are available in a Dataverse installation
5668
export TOOL_ID=1
5769
curl http://localhost:8080/api/admin/externalTools/$TOOL_ID
5870
71+
This API is open to any user. Note the endpoint difference (/api/externalTools instead of /api/admin/externalTools).
72+
73+
.. code-block:: bash
74+
75+
curl http://localhost:8080/api/externalTools/$TOOL_ID
76+
5977
Removing an External Tool From a Dataverse Installation
6078
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
6179

@@ -66,6 +84,12 @@ Assuming the external tool database id is "1", remove it with the following comm
6684
export TOOL_ID=1
6785
curl -X DELETE http://localhost:8080/api/admin/externalTools/$TOOL_ID
6886
87+
This API is Superuser only. Note the endpoint difference (/api/externalTools instead of /api/admin/externalTools).
88+
89+
.. code-block:: bash
90+
91+
curl -s -H "X-Dataverse-key:$API_TOKEN" -X DELETE http://localhost:8080/api/externalTools/$TOOL_ID
92+
6993
.. _testing-external-tools:
7094

7195
Testing External Tools

0 commit comments

Comments
 (0)