Skip to content

Commit f234c28

Browse files
Merge branch 'develop' into 11900-improved-cvoc-value-validation
2 parents 08bfa30 + c91f059 commit f234c28

22 files changed

Lines changed: 248 additions & 175 deletions
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This release fixes a bug which was allowing the viewing of host collections' names when using anonymized preview URLS.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
This release fixes a bug where the value of the dataverse.auth.oidc.enabled setting, available when Provisioning an authentication provider via JVM options (see ref: https://guides.dataverse.org/en/latest/installation/oidc.html#provision-via-jvm-options) was not being not being propagated to the current Dataverse user interface (where enabled=false providers are not displayed for login/registration) or represented in the GET api/admin/authenticationProviders API call.
2+
3+
A new JVM setting ('dataverse.auth.oidc.hidden-jsf') was added to hide an enabled OIDC Provider from the JSF UI.
4+
5+
For Dataverse instances deploying both the current JSF UI and the new SPA UI, this fix allows the OIDC Keycloak provider configured for the SPA to be hidden in the JSF UI (useful in cases where it would duplicate other configured providers).
6+
7+
Note: The API to create a new Auth Provider can only be used to create a provider for both JSF and SPA. Use JVM / MicroProfile config setting to create SPA only providers.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Bug / Not Bug in Dataverse. Bug is in SPA Frontend
2+
3+
Cleaned up Access APIs to localize getting user from session for JSF backward compatibility
4+
5+
This bug requires a front end fix to send the Bearer Token in the API call.
6+
7+
See: #11740
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Changes in v6.9 that significantly improved re-indexing performance and lowered memory use in situations
2+
such as when a user's role on the root collection were changed, also slowed reindexing of individual
3+
datasets ater editing and publication.
4+
5+
This release restores/improves the individual dataset reindexing performance while retaining the
6+
benefits of the earlier update.

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7654,6 +7654,8 @@ Add new authentication provider. The POST data is in JSON format, similar to the
76547654
76557655
POST http://$SERVER/api/admin/authenticationProviders
76567656
7657+
.. note:: This endpoint will create providers for both JSF and SPA. Use :ref:`jvm-options` / *MicroProfile Config* if you need to create SPA only providers.
7658+
76577659
Show Authentication Provider
76587660
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76597661

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ The following options are available:
151151
- Enable or disable provisioning the provider via MicroProfile.
152152
- N
153153
- ``false``
154+
* - ``dataverse.auth.oidc.hidden-jsf``
155+
- Show or Hide the provider from the JSF UI via MicroProfile.
156+
- N
157+
- ``false``
154158
* - ``dataverse.auth.oidc.client-id``
155159
- The client-id of the application to identify it at your provider.
156160
- Y
@@ -187,4 +191,4 @@ The following options are available:
187191
- Tune the maximum age, in seconds, of all OIDC providers' verifier cache entries. Default is 5 minutes, equivalent to lifetime
188192
of many OIDC access tokens.
189193
- N
190-
- 300
194+
- 300

docker-compose-dev.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ services:
2222
DATAVERSE_MAIL_SYSTEM_EMAIL: "dataverse@localhost"
2323
DATAVERSE_MAIL_MTA_HOST: "smtp"
2424
DATAVERSE_AUTH_OIDC_ENABLED: "1"
25+
DATAVERSE_AUTH_OIDC_HIDDEN_JSF: "1"
2526
DATAVERSE_AUTH_OIDC_CLIENT_ID: test
2627
DATAVERSE_AUTH_OIDC_CLIENT_SECRET: 94XHrfNRwXsjqTqApRrwWmhDLDHpIYV8
2728
DATAVERSE_AUTH_OIDC_AUTH_SERVER_URL: http://keycloak.mydomain.com:8090/realms/test

src/main/java/edu/harvard/iq/dataverse/DatasetVersionDifference.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,13 @@ private void getTermsDifferences() {
224224
logger.warning("New version does not have TermsOfUseAndAccess");
225225
newTerms = new TermsOfUseAndAccess();
226226
}
227-
227+
228+
//get license name or bundle val for none to test for differences
229+
String originalLicenseName = originalTerms.getLicense() != null ? originalTerms.getLicense().getName() : BundleUtil.getStringFromBundle("license.none.chosen");
230+
String newLicenseName = newTerms.getLicense() != null ? newTerms.getLicense().getName() : BundleUtil.getStringFromBundle("license.none.chosen");
231+
232+
checkAndAddToChangeList(originalLicenseName, newLicenseName,
233+
BundleUtil.getStringFromBundle("file.dataFilesTab.terms.list.license"));
228234
checkAndAddToChangeList(originalTerms.getTermsOfUse(), newTerms.getTermsOfUse(),
229235
BundleUtil.getStringFromBundle("file.dataFilesTab.terms.list.termsOfUse.header"));
230236
checkAndAddToChangeList(originalTerms.getConfidentialityDeclaration(), newTerms.getConfidentialityDeclaration(),

src/main/java/edu/harvard/iq/dataverse/Dataverse.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,16 @@ public List<DataverseFeaturedDataverse> getDataverseFeaturingDataverses() {
243243
public void setDataverseFeaturingDataverses(List<DataverseFeaturedDataverse> dataverseFeaturingDataverses) {
244244
this.dataverseFeaturingDataverses = dataverseFeaturingDataverses;
245245
}
246-
246+
247+
@OneToMany(mappedBy = "dataverse", orphanRemoval = true, cascade = {CascadeType.REMOVE, CascadeType.MERGE, CascadeType.PERSIST})
248+
private List<Metric> dataverseMetrics = new ArrayList<>();
249+
public List<Metric> getDataverseMetrics() {
250+
return dataverseMetrics;
251+
}
252+
public void setDataverseMetrics(List<Metric> dataverseMetrics) {
253+
this.dataverseMetrics = dataverseMetrics;
254+
}
255+
247256
@OneToMany(mappedBy="dataverse", cascade={CascadeType.REMOVE, CascadeType.MERGE, CascadeType.PERSIST})
248257
private List<DataverseLinkingDataverse> dataverseLinkingDataverses;
249258

src/main/java/edu/harvard/iq/dataverse/GuestbookResponseServiceBean.java

Lines changed: 8 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -770,49 +770,17 @@ private void initCustomQuestions(GuestbookResponse guestbookResponse, Dataset da
770770
}
771771
}
772772

773-
private void setUserDefaultResponses(GuestbookResponse guestbookResponse, DataverseSession session, User userIn) {
774-
User user;
775-
User sessionUser = session.getUser();
776-
777-
if (userIn != null){
778-
user = userIn;
779-
} else{
780-
user = sessionUser;
781-
}
782-
783-
if (user != null) {
784-
guestbookResponse.setEmail(getUserEMail(user));
785-
guestbookResponse.setName(getUserName(user));
786-
guestbookResponse.setInstitution(getUserInstitution(user));
787-
guestbookResponse.setPosition(getUserPosition(user));
788-
guestbookResponse.setAuthenticatedUser(getAuthenticatedUser(user));
789-
} else {
790-
guestbookResponse.setEmail("");
791-
guestbookResponse.setName("");
792-
guestbookResponse.setInstitution("");
793-
guestbookResponse.setPosition("");
794-
guestbookResponse.setAuthenticatedUser(null);
795-
}
796-
guestbookResponse.setSessionId(session.toString());
773+
private void setUserDefaultResponses(GuestbookResponse guestbookResponse, DataverseSession session, User user) {
774+
guestbookResponse.setEmail(getUserEMail(user));
775+
guestbookResponse.setName(getUserName(user));
776+
guestbookResponse.setInstitution(getUserInstitution(user));
777+
guestbookResponse.setPosition(getUserPosition(user));
778+
guestbookResponse.setAuthenticatedUser(getAuthenticatedUser(user));
779+
guestbookResponse.setSessionId(session != null ? session.toString() : "");
797780
}
798781

799782
private void setUserDefaultResponses(GuestbookResponse guestbookResponse, DataverseSession session) {
800-
User user = session.getUser();
801-
802-
if (user != null) {
803-
guestbookResponse.setEmail(getUserEMail(user));
804-
guestbookResponse.setName(getUserName(user));
805-
guestbookResponse.setInstitution(getUserInstitution(user));
806-
guestbookResponse.setPosition(getUserPosition(user));
807-
guestbookResponse.setAuthenticatedUser(getAuthenticatedUser(user));
808-
} else {
809-
guestbookResponse.setEmail("");
810-
guestbookResponse.setName("");
811-
guestbookResponse.setInstitution("");
812-
guestbookResponse.setPosition("");
813-
guestbookResponse.setAuthenticatedUser(null);
814-
}
815-
guestbookResponse.setSessionId(session.toString());
783+
setUserDefaultResponses(guestbookResponse, session, session.getUser());
816784
}
817785

818786
public GuestbookResponse initDefaultGuestbookResponse(Dataset dataset, DataFile dataFile, DataverseSession session) {

0 commit comments

Comments
 (0)