Skip to content

Commit 30d369d

Browse files
committed
Merge remote-tracking branch 'IQSS/develop' into IQSS/11592-HandleFix
2 parents eee66d5 + de2b48f commit 30d369d

File tree

84 files changed

+6322
-399
lines changed

Some content is hidden

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

84 files changed

+6322
-399
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
The Search API now supports a `show_collections` parameter for dataset results.
2+
When the parameter is set, each result includes a `collections` array showing the dataset’s parent and linked collections. Each entry includes `id`, `name`, and `alias`, for example:
3+
4+
```json
5+
"collections": [
6+
{
7+
"id": 11,
8+
"name": "My cool collection",
9+
"alias": "dvcb50a190"
10+
}
11+
]
12+
```
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Implemented a new feature flag ``dataverse.feature.api-bearer-auth-use-oauth-user-on-id-match``, which supports the use of the new Dataverse client in instances that have historically allowed login via GitHub, ORCID, or Google. Specifically, with this flag enabled, when an OIDC bridge is configured to allow OIDC login with validation by the bridged OAuth providers, users with existing GitHub, ORCID, or Google accounts in Dataverse can log in to those accounts, thereby maintaining access to their existing content and retaining their roles.
2+
3+
## New Settings
4+
5+
- dataverse.feature.api-bearer-auth-use-oauth-user-on-id-match
6+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# getAllNotificationsForUser API extension
2+
3+
- Extended endpoint getAllNotificationsForUser(``/notifications/all``), which now supports an optional query parameter ``inAppNotificationFormat`` which, if sent as ``true``, retrieves the fields needed to build the in-app notifications for the Notifications section of the Dataverse UI, omitting fields related to email notifications. See also #11648 and #11696.
4+
5+
# Notifications triggered by API endpoints
6+
7+
The addDataset and addDataverse API endpoints now trigger user notifications upon successful execution. See also #1342 and #11696.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The [API for listing the collections a dataverse has been linked to](https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#list-dataverse-collection-links) (`api/dataverses/$dataverse-alias/links`) has been refactored to return a new Json format. This is a breaking API.

doc/release-notes/issue-10523.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
## Developer Updates
3+
4+
### Writing External Exporters
5+
6+
The getDatasetFileDetails data structure now contains "directoryLabel" (file path). See #10523 and #11618.

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6001,6 +6001,35 @@ The expected OK (200) response looks something like this:
60016001
}
60026002
...
60036003
6004+
This endpoint supports an optional query parameter ``inAppNotificationFormat`` which, if sent as ``true``, retrieves the fields needed to build the in-app notifications for the Notifications section of the Dataverse UI, omitting fields related to email notifications.
6005+
6006+
.. code-block:: bash
6007+
6008+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/notifications/all?inAppNotificationFormat=true"
6009+
6010+
The expected OK (200) response looks something like this:
6011+
6012+
.. code-block:: text
6013+
6014+
{
6015+
"status": "OK",
6016+
"data": {
6017+
"notifications": [
6018+
{
6019+
"id": 79,
6020+
"type": "CREATEACC",
6021+
"displayAsRead": false,
6022+
"sentTimestamp": "2025-08-08T08:00:16Z",
6023+
"installationBrandName": "Your Installation Name",
6024+
"userGuidesBaseUrl": "https://guides.dataverse.org",
6025+
"userGuidesVersion": "6.7.1",
6026+
"userGuidesSectionPath": "user/index.html"
6027+
}
6028+
]
6029+
}
6030+
}
6031+
...
6032+
60046033
Get Unread Count
60056034
~~~~~~~~~~~~~~~~
60066035

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type string Can be either "dataverse", "dataset", or "file". Multi
2929
subtree string The identifier of the Dataverse collection to which the search should be narrowed. The subtree of this Dataverse collection and all its children will be searched. Multiple "subtree" parameters can be used to include multiple Dataverse collections. For example, https://demo.dataverse.org/api/search?q=data&subtree=birds&subtree=cats .
3030
sort string The sort field. Supported values include "name" and "date". See example under "order".
3131
order string The order in which to sort. Can either be "asc" or "desc". For example, https://demo.dataverse.org/api/search?q=data&sort=name&order=asc
32-
per_page int The number of results to return per request. The default is 10. The max is 1000. See :ref:`iteration example <iteration-example>`.
32+
per_page int The number of results to return per request. The default is 10. The max is 1000. See :ref:`iteration example <iteration-example>`.
3333
start int A cursor for paging through search results. See :ref:`iteration example <iteration-example>`.
3434
show_relevance boolean Whether or not to show details of which fields were matched by the query. False by default. See :ref:`advanced search example <advancedsearch-example>`.
3535
show_facets boolean Whether or not to show facets that can be operated on by the "fq" parameter. False by default. See :ref:`advanced search example <advancedsearch-example>`.
@@ -41,6 +41,7 @@ metadata_fields string Includes the requested fields for each dataset in the
4141
geo_point string Latitude and longitude in the form ``geo_point=42.3,-71.1``. You must supply ``geo_radius`` as well. See also :ref:`geospatial-search`.
4242
geo_radius string Radial distance in kilometers from ``geo_point`` (which must be supplied as well) such as ``geo_radius=1.5``.
4343
show_type_counts boolean Whether or not to include total_count_per_object_type for types: Dataverse, Dataset, and Files.
44+
show_collections boolean Whether or not to include a list of Dataverse collections for each dataset search result.
4445
search_service string The name of the search service to use for this query. If omitted, the default search service will be used. For available search services, see :ref:`discovering-available-search-services`.
4546
================ ======= ===========
4647

@@ -794,7 +795,7 @@ Note: Configurable Search Services are an optional, experimental feature than ma
794795

795796
Example API endpoint: https://demo.dataverse.org/api/search/services
796797

797-
This endpoint returns a list of available search services, including their names, and display names. It also indicates the default search service.
798+
This endpoint returns a list of available search services, including their names, and display names. It also indicates the default search service.
798799

799800
Example response:
800801

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3755,6 +3755,9 @@ please find all known feature flags below. Any of these flags can be activated u
37553755
* - api-bearer-auth-use-shib-user-on-id-match
37563756
- Allows the use of a Shibboleth user account when an identity match is found during API bearer authentication. This feature enables automatic association of an incoming IdP identity with an existing Shibboleth user account, bypassing the need for additional user registration steps. This feature only works when the feature flag ``api-bearer-auth`` is also enabled. **Caution: Enabling this flag could result in impersonation risks if (and only if) used with a misconfigured IdP.**
37573757
- ``Off``
3758+
* - api-bearer-auth-use-oauth-user-on-id-match
3759+
- Allows the use of an OAuth user account (GitHub, Google, or ORCID) when an identity match is found during API bearer authentication. This feature enables automatic association of an incoming IdP identity with an existing OAuth user account, bypassing the need for additional user registration steps. This feature only works when the feature flag ``api-bearer-auth`` is also enabled. **Caution: Enabling this flag could result in impersonation risks if (and only if) used with a misconfigured IdP.**
3760+
- ``Off``
37583761
* - avoid-expensive-solr-join
37593762
- Changes the way Solr queries are constructed for public content (published Collections, Datasets and Files). It removes a very expensive Solr join on all such documents, improving overall performance, especially for large instances under heavy load. Before this feature flag is enabled, the corresponding indexing feature (see next feature flag) must be turned on and a full reindex performed (otherwise public objects are not going to be shown in search results). See :doc:`/admin/solr-search-index`.
37603763
- ``Off``

0 commit comments

Comments
 (0)