As a GUI developer, I would like to dynamically persist various UI settings in response to user actions so that user preferences are remembered across sessions and regardless of which ONOS cluster node the UI connects to.
- Define UserPreferencesService interface in onos-api module and; in the ui package
- allows storing userId/key/value tuples; key/value being String type
- readable by userId to get all key/value bindings for the user
- settable by userId/key/value in response to user actions on the client
- Implement UserPreferencesManager component in onos-gui module
- preferences need to be distributed throughout the cluster; eventually consistency should suffice
- recommend direct use of EventuallyConsistentMap; no store interface definition required