Skip to content

Commit 8c99a74

Browse files
authored
Merge pull request #10664 from IQSS/develop
merge develop into master for 6.3
2 parents a218417 + 9bfa6ac commit 8c99a74

File tree

244 files changed

+7626
-2477
lines changed

Some content is hidden

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

244 files changed

+7626
-2477
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
name: Maven Cache Management
2+
3+
on:
4+
# Every push to develop should trigger cache rejuvenation (dependencies might have changed)
5+
push:
6+
branches:
7+
- develop
8+
# According to https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
9+
# all caches are deleted after 7 days of no access. Make sure we rejuvenate every 7 days to keep it available.
10+
schedule:
11+
- cron: '23 2 * * 0' # Run for 'develop' every Sunday at 02:23 UTC (3:23 CET, 21:23 ET)
12+
# Enable manual cache management
13+
workflow_dispatch:
14+
# Delete branch caches once a PR is merged
15+
pull_request:
16+
types:
17+
- closed
18+
19+
env:
20+
COMMON_CACHE_KEY: "dataverse-maven-cache"
21+
COMMON_CACHE_PATH: "~/.m2/repository"
22+
23+
jobs:
24+
seed:
25+
name: Drop and Re-Seed Local Repository
26+
runs-on: ubuntu-latest
27+
if: ${{ github.event_name != 'pull_request' }}
28+
permissions:
29+
# Write permission needed to delete caches
30+
# See also: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id
31+
actions: write
32+
contents: read
33+
steps:
34+
- name: Checkout repository
35+
uses: actions/checkout@v4
36+
- name: Determine Java version from Parent POM
37+
run: echo "JAVA_VERSION=$(grep '<target.java.version>' modules/dataverse-parent/pom.xml | cut -f2 -d'>' | cut -f1 -d'<')" >> ${GITHUB_ENV}
38+
- name: Set up JDK ${{ env.JAVA_VERSION }}
39+
uses: actions/setup-java@v4
40+
with:
41+
java-version: ${{ env.JAVA_VERSION }}
42+
distribution: temurin
43+
- name: Seed common cache
44+
run: |
45+
mvn -B -f modules/dataverse-parent dependency:go-offline dependency:resolve-plugins
46+
# This non-obvious order is due to the fact that the download via Maven above will take a very long time (7-8 min).
47+
# Jobs should not be left without a cache. Deleting and saving in one go leaves only a small chance for a cache miss.
48+
- name: Drop common cache
49+
run: |
50+
gh extension install actions/gh-actions-cache
51+
echo "🛒 Fetching list of cache keys"
52+
cacheKeys=$(gh actions-cache list -R ${{ github.repository }} -B develop | cut -f 1 )
53+
54+
## Setting this to not fail the workflow while deleting cache keys.
55+
set +e
56+
echo "🗑️ Deleting caches..."
57+
for cacheKey in $cacheKeys
58+
do
59+
gh actions-cache delete $cacheKey -R ${{ github.repository }} -B develop --confirm
60+
done
61+
echo "✅ Done"
62+
env:
63+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64+
- name: Save the common cache
65+
uses: actions/cache@v4
66+
with:
67+
path: ${{ env.COMMON_CACHE_PATH }}
68+
key: ${{ env.COMMON_CACHE_KEY }}
69+
enableCrossOsArchive: true
70+
71+
# Let's delete feature branch caches once their PR is merged - we only have 10 GB of space before eviction kicks in
72+
deplete:
73+
name: Deplete feature branch caches
74+
runs-on: ubuntu-latest
75+
if: ${{ github.event_name == 'pull_request' }}
76+
permissions:
77+
# `actions:write` permission is required to delete caches
78+
# See also: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id
79+
actions: write
80+
contents: read
81+
steps:
82+
- name: Checkout repository
83+
uses: actions/checkout@v4
84+
- name: Cleanup caches
85+
run: |
86+
gh extension install actions/gh-actions-cache
87+
88+
BRANCH=refs/pull/${{ github.event.pull_request.number }}/merge
89+
echo "🛒 Fetching list of cache keys"
90+
cacheKeysForPR=$(gh actions-cache list -R ${{ github.repository }} -B $BRANCH | cut -f 1 )
91+
92+
## Setting this to not fail the workflow while deleting cache keys.
93+
set +e
94+
echo "🗑️ Deleting caches..."
95+
for cacheKey in $cacheKeysForPR
96+
do
97+
gh actions-cache delete $cacheKey -R ${{ github.repository }} -B $BRANCH --confirm
98+
done
99+
echo "✅ Done"
100+
env:
101+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ oauth-credentials.md
3434
/src/main/webapp/oauth2/newAccount.html
3535
scripts/api/setup-all.sh*
3636
scripts/api/setup-all.*.log
37+
src/main/resources/edu/harvard/iq/dataverse/openapi/
3738

