|
| 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 `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 |
| 37 | +- `:DuraCloudContext` |
| 38 | +- `:DuraCloudHost` |
| 39 | +- `:DuraCloudPort` |
| 40 | +- `:FileCategories` |
| 41 | +- `:GoogleCloudBucket` |
| 42 | +- `:GoogleCloudProject` |
| 43 | +- `:LDNAnnounceRequiredFields` |
| 44 | +- `:LDNTarget` |
| 45 | +- `:WorkflowsAdminIpWhitelist` - formerly `WorkflowsAdmin#IP_WHITELIST_KEY` |
0 commit comments