-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Description
Currently, configuring collection-specific behaviors—such as default record creation, statistics display, and data inheritance rules—requires administrators to manually edit a combination of preferences app resources and the CollectionPreferences app resource. This process is not user-friendly, is prone to syntax errors, and lacks discoverability for new users.
Creating a dedicated user interface for these settings, similar to the existing UserPreferences panel, will significantly improve usability, reduce configuration errors, and lower the support burden associated with helping users modify these settings correctly. This feature will provide a centralized and intuitive location for administrators to manage all collection-level preferences.
Migration
Existing preferences should be migrated if at all possible to this new system. Preferences previously set at the institution level would now need to be set at the collection level automatically for all present collections.
Requirements
- New User Interface: A new settings page, titled "Collection Preferences," should be created to manage all preferences currently stored in the
CollectionPreferencesapp resource. The interface should be modeled after the existingUserPreferencespage for consistency. - Menu Accessibility: This page should be accessible from the User Tools menu via a new menu item named "Collection Preferences."
- Permissions:
- Access to the "Collection Preferences" menu item and page should be granted to users who have the default
Collection Adminrole and the explicit permission to edit app resources for the current collection. - Users with the
Institution Adminrole of course will have access by default.
- Access to the "Collection Preferences" menu item and page should be granted to users who have the default
- Documentation:
- Links to relevant documentation for each preference will need to be added.
Preference Configuration
The following tables outline the settings that should be configurable from the new "Collection Preferences" interface, grouped by functional area.
General
| Preference Title | Internal Name | Type | Default Value | Source | Description |
|---|---|---|---|---|---|
| Scope 'Entire Table' Picklists | sp7_scope_table_picklists |
Checkbox | false |
remotePrefs.ts |
If enabled, picklists of type 'Entire Table' will only show items that are in use within the current collection. |
| New Attachments are Public | attachment.is_public_default |
Checkbox | false |
remotePrefs.ts |
Sets the default visibility for new attachments. If checked, attachments will be "Public" by default. |
Collection Object Creation
Note
For these, (currently prefs named CO_CREATE_*), these would be better solved by #7439 which implements a generic solution in the view definition. This can be ignored in favor of that solution.
| Preference Title | Internal Name | Type | Default Value | Source | Description |
|---|---|---|---|---|---|
| Create Attributes on New Record | CO_CREATE_COA |
Checkbox | false |
remotePrefs.ts |
Automatically create a new Collection Object Attribute record when a Collection Object is created. |
| Create Preparation on New Record | CO_CREATE_PREP |
Checkbox | false |
remotePrefs.ts |
Automatically create a new Preparation record when a Collection Object is created. |
| Create Determination on New Record | CO_CREATE_DET |
Checkbox | false |
remotePrefs.ts |
Automatically create a new Determination record when a Collection Object is created. |
Tree Management
For all of these items, the documentation is here.
| Preference Title | Internal Name | Type | Default Value | Source | Description |
|---|---|---|---|---|---|
| Allow Adding Children to Synonymized Geologic Time Period | sp7.allow_adding_child_to_synonymized_parent.GeologicTimePeriod |
Checkbox | false |
remotePrefs.ts |
Allows you to add children to synonymized parents and to synonymize a node with children. |
| Allow Adding Children to Synonymized Taxon | sp7.allow_adding_child_to_synonymized_parent.Taxon |
Checkbox | false |
remotePrefs.ts |
Allows you to add children to synonymized parents and to synonymize a node with children. |
| Allow Adding Children to Synonymized Geography | sp7.allow_adding_child_to_synonymized_parent.Geography |
Checkbox | false |
remotePrefs.ts |
Allows you to add children to synonymized parents and to synonymize a node with children. |
| Allow Adding Children to Synonymized Lithostratigraphy | sp7.allow_adding_child_to_synonymized_parent.LithoStrat |
Checkbox | false |
remotePrefs.ts |
Allows you to add children to synonymized parents and to synonymize a node with children. |
| Allow Adding Children to Synonymized Storage | sp7.allow_adding_child_to_synonymized_parent.Storage |
Checkbox | false |
remotePrefs.ts |
Allows you to add children to synonymized parents and to synonymize a node with children. |
| Allow Adding Children to Synonymized Tectonic Unit | sp7.allow_adding_child_to_synonymized_parent.TectonicUnit |
Checkbox | false |
remotePrefs.ts |
Allows you to add children to synonymized parents and to synonymize a node with children. |
Statistics Page
| Preference Title | Internal Name | Type | Default Value | Source | Description |
|---|---|---|---|---|---|
| Show Preparations Total | showPreparationsTotal |
Checkbox | true |
CollectionDefinitions.tsx |
If enabled, the preparations statistics panel will include a total count across all preparation types. Documentation. |
| Auto-Refresh Rate (Hours) | refreshRate |
Integer | 24 |
CollectionDefinitions.tsx |
The time interval, in hours, at which the statistics page will automatically refresh its data. Default is 24. Documentation. |
Specify Network
| Preference Title | Internal Name | Type | Default Value | Source | Description |
|---|---|---|---|---|---|
| Publishing Organization Key | publishingOrganization |
Text (UUID) | undefined |
CollectionDefinitions.tsx |
The GBIF publishingOrgKey (a UUID) for this collection, used for Specify Network integration. |
| Collection Key | collectionKey |
Text (UUID) | undefined |
CollectionDefinitions.tsx |
The GBIF dataSetKey (a UUID) for this collection, used for Specify Network integration. |
Catalog Number Inheritance
| Preference Title | Internal Name | Type | Default Value | Source | Description |
|---|---|---|---|---|---|
| Enable Catalog Number Inheritance From Primary CO | catalogNumberInheritance.inheritance |
Checkbox | false |
CollectionDefinitions.tsx |
If enabled, Collection Object siblings will inherit the catalog number from the primary Collection Object in a Collection Object Group by default. |
| Enable Catalog Number Inheritance From Parent CO | catalogNumberParentInheritance.inheritance |
Checkbox | false |
CollectionDefinitions.tsx |
If enabled, Component children will inherit the catalog number from their parent Collection Object. |