3839
# ctags generated tag file
3940
tags

CONTRIBUTING.md

+3-63
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,7 @@
11
# Contributing to Dataverse
22

3-
Thank you for your interest in contributing to Dataverse! We are open to contributions from everyone. You don't need permission to participate. Just jump in. If you have questions, please reach out using one or more of the channels described below.
3+
Thank you for your interest in contributing to Dataverse! We are open to contributions from everyone.
44

5-
We aren't just looking for developers. There are many ways to contribute to Dataverse. We welcome contributions of ideas, bug reports, usability research/feedback, documentation, code, and more!
5+
Please see our [Contributor Guide][] for how you can help!
66

7-
## Ideas/Feature Requests
8-
9-
Your idea or feature request might already be captured in the Dataverse [issue tracker] on GitHub but if not, the best way to bring it to the community's attention is by posting on the [dataverse-community Google Group][] or bringing it up on a [Community Call][]. You're also welcome to make some noise in [chat.dataverse.org][] or cram your idea into 280 characters and mention [@dataverseorg][] on Twitter. To discuss your idea privately, please email it to [email protected]
10-
11-
There's a chance your idea is already on our roadmap, which is available at https://www.iq.harvard.edu/roadmap-dataverse-project
12-
13-
[chat.dataverse.org]: http://chat.dataverse.org
14-
[issue tracker]: https://github.com/IQSS/dataverse/issues
15-
[@dataverseorg]: https://twitter.com/dataverseorg
16-
17-
## Usability testing
18-
19-
Please email us at [email protected] if you are interested in participating in usability testing.
20-
21-
## Bug Reports/Issues
22-
23-
An issue is a bug (a feature is no longer behaving the way it should) or a feature (something new to Dataverse that helps users complete tasks). You can browse the Dataverse [issue tracker] on GitHub by open or closed issues or by milestones.
24-
25-
Before submitting an issue, please search the existing issues by using the search bar at the top of the page. If there is an existing open issue that matches the issue you want to report, please add a comment to it.
26-
27-
If there is no pre-existing issue or it has been closed, please click on the "New Issue" button, log in, and write in what the issue is (unless it is a security issue which should be reported privately to [email protected]).
28-
29-
If you do not receive a reply to your new issue or comment in a timely manner, please email [email protected] with a link to the issue.
30-
31-
### Writing an Issue
32-
33-
For the subject of an issue, please start it by writing the feature or functionality it relates to, i.e. "Create Account:..." or "Dataset Page:...". In the body of the issue, please outline the issue you are reporting with as much detail as possible. In order for the Dataverse development team to best respond to the issue, we need as much information about the issue as you can provide. Include steps to reproduce bugs. Indicate which version you're using, which is shown at the bottom of the page. We love screenshots!
34-
35-
### Issue Attachments
36-
37-
You can attach certain files (images, screenshots, logs, etc.) by dragging and dropping, selecting them, or pasting from the clipboard. Files must be one of GitHub's [supported attachment formats] such as png, gif, jpg, txt, pdf, zip, etc. (Pro tip: A file ending in .log can be renamed to .txt so you can upload it.) If there's no easy way to attach your file, please include a URL that points to the file in question.
38-
39-
[supported attachment formats]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/
40-
41-
## Documentation
42-
43-
The source for the documentation at http://guides.dataverse.org/en/latest/ is in the GitHub repo under the "[doc][]" folder. If you find a typo or inaccuracy or something to clarify, please send us a pull request! For more on the tools used to write docs, please see the [documentation][] section of the Developer Guide.
44-
45-
[doc]: https://github.com/IQSS/dataverse/tree/develop/doc/sphinx-guides/source
46-
[documentation]: http://guides.dataverse.org/en/latest/developers/documentation.html
47-
48-
## Code/Pull Requests
49-
50-
We love code contributions. Developers are not limited to the main Dataverse code in this git repo. You can help with API client libraries in your favorite language that are mentioned in the [API Guide][] or create a new library. You can help work on configuration management code that's mentioned in the [Installation Guide][]. The Installation Guide also covers a relatively new concept called "external tools" that allows developers to create their own tools that are available from within an installation of Dataverse.
51-
52-
[API Guide]: http://guides.dataverse.org/en/latest/api
53-
[Installation Guide]: http://guides.dataverse.org/en/latest/installation
54-
55-
If you are interested in working on the main Dataverse code, great! Before you start coding, please reach out to us either on the [dataverse-community Google Group][], the [dataverse-dev Google Group][], [chat.dataverse.org][], or via [email protected] to make sure the effort is well coordinated and we avoid merge conflicts. We maintain a list of [community contributors][] and [dev efforts][] the community is working on so please let us know if you'd like to be added or removed from either list.
56-
57-
Please read http://guides.dataverse.org/en/latest/developers/version-control.html to understand how we use the "git flow" model of development and how we will encourage you to create a GitHub issue (if it doesn't exist already) to associate with your pull request. That page also includes tips on making a pull request.
58-
59-
After making your pull request, your goal should be to help it advance through our kanban board at https://github.com/orgs/IQSS/projects/34 . If no one has moved your pull request to the code review column in a timely manner, please reach out. Note that once a pull request is created for an issue, we'll remove the issue from the board so that we only track one card (the pull request).
60-
61-
Thanks for your contribution!
62-
63-
[dataverse-community Google Group]: https://groups.google.com/group/dataverse-community
64-
[Community Call]: https://dataverse.org/community-calls
65-
[dataverse-dev Google Group]: https://groups.google.com/group/dataverse-dev
66-
[community contributors]: https://docs.google.com/spreadsheets/d/1o9DD-MQ0WkrYaEFTD5rF_NtyL8aUISgURsAXSL7Budk/edit?usp=sharing
67-
[dev efforts]: https://github.com/orgs/IQSS/projects/34/views/6
7+
[Contributor Guide]: https://guides.dataverse.org/en/latest/contributor/index.html

