Skip to content

Commit b5fffaa

Browse files
committed
Merge branch 'develop' into 10519-dataset-types #10519
Conflicts: src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java
2 parents 9b2fb8d + 1e1bd6d commit b5fffaa

86 files changed

Lines changed: 6367 additions & 192 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/container_app_pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ jobs:
3535

3636
# Note: Accessing, pushing tags etc. to GHCR will only succeed in upstream because secrets.
3737
- name: Login to Github Container Registry
38-
uses: docker/login-action@v2
38+
uses: docker/login-action@v3
3939
with:
4040
registry: ghcr.io
4141
username: ${{ secrets.GHCR_USERNAME }}
4242
password: ${{ secrets.GHCR_TOKEN }}
4343

4444
- name: Set up QEMU for multi-arch builds
45-
uses: docker/setup-qemu-action@v2
45+
uses: docker/setup-qemu-action@v3
4646

4747
# Get the image tag from either the command or default to branch name (Not used for now)
4848
#- name: Get the target tag name

.github/workflows/container_app_push.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,20 +126,20 @@ jobs:
126126
# Depending on context, we push to different targets. Login accordingly.
127127
- if: github.event_name != 'pull_request'
128128
name: Log in to Docker Hub registry
129-
uses: docker/login-action@v2
129+
uses: docker/login-action@v3
130130
with:
131131
username: ${{ secrets.DOCKERHUB_USERNAME }}
132132
password: ${{ secrets.DOCKERHUB_TOKEN }}
133133
- if: ${{ github.event_name == 'pull_request' }}
134134
name: Login to Github Container Registry
135-
uses: docker/login-action@v2
135+
uses: docker/login-action@v3
136136
with:
137137
registry: ghcr.io
138138
username: ${{ secrets.GHCR_USERNAME }}
139139
password: ${{ secrets.GHCR_TOKEN }}
140140

141141
- name: Set up QEMU for multi-arch builds
142-
uses: docker/setup-qemu-action@v2
142+
uses: docker/setup-qemu-action@v3
143143

144144
- name: Re-set image tag based on branch (if master)
145145
if: ${{ github.ref_name == 'master' }}

.github/workflows/deploy_beta_testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
overwrite: true
6969

7070
- name: Execute payara war deployment remotely
71-
uses: appleboy/ssh-action@v1.0.0
71+
uses: appleboy/ssh-action@v1.2.0
7272
env:
7373
INPUT_WAR_FILE: ${{ env.war_file }}
7474
with:

