# TODO - [ ] Implement git style versioning for: synthetic variable, panels, control logic - [ ] Implement configuration manager: - configuration is a set of signals (that can be organized in group and subgroup) that are used to configure a system or a sub system - with configuration manager user should be able to: - Define and manage configuration sets: delete (keep server side copy of deleted config), create (specifying default to parameters, mandatory, optional etc), edit (with versioning git style) and compare set - user can fork an existing config instance to create a new one - user can compare two instances: show unified diff or side by side diff - etc... - Create, delete (keep server cache), edit (git style versioning) and compare configuration instances: meaning set actual value to a configuration set - user can fork an existing config instance to create a new one - user can compare two instances: show unified diff or side by side diff - etc... - [ ] Implement admin pane: create / manage groups, set users permits, manage auditors etc - [ ] Implement new datasources: - [ ] modbus tcp - [ ] scpi tcp - [ ] Improve UX: - [ ] Synthetic editor: - color code the node link by type - hover on a block in error should show the reason - add proper array functionality - add shortcut to add Signals (S) and nodes (N) with HUD - [ ] Panels: - in view mode the widgets should have no border/bg but blend with background - add widgets such - [ ] Implement proper distributed server side nodes to balance load and have redundancy (if a node is not available anymore all its clients migrate seamelessly to another)