FlowFuse / FlowFuse/node-red-dashboard
New Nodes: In/Out User-Specific Context Store
- Dominant language
- HTML
- Stars
- 355
- Forks
- 82
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 24
Description
### Description
With the release of https://flowfuse.com/blog/2024/06/dashboard-multi-tenancy/, we've had feedback that it would be useful to have an easier way to store temporary/context data on a user-by-user basis.
I was chatting with @knolleary, initially proposing us having a standalone Dashboard store alongside flow/global stores, but then it would be tricky as we'd lose the value of that separation. Instead, Nick proposed, and I agree with, the idea of adding some new nodes - likely as a third party installable, rather than part of core. These new nodes would provide a wrapping interface to the context stores, allowing users to key by some user-specific id (e.g. `socketId`, `user.email`)
Nodes required would likely be:
- `save`/`set` - given a user map, property and value, store this in a context store
- `get` - retrieve a given value, given a user id and property
- `clear` - remove all data form a given user (in the case of socketId being disconnected, an easy way to remove everything associated with the lost connection, or possibly a given value for property?
### Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points; begin by locating the existing flow/global context-store interfaces and the dashboard's node packages. Clarify whether this belongs in a third-party package and define the save/set, get, and clear behavior, including disconnect cleanup, before implementation; done means those user-keyed operations are specified and covered.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100