Prerequisites
Description
Neither the IME nor the Web app can persist per-user UI settings server-side. The IME writes a local per-user JSON file (PluginSettingsService), and the Web app has no durable per-user store (but could be done with local browser storage). Both approaches are per-device, lost on profile/cache clear, and can't be shared between tools.
We would like a generic, SDK-provided mechanism to persist arbitrary per-user settings in the database, keyed to the Participant (or Person), so any client can read/write namespaced settings and have them travel with the user across devices and tools.
Proposal
- Expose a per-user settings container through the SDK/DAL (e.g. a JSON/string blob keyed by owner + a client-defined namespace such as
relationshipmatrix.savedConfigurations).
- Provide a read/write API on the SDK (analogous to how other
Things are read/updated), respecting existing permission and revision handling.
- Keep it schema-agnostic so each tool/plugin owns the shape of its own settings.
Acceptance criteria
Notes / open questions
- Data model: extend an existing type vs. a new dedicated construct; storage format (JSON string).
- Visibility / permissions and whether settings live per-model or globally per-user.
- Migration path; whether the IME migrates its local plugin settings onto this store.
- First consumer: migrate the Relationship Matrix saved configurations (COMET-WEB) onto the new store.
Context
Split out of the CDP4-COMET-WEB Relationship Matrix work (STARIONGROUP/COMET-WEB-Community-Edition#821). The Web app currently has no saved-configuration persistence pending this SDK capability.
- COMET version:
- Environment (Operating system, version and so on):
- .NET Framework version:
- Additional information:
Prerequisites
Description
Neither the IME nor the Web app can persist per-user UI settings server-side. The IME writes a local per-user JSON file (
PluginSettingsService), and the Web app has no durable per-user store (but could be done with local browser storage). Both approaches are per-device, lost on profile/cache clear, and can't be shared between tools.We would like a generic, SDK-provided mechanism to persist arbitrary per-user settings in the database, keyed to the
Participant(orPerson), so any client can read/write namespaced settings and have them travel with the user across devices and tools.Proposal
relationshipmatrix.savedConfigurations).Things are read/updated), respecting existing permission and revision handling.Acceptance criteria
Notes / open questions
Context
Split out of the CDP4-COMET-WEB Relationship Matrix work (STARIONGROUP/COMET-WEB-Community-Edition#821). The Web app currently has no saved-configuration persistence pending this SDK capability.