Dockerfile

-1
This file was deleted.

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Dataverse is an [open source][] software platform for sharing, finding, citing,
77

88
We maintain a demo site at [demo.dataverse.org][] which you are welcome to use for testing and evaluating Dataverse.
99

10-
To install Dataverse, please see our [Installation Guide][] which will prompt you to download our [latest release][].
10+
To install Dataverse, please see our [Installation Guide][] which will prompt you to download our [latest release][]. Docker users should consult the [Container Guide][].
1111

1212
To discuss Dataverse with the community, please join our [mailing list][], participate in a [community call][], chat with us at [chat.dataverse.org][], or attend our annual [Dataverse Community Meeting][].
1313

@@ -28,6 +28,7 @@ Dataverse is a trademark of President and Fellows of Harvard College and is regi
2828
[Dataverse community]: https://dataverse.org/developers
2929
[Installation Guide]: https://guides.dataverse.org/en/latest/installation/index.html
3030
[latest release]: https://github.com/IQSS/dataverse/releases
31+
[Container Guide]: https://guides.dataverse.org/en/latest/container/index.html
3132
[features]: https://dataverse.org/software-features
3233
[project board]: https://github.com/orgs/IQSS/projects/34
3334
[roadmap]: https://www.iq.harvard.edu/roadmap-dataverse-project

conf/solr/9.3.0/schema.xml renamed to conf/solr/schema.xml

+4-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@
157157
<field name="publicationStatus" type="string" stored="true" indexed="true" multiValued="true"/>
158158
<field name="externalStatus" type="string" stored="true" indexed="true" multiValued="false"/>
159159
<field name="embargoEndDate" type="plong" stored="true" indexed="true" multiValued="false"/>
160-
160+
<field name="retentionEndDate" type="plong" stored="true" indexed="true" multiValued="false"/>
161+
161162
<field name="subtreePaths" type="string" stored="true" indexed="true" multiValued="true"/>
162163

