You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 `WorkflowsAdmin#IP_WHITELIST_KEY` was renamed to `:WorkflowsAdminIpWhitelist`, aligned with our general naming pattern for options.
9
+
3. Setting `:TabularIngestSizeLimit` no longer uses suffixes for formats and becomes a JSON-based setting instead.
10
+
4. If set, all three settings will be migrated to their new form automatically for you (Flyway migration).
11
+
5. You can no longer (accidentally) create or use arbitrary setting names or languages.
12
+
All Admin API endpoints for settings now validate setting names and languages for existence and compliance.
13
+
14
+
As an administrator of a Dataverse instance, you can now make use of enhanced Bulk Operations on the Settings Admin API:
15
+
16
+
1. Retrieving all settings as JSON via `GET /api/admin/settings` supports localized options now, too.
17
+
2. You can replace all existing settings in an idempotent way sending JSON to `PUT /api/admin/settings`.
18
+
This will create, update and remove settings as necessary in one atomic operation.
19
+
The new endpoint is especially useful to admins using GitOps or other automations.
20
+
It allows control over all Database Settings from a single source without risking an undefined state.
21
+
22
+
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!
23
+
24
+
### Updated Database Settings
25
+
26
+
The following database settings are were added to the official list within the code (to remain valid with the settings cleanup mentioned above):
27
+
28
+
-`:BagGeneratorThreads`
29
+
-`:BagItHandlerEnabled`
30
+
-`:BagItLocalPath`
31
+
-`:BagValidatorJobPoolSize`
32
+
-`:BagValidatorJobWaitInterval`
33
+
-`:BagValidatorMaxErrors`
34
+
-`:BuiltinUsersKey` - formerly `BuiltinUsers.KEY`
35
+
-`:CreateDataFilesMaxErrorsToDisplay`
36
+
-`:DRSArchiverConfig` - a Harvard-specific setting
Copy file name to clipboardExpand all lines: doc/sphinx-guides/source/api/changelog.rst
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,10 @@ This API changelog is experimental and we would love feedback on its usefulness.
9
9
10
10
v6.9
11
11
----
12
+
12
13
- The POST /api/admin/makeDataCount/{id}/updateCitationsForDataset processing is now asynchronous and the response no longer includes the number of citations. The response can be OK if the request is queued or 503 if the queue is full (default queue size is 1000).
14
+
- The way to set per-format size limits for tabular ingest has changed. JSON input is now used. See :ref:`:TabularIngestSizeLimit`.
15
+
- In the past, the settings API would accept any key and value. This is no longer the case because validation has been added. See :ref:`settings_put_single`, for example.
@@ -5843,13 +5843,13 @@ Builtin users are known as "Username/Email and Password" users in the :doc:`/use
5843
5843
Create a Builtin User
5844
5844
~~~~~~~~~~~~~~~~~~~~~
5845
5845
5846
-
For security reasons, builtin users cannot be created via API unless the team who runs the Dataverse installation has populated a database setting called ``BuiltinUsers.KEY``, which is described under :ref:`securing-your-installation` and :ref:`database-settings` sections of Configuration in the Installation Guide. You will need to know the value of ``BuiltinUsers.KEY`` before you can proceed.
5846
+
For security reasons, builtin users cannot be created via API unless the team who runs the Dataverse installation has populated a database setting called ``:BuiltinUsersKey``, which is described under :ref:`securing-your-installation` and :ref:`database-settings` sections of Configuration in the Installation Guide. You will need to know the value of ``:BuiltinUsersKey`` before you can proceed.
5847
5847
5848
5848
To create a builtin user via API, you must first construct a JSON document. You can download :download:`user-add.json <../_static/api/user-add.json>` or copy the text below as a starting point and edit as necessary.
5849
5849
5850
5850
.. literalinclude:: ../_static/api/user-add.json
5851
5851
5852
-
Place this ``user-add.json`` file in your current directory and run the following curl command, substituting variables as necessary. Note that both the password of the new user and the value of ``BuiltinUsers.KEY`` are passed as query parameters::
5852
+
Place this ``user-add.json`` file in your current directory and run the following curl command, substituting variables as necessary. Note that both the password of the new user and the value of ``:BuiltinUsersKey`` are passed as query parameters::
@@ -7133,35 +7133,193 @@ If the PID is not managed by Dataverse, this call will report if the PID is reco
7133
7133
Admin
7134
7134
-----
7135
7135
7136
-
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 fordetails. See :ref:`blocking-api-endpoints`in Securing Your Installation section of the Configuration page of the Installation Guide.
7136
+
This is the administrative part of the API.
7137
+
For security reasons, it is absolutely essential that you block it before allowing public access to a Dataverse installation.
7138
+
See :ref:`blocking-api-endpoints`in the Installation Guide for details.
7139
+
7140
+
.. note:: See :ref:`curl-examples-and-environment-variables`if you are unfamiliar with the use of export below.
7141
+
7142
+
.. _admin-api-db-settings:
7143
+
7144
+
Manage Database Settings
7145
+
~~~~~~~~~~~~~~~~~~~~~~~~
7146
+
7147
+
These are the API endpoints formanaging the :ref:`database-settings` listedin the Installation Guide.
7148
+
7149
+
.. _settings_get_all:
7137
7150
7138
7151
List All Database Settings
7139
-
~~~~~~~~~~~~~~~~~~~~~~~~~~
7152
+
^^^^^^^^^^^^^^^^^^^^^^^^^^
7153
+
7154
+
.. code-block:: bash
7140
7155
7141
-
List all settings::
7156
+
export SERVER_URL="http://localhost:8080"
7157
+
7158
+
curl "$SERVER_URL/api/admin/settings"
7142
7159
7143
-
GET http://$SERVER/api/admin/settings
7160
+
The fully expanded example above (without environment variables) looks like this:
7144
7161
7145
-
Configure Database Setting
7146
-
~~~~~~~~~~~~~~~~~~~~~~~~~~
7162
+
.. code-block:: bash
7147
7163
7148
-
Sets setting ``name`` to the body of the request::
7164
+
curl http://localhost:8080/api/admin/settings
7149
7165
7150
-
PUT http://$SERVER/api/admin/settings/$name
7166
+
.. _settings_get_single:
7151
7167
7152
7168
Get Single Database Setting
7153
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~
7169
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
7154
7170
7155
-
Get the setting under ``name``::
7171
+
.. code-block:: bash
7156
7172
7157
-
GET http://$SERVER/api/admin/settings/$name
7173
+
export SERVER_URL="http://localhost:8080"
7174
+
export NAME=":UploadMethods"
7175
+
7176
+
curl "$SERVER_URL/api/admin/settings/$NAME"
7158
7177
7159
-
Delete Database Setting
7160
-
~~~~~~~~~~~~~~~~~~~~~~~
7178
+
The fully expanded example above (without environment variables) looks like this:
Copy file name to clipboardExpand all lines: doc/sphinx-guides/source/developers/testing.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -209,7 +209,7 @@ The Burrito Key
209
209
210
210
For reasons that have been lost to the mists of time, the Dataverse software really wants you to to have a burrito. Specifically, if you're trying to run REST Assured tests and see the error "Dataverse config issue: No API key defined for built in user management", you must run the following curl command (or make an equivalent change to your database):
211
211
212
-
``curl -X PUT -d 'burrito' http://localhost:8080/api/admin/settings/BuiltinUsers.KEY``
212
+
``curl -X PUT -d 'burrito' http://localhost:8080/api/admin/settings/:BuiltinUsersKey``
213
213
214
214
Without this "burrito" key in place, REST Assured will not be able to create users. We create users to create objects we want to test, such as collections, datasets, and files.
0 commit comments