Tech: Centralize all user settings in single service that also handles cascading.
See original GitHub issueFeature Request
Description
This is a tech story with no value for the user, but still important for future features.
The single service centralizes all settings a user can set. Modules are notified of changes using something like rx.js.
Cascading means that settings can overwrite each other if they are from different sources. F.ex. the default settings can be overwritten by url parameters.
TODO
- map is immutable, take map out of settings, markingPackage in settings instead in map
- Simplify settings to only handle getting and updating settings from partial settings objects
- Updated
settingsobject, which uses three sub-objects. See interface codeCharta.model.ts#L32 - Create
codeCharta.model.tsfile which holds all globally needed interfaces - Create
codeCharta.service.tsfile which combines simplified functionality from formercodeCharta.component,data.service,data.validator.service,data.loading.service. ThecodeCharta.service.tsget called fromcodeCharta.componentand is supposed to be the global connection to the core functionality like onLoadApplication - Deleted
data.service,data.validator.service,data.loading.service - Implement ScenarioService behaviour onLoad and onFileImport(?)
- Merge fileSettings from visible
CCFilesintosettingsService.settings.fileSettings - Check if #352 is fixed
- Implement UrlUtils which updates the settings. Don’t forget about the
mode=Delta - Update content of the dialog when clicking
URL Parametersbutton inside sidebar. Only show file and mode keys - Remove
URL Parametersfunctionality fromUrlLUtilsandSettingsService, but keep option to import files and set amode(renderState) from within the url - Adapt the new settings/fileState/metric behaviour step by step to the UI components
- Adapt all tests and try to follow the scheme for setting all objects like nodeContextMenu.component.spec.ts
- Everywhere -> Remove unused injections
- scenarioHelper -> Refactor getScenarioByName array[string]
- Tests -> update skipped Tests
- settingsService -> onCameraChanged
- fix latency issue with gitignore search/blacklist
Issue Analytics
- State:
- Created 5 years ago
- Comments:17 (12 by maintainers)
Top Results From Across the Web
Microservice Architecture and its 10 Most Important Design ...
Every business Application has many configuration parameters for various Infrastructure (e.g., Database, Network, connected Service addresses, ...
Read more >Hibernate: When should I use Cascade.ALL and when ...
java. It defines “cascade=CascadeType. ALL” and it essentially means that any change happened on EmployeeEntity must cascade to AccountEntity ...
Read more >Navigation options for SharePoint Online
This article describes navigation options sites with SharePoint Publishing enabled in SharePoint Online.
Read more >Building member trust through a centralized and scalable ...
The setting values service acts as a central access point for all settings across LinkedIn, and also provides a centralized database for storing ......
Read more >What is Software Defined Networking? SDN Explained
A single change can have a cascading effect on the network performance and has the potential to bring down the entire network.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

user settings. You have them in almost all programs and they are usually stored in something likeuser.properties.… I would go on but I think my sentences only go longer and less coherent. I’ll sleep about it and talk some more in two weeks 😃 If you have a solution by then it’s fine by me 😄
Url Parameter can probably be removed. The only useful feature is opening specific files in normal, multiple or delta mode.
I’ll check with the teams.