163164
<field name="fileName" type="text_en" stored="true" indexed="true" multiValued="true"/>
@@ -325,6 +326,7 @@
325326
<field name="journalVolumeIssue" type="text_en" multiValued="true" stored="true" indexed="true"/>
326327
<field name="keyword" type="text_en" multiValued="true" stored="true" indexed="true"/>
327328
<field name="keywordValue" type="text_en" multiValued="true" stored="true" indexed="true"/>
329+
<field name="keywordTermURI" type="text_en" multiValued="true" stored="true" indexed="true"/>
328330
<field name="keywordVocabulary" type="text_en" multiValued="true" stored="true" indexed="true"/>
329331
<field name="keywordVocabularyURI" type="text_en" multiValued="true" stored="true" indexed="true"/>
330332
<field name="kindOfData" type="text_en" multiValued="true" stored="true" indexed="true"/>
@@ -564,6 +566,7 @@
564566
<copyField source="journalVolumeIssue" dest="_text_" maxChars="3000"/>
565567
<copyField source="keyword" dest="_text_" maxChars="3000"/>
566568
<copyField source="keywordValue" dest="_text_" maxChars="3000"/>
569+
<copyField source="keywordTermURI" dest="_text_" maxChars="3000"/>
567570
<copyField source="keywordVocabulary" dest="_text_" maxChars="3000"/>
568571
<copyField source="keywordVocabularyURI" dest="_text_" maxChars="3000"/>
569572
<copyField source="kindOfData" dest="_text_" maxChars="3000"/>

conf/solr/9.3.0/solrconfig.xml renamed to conf/solr/solrconfig.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@
290290
have some sort of hard autoCommit to limit the log size.
291291
-->
292292
<autoCommit>
293-
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
293+
<maxTime>${solr.autoCommit.maxTime:30000}</maxTime>
294294
<openSearcher>false</openSearcher>
295295
</autoCommit>
296296

@@ -301,7 +301,7 @@
301301
-->
302302

303303
<autoSoftCommit>
304-
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
304+
<maxTime>${solr.autoSoftCommit.maxTime:1000}</maxTime>
305305
</autoSoftCommit>
306306

307307
<!-- Update Related Event Listeners
File renamed without changes.

doc/release-notes/6.2-release-notes.md

+8-4
Original file line numberDiff line numberDiff line change
@@ -417,12 +417,16 @@ In the following commands we assume that Payara 6 is installed in `/usr/local/pa
417417

418418
As noted above, deployment of the war file might take several minutes due a database migration script required for the new storage quotas feature.
419419

420-
6\. Restart Payara
420+
6\. For installations with internationalization:
421+
422+
- Please remember to update translations via [Dataverse language packs](https://github.com/GlobalDataverseCommunityConsortium/dataverse-language-packs).
423+
424+
7\. Restart Payara
421425

422426
- `service payara stop`
423427
- `service payara start`
424428

425-
7\. Update the following Metadata Blocks to reflect the incremental improvements made to the handling of core metadata fields:
429+
8\. Update the following Metadata Blocks to reflect the incremental improvements made to the handling of core metadata fields:
426430

427431
```
428432
wget https://github.com/IQSS/dataverse/releases/download/v6.2/geospatial.tsv
@@ -442,7 +446,7 @@ wget https://github.com/IQSS/dataverse/releases/download/v6.2/biomedical.tsv
442446
curl http://localhost:8080/api/admin/datasetfield/load -H "Content-type: text/tab-separated-values" -X POST --upload-file scripts/api/data/metadatablocks/biomedical.tsv
443447
```
444448

445-
8\. For installations with custom or experimental metadata blocks:
449+
9\. For installations with custom or experimental metadata blocks:
446450

447451
- Stop Solr instance (usually `service solr stop`, depending on Solr installation/OS, see the [Installation Guide](https://guides.dataverse.org/en/6.2/installation/prerequisites.html#solr-init-script))
448452

@@ -455,7 +459,7 @@ curl http://localhost:8080/api/admin/datasetfield/load -H "Content-type: text/ta
455459
456460
- Restart Solr instance (usually `service solr restart` depending on solr/OS)
457461

458-
9\. Reindex Solr:
462+
10\. Reindex Solr:
459463

460464
For details, see https://guides.dataverse.org/en/6.2/admin/solr-search-index.html but here is the reindex command:
461465

0 commit comments

Comments
 (0)