Skip to content

Commit 06519be

Browse files
committed
docs: add release note and API docs for #11639
1 parent f839a51 commit 06519be

2 files changed

Lines changed: 51 additions & 5 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Database Settings Cleanup
2+
3+
With this release, we remove some legacy specialties around Database Settings and provide better Admin API endpoints for them.
4+
5+
Most important changes:
6+
7+
1. Setting `BuiltinUsers.KEY` was renamed to `:BuiltinUsersKey`, aligned with our general naming pattern for options.
8+
2. Setting `:TabularIngestSizeLimit` no longer uses suffixes for formats and becomes a JSON-based setting instead.
9+
3. If set, both settings will be migrated to their new form automatically for you (Flyway migration).
10+
4. You can no longer (accidentally) create or use arbitrary setting names or languages.
11+
All Admin API endpoints for settings now validate setting names and languages for existence and compliance.
12+
13+
As an administrator of a Dataverse instance, you can now make use of enhanced Bulk Operations on the Settings Admin API:
14+
15+
1. Retrieving all settings as JSON via `GET /api/admin/settings` supports localized options now, too.
16+
2. You can replace all existing settings in an idempotent way sending JSON to `PUT /api/admin/settings`.
17+
This will create, update and remove settings as necessary in one atomic operation.
18+
The new endpoint is especially useful to admins using GitOps or other automations.
19+
It allows control over all Database Settings from a single source without risking an undefined state.
20+
21+
Note: Despite the validation of setting names and languages, the content of any database setting is still not being validated when using the Settings Admin API!

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

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6530,7 +6530,11 @@ If the PID is not managed by Dataverse, this call will report if the PID is reco
65306530
Admin
65316531
-----
65326532
6533-
This is the administrative part of the API. For security reasons, it is absolutely essential that you block it before allowing public access to a Dataverse installation. Blocking can be done using settings. See the ``post-install-api-block.sh`` script in the ``scripts/api`` folder for details. See :ref:`blocking-api-endpoints` in Securing Your Installation section of the Configuration page of the Installation Guide.
6533+
This is the administrative part of the API.
6534+
For security reasons, it is absolutely essential that you block it before allowing public access to a Dataverse installation.
6535+
Blocking can be done using settings.
6536+
See the ``post-install-api-block.sh`` script in the ``scripts/api`` folder for details.
6537+
See :ref:`blocking-api-endpoints` in Securing Your Installation section of the Configuration page of the Installation Guide.
65346538
65356539
List All Database Settings
65366540
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -6539,27 +6543,48 @@ List all settings::
65396543
65406544
GET http://$SERVER/api/admin/settings
65416545
6542-
Configure Database Setting
6543-
~~~~~~~~~~~~~~~~~~~~~~~~~~
6546+
Configure All Database Settings
6547+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6548+
6549+
Replace all settings in a single idempotent and atomic operation::
6550+
6551+
PUT http://$SERVER/api/admin/settings
6552+
6553+
The :doc:`../installation/config` page of the Installation Guide has a :ref:`complete list of all the available settings <database-settings>`.
6554+
6555+
Configure Single Database Setting
6556+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65446557
65456558
Sets setting ``name`` to the body of the request::
65466559
65476560
PUT http://$SERVER/api/admin/settings/$name
65486561
6562+
Sets a localized setting ``name`` for locale/language ``lang`` to the body of the request::
6563+
6564+
PUT http://$SERVER/api/admin/settings/$name/lang/$lang
6565+
65496566
Get Single Database Setting
65506567
~~~~~~~~~~~~~~~~~~~~~~~~~~~
65516568
65526569
Get the setting under ``name``::
65536570
65546571
GET http://$SERVER/api/admin/settings/$name
65556572
6556-
Delete Database Setting
6557-
~~~~~~~~~~~~~~~~~~~~~~~
6573+
Gets a localized setting under ``name`` for locale/language ``lang``::
6574+
6575+
GET http://$SERVER/api/admin/settings/$name/lang/$lang
6576+
6577+
Delete Single Database Setting
6578+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65586579
65596580
Delete the setting under ``name``::
65606581
65616582
DELETE http://$SERVER/api/admin/settings/$name
65626583
6584+
Delete a localized setting under ``name`` for locale/language ``lang``::
6585+
6586+
DELETE http://$SERVER/api/admin/settings/$name/lang/$lang
6587+
65636588
.. _list-all-feature-flags:
65646589
65656590
List All Feature Flags

0 commit comments

Comments
 (0)