Skip to content

Commit d8f2add

Browse files
committed
Merge branch 'develop' of github.com:IQSS/dataverse into dependabot/maven/conf/keycloak/builtin-users-spi/org.keycloak-keycloak-services-26.3.0
2 parents 6651d86 + b7c31ac commit d8f2add

File tree

61 files changed

+1046
-385
lines changed

Some content is hidden

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

61 files changed

+1046
-385
lines changed

.github/workflows/deploy_beta_testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
- uses: actions/checkout@v4
5151

5252
- name: Download war artifact
53-
uses: actions/download-artifact@v4
53+
uses: actions/download-artifact@v5
5454
with:
5555
name: built-app
5656
path: ./

.github/workflows/maven_unit_test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ jobs:
112112
cache: maven
113113

114114
# Get the build output from the unit test job
115-
- uses: actions/download-artifact@v4
115+
- uses: actions/download-artifact@v5
116116
with:
117117
name: java-artifacts
118118
- run: |
@@ -145,7 +145,7 @@ jobs:
145145
cache: maven
146146

147147
# Get the build output from the integration test job
148-
- uses: actions/download-artifact@v4
148+
- uses: actions/download-artifact@v5
149149
with:
150150
name: java-reportdir
151151
- run: tar -xvf java-reportdir.tar

conf/keycloak/builtin-users-spi/src/main/java/edu/harvard/iq/keycloak/auth/spi/services/DataverseUserService.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,16 @@ public DataverseUser getUserById(String id) {
2727

2828
DataverseBuiltinUser builtinUser = em.find(DataverseBuiltinUser.class, persistenceId);
2929
if (builtinUser == null) {
30-
logger.debugf("User not found for external ID: %s", persistenceId);
30+
logger.debugf("Builtin user not found for external ID: %s", persistenceId);
3131
return null;
3232
}
3333

34-
DataverseAuthenticatedUser authenticatedUser = getAuthenticatedUserByUsername(builtinUser.getUsername());
34+
String username = builtinUser.getUsername();
35+
DataverseAuthenticatedUser authenticatedUser = getAuthenticatedUserByUsername(username);
36+
if (authenticatedUser == null) {
37+
logger.debugf("Authenticated user not found by username: %s", username);
38+
return null;
39+
}
3540

3641
return new DataverseUser(authenticatedUser, builtinUser);
3742
}
@@ -43,11 +48,15 @@ public DataverseUser getUserByUsername(String username) {
4348
.getResultList();
4449

4550
if (users.isEmpty()) {
46-
logger.debugf("User not found by username: %s", username);
51+
logger.debugf("Builtin user not found by username: %s", username);
4752
return null;
4853
}
4954

5055
DataverseAuthenticatedUser authenticatedUser = getAuthenticatedUserByUsername(username);
56+
if (authenticatedUser == null) {
57+
logger.debugf("Authenticated user not found by username: %s", username);
58+
return null;
59+
}
5160

5261
return new DataverseUser(authenticatedUser, users.get(0));
5362
}
@@ -59,7 +68,7 @@ public DataverseUser getUserByEmail(String email) {
5968
.getResultList();
6069

6170
if (authUsers.isEmpty()) {
62-
logger.debugf("User not found by email: %s", email);
71+
logger.debugf("Authenticated user not found by email: %s", email);
6372
return null;
6473
}
6574

@@ -68,6 +77,11 @@ public DataverseUser getUserByEmail(String email) {
6877
.setParameter("username", username)
6978
.getResultList();
7079

80+
if (builtinUsers.isEmpty()) {
81+
logger.debugf("Builtin user not found by username: %s", username);
82+
return null;
83+
}
84+
7185
return new DataverseUser(authUsers.get(0), builtinUsers.get(0));
7286
}
7387

conf/solr/schema.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@
242242

243243
<field name="license" type="string" stored="true" indexed="true" multiValued="false"/>
244244
<field name="fileCount" type="plong" stored="true" indexed="true" multiValued="false"/>
245+
<field name="datasetCount" type="plong" stored="true" indexed="true" multiValued="false"/>
245246

246247
<!--
247248
METADATA SCHEMA FIELDS

conf/solr/update-fields.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ while getopts ":hp" opt; do
6868
done
6969

7070
# Check for ed and bc being present
71-
exists ed || error "Please ensure ed, bc, sed + awk are installed"
72-
exists bc || error "Please ensure ed, bc, sed + awk are installed"
73-
exists awk || error "Please ensure ed, bc, sed + awk are installed"
74-
exists sed || error "Please ensure ed, bc, sed + awk are installed"
71+
exists ed || error "Please ensure ed, bc, sed + awk are installed (ed is missing)"
72+
exists bc || error "Please ensure ed, bc, sed + awk are installed (bc is missing)"
73+
exists awk || error "Please ensure ed, bc, sed + awk are installed (awk is missing)"
74+
exists sed || error "Please ensure ed, bc, sed + awk are installed (sed is missing)"
7575

7676
# remove all the parsed options
7777
shift $((OPTIND-1))
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
The search index now includes datasetCount for each collection, counting published, linked, and harvested datasets.
2+
Collections can be filtered using datasetCount (e.g., `datasetCount:[1000 TO *]`), and the value is returned in Dataverse search results via the Search API.

doc/release-notes/11465-api-fetch-download-size-file-count.md

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Linking or unlinking a dataset or dataverse now requires the new "Link Dataset/Dataverse" permission.
2+
Previously, this action was covered by the "Publish Dataset/Dataverse" permission.
3+
Linking and publishing permissions can now be granted separately, allowing for more fine-grained access control.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Implemented a new feature flag ``dataverse.feature.api-bearer-auth-use-shib-user-on-id-match``, which supports the use of the new Dataverse client in instances that have historically allowed login via Shibboleth. Specifically, with this flag enabled, when an OIDC bridge is configured to allow OIDC login with validation by the bridged Shibboleth providers, users with existing Shibboleth-based accounts in Dataverse can log in to those accounts, thereby maintaining access to their existing content and retaining their roles. (For security reasons, Dataverse's current support for direct login via Shibboleth cannot be used in browser-based clients.)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Due to changes in how the commons-lang3 library handles a non-ascii chararacter, two keys in the citation.properties and citation.tsv files have changed to include i instead of ɨ. Translations will need to address this.
2+
3+
controlledvocabulary.language.magɨ_(madang_province) => controlledvocabulary.language.magi_(madang_province)
4+
controlledvocabulary.language.magɨyi => controlledvocabulary.language.magiyi

0 commit comments

Comments
 (0)