conf/solr/schema.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,21 @@
254254
WARNING: Do not remove the following include guards if you intend to use the neat helper scripts we provide.
255255
-->
256256
<!-- SCHEMA-FIELDS::BEGIN -->
257+
<field name="3d3DTechnique" type="text_en" multiValued="true" stored="true" indexed="true"/>
258+
<field name="3dAltText" type="text_en" multiValued="false" stored="true" indexed="true"/>
259+
<field name="3dEquipment" type="text_en" multiValued="false" stored="true" indexed="true"/>
260+
<field name="3dExportedFileFormat" type="text_en" multiValued="true" stored="true" indexed="true"/>
261+
<field name="3dExportedFilePolygonCount" type="text_en" multiValued="true" stored="true" indexed="true"/>
262+
<field name="3dHandling" type="text_en" multiValued="false" stored="true" indexed="true"/>
263+
<field name="3dHeight" type="text_en" multiValued="false" stored="true" indexed="true"/>
264+
<field name="3dLength" type="text_en" multiValued="false" stored="true" indexed="true"/>
265+
<field name="3dLightingSetup" type="text_en" multiValued="true" stored="true" indexed="true"/>
266+
<field name="3dMasterFilePolygonCount" type="text_en" multiValued="false" stored="true" indexed="true"/>
267+
<field name="3dMaterialComposition" type="text_en" multiValued="true" stored="true" indexed="true"/>
268+
<field name="3dObjectDimensions" type="text_en" multiValued="false" stored="true" indexed="true"/>
269+
<field name="3dUnit" type="text_en" multiValued="true" stored="true" indexed="true"/>
270+
<field name="3dWeight" type="text_en" multiValued="false" stored="true" indexed="true"/>
271+
<field name="3dWidth" type="text_en" multiValued="false" stored="true" indexed="true"/>
257272
<field name="accessToSources" type="text_en" multiValued="false" stored="true" indexed="true"/>
258273
<field name="actionsToMinimizeLoss" type="text_en" multiValued="false" stored="true" indexed="true"/>
259274
<field name="alternativeTitle" type="text_en" multiValued="true" stored="true" indexed="true"/>
@@ -496,6 +511,21 @@
496511
WARNING: Do not remove the following include guards if you intend to use the neat helper scripts we provide.
497512
-->
498513
<!-- SCHEMA-COPY-FIELDS::BEGIN -->
514+
<copyField source="3d3DTechnique" dest="_text_" maxChars="3000"/>
515+
<copyField source="3dAltText" dest="_text_" maxChars="3000"/>
516+
<copyField source="3dEquipment" dest="_text_" maxChars="3000"/>
517+
<copyField source="3dExportedFileFormat" dest="_text_" maxChars="3000"/>
518+
<copyField source="3dExportedFilePolygonCount" dest="_text_" maxChars="3000"/>
519+
<copyField source="3dHandling" dest="_text_" maxChars="3000"/>
520+
<copyField source="3dHeight" dest="_text_" maxChars="3000"/>
521+
<copyField source="3dLength" dest="_text_" maxChars="3000"/>
522+
<copyField source="3dLightingSetup" dest="_text_" maxChars="3000"/>
523+
<copyField source="3dMasterFilePolygonCount" dest="_text_" maxChars="3000"/>
524+
<copyField source="3dMaterialComposition" dest="_text_" maxChars="3000"/>
525+
<copyField source="3dObjectDimensions" dest="_text_" maxChars="3000"/>
526+
<copyField source="3dUnit" dest="_text_" maxChars="3000"/>
527+
<copyField source="3dWeight" dest="_text_" maxChars="3000"/>
528+
<copyField source="3dWidth" dest="_text_" maxChars="3000"/>
499529
<copyField source="accessToSources" dest="_text_" maxChars="3000"/>
500530
<copyField source="actionsToMinimizeLoss" dest="_text_" maxChars="3000"/>
501531
<copyField source="alternativeTitle" dest="_text_" maxChars="3000"/>

doc/release-notes/10887-solr-field-types.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,26 @@ Now start Solr.
7373

7474
8\. Reindex Solr
7575

76+
Note: these instructions are a little different than usual because we observed a strange error about `DOCS_AND_FREQS_AND_POSITIONS` when testing upgrades (see #11139 for details). Extra steps about explicitly clearing the index and reloading the core are included. If you run into trouble, as a last resort, you could reinstall Solr completely and then reindex.
77+
78+
Clear the Solr index:
79+
80+
```shell
81+
curl http://localhost:8080/api/admin/index/clear
82+
```
83+
84+
Make sure the Solr index is empty:
85+
86+
```shell
87+
curl "http://localhost:8983/solr/collection1/select?rows=1000000&wt=json&indent=true&q=*%3A*"
88+
```
89+
90+
Reload the Solr core:
91+
92+
```shell
93+
curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=collection1"
94+
```
95+
7696
Below is the simplest way to reindex Solr:
7797

7898
```shell
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CRUD endpoints for Collection Featured Items have been implemented. In particular, the following endpoints have been implemented:
2+
3+
- Create a feature item (POST /api/dataverses/<dataverse_id>/featuredItems)
4+
- Update a feature item (PUT /api/dataverseFeaturedItems/<item_id>)
5+
- Delete a feature item (DELETE /api/dataverseFeaturedItems/<item_id>)
6+
- List all featured items in a collection (GET /api/dataverses/<dataverse_id>/featuredItems)
7+
- Delete all featured items in a collection (DELETE /api/dataverses/<dataverse_id>/featuredItems)
8+
- Update all featured items in a collection (PUT /api/dataverses/<dataverse_id>/featuredItems)
9+
10+
New settings:
11+
12+
- dataverse.files.featured-items.image-maxsize - It sets the maximum allowed size of the image that can be added to a featured item.
13+
- dataverse.files.featured-items.image-uploads - It specifies the name of the subdirectory for saving featured item images within the docroot directory.
14+
15+
See also #10943 and #11124.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
### New 3D Object Data Metadata Block
2+
3+
A new metadata block has been added for describing 3D object data. You can download it from the [guides](https://dataverse-guide--11167.org.readthedocs.build/en/11167/user/appendix.html). See also #11120 and #11167.
4+
5+
All new Dataverse installations will receive this metadata block by default. We recommend adding it by following the upgrade instructions below.
6+
7+
## Upgrade Instructions
8+
9+
### For 6.6-Release-notes.md
10+
11+
6\. Restart Payara
12+
13+
7\. Update metadata blocks
14+
15+
These changes reflect incremental improvements made to the handling of core metadata fields.
16+
17+
```shell
18+
wget https://raw.githubusercontent.com/IQSS/dataverse/v6.6/scripts/api/data/metadatablocks/citation.tsv
19+
20+
curl http://localhost:8080/api/admin/datasetfield/load -H "Content-type: text/tab-separated-values" -X POST --upload-file citation.tsv
21+
```
22+
```shell
23+
wget https://raw.githubusercontent.com/IQSS/dataverse/v6.6/scripts/api/data/metadatablocks/3d_objects.tsv
24+
25+
curl http://localhost:8080/api/admin/datasetfield/load -H "Content-type: text/tab-separated-values" -X POST --upload-file 3d_objects.tsv
26+
```
27+
28+
8\. Update Solr schema.xml file. Start with the standard v6.6 schema.xml, then, if your installation uses any custom or experimental metadata blocks, update it to include the extra fields (step 8a).
29+
30+
Stop Solr (usually `service solr stop`, depending on Solr installation/OS, see the [Installation Guide](https://guides.dataverse.org/en/6.6/installation/prerequisites.html#solr-init-script)).
31+
32+
```shell
33+
service solr stop
34+
```
35+
36+
Replace schema.xml
37+
38+
```shell
39+
wget https://raw.githubusercontent.com/IQSS/dataverse/v6.6/conf/solr/schema.xml
40+
cp schema.xml /usr/local/solr/solr-9.4.1/server/solr/collection1/conf
41+
```
42+
43+
Start Solr (but if you use any custom metadata blocks or adding 3D Objects, perform the next step, 8a first).
44+
45+
```shell
46+
service solr start
47+
```
48+
8a\. For installations with custom or experimental metadata blocks:
49+
50+
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):
51+
52+
```shell
53+
wget https://raw.githubusercontent.com/IQSS/dataverse/v6.6/conf/solr/update-fields.sh
54+
chmod +x update-fields.sh
55+
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
56+
```
57+
58+
Now start Solr.
59+
60+
9\. Reindex Solr
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### show-type-counts Behavior changed in Search API
2+
3+
In the Search API if you set show_type_counts=true the response will include all object types (Dataverses, Datasets, and Files) even if the search result for any given type is 0.
4+
5+
See also the [guides](https://preview.guides.gdcc.io/en/develop/api/search.html#parameters), #11127 and #11138.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
This feature adds a new API to send feedback to the Collection, Dataset, or DataFile's contacts.
2+
Similar to the "admin/feedback" API the "sendfeedback" API sends an email to all the contacts listed for the Dataset. The main differences for this feature are:
3+
1. This API is not limited to Admins
4+
2. This API does not return the email addresses in the "toEmail" and "ccEmail" elements for privacy reasons
5+
3. This API can be rate limited to avoid spamming
6+
4. The body size limit can be configured
7+
5. The body will be stripped of any html code to prevent malicious scripts or links
8+
6. The fromEmail will be validated for correct format
9+
10+
To set the Rate Limiting for guest users (See Rate Limiting Configuration for more details. This example allows 1 send per hour for any guest)
11+
``curl http://localhost:8080/api/admin/settings/:RateLimitingCapacityByTierAndAction -X PUT -d '[{\"tier\": 0, \"limitPerHour\": 1, \"actions\": [\"CheckRateLimitForDatasetFeedbackCommand\"]}]'``
12+
13+
To set the message size limit (example limit of 1080 chars):
14+
``curl -X PUT -d 1080 http://localhost:8080/api/admin/settings/:ContactFeedbackMessageSizeLimit``
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
The file page version table now shows more detail, e.g. when there are metadata changes or whether a file has been replaced.
2+
A bug that causes adding free-form provenance to a file to fail has been fixed.
3+
See also #11142 and #11145.

0 commit comments

Comments
 (0)