206d5b541d
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
TODO
- MAJOR 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...
- user can apply and save configuration instances
- in logic editor and control loop add nodes to read/write/create/apply config instances
- 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
- 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 as toggle switch, table and other industrial hmi widgets
- Synthetic editor:
- Implement git style versioning for: synthetic variable, panels, control logic:
- possibility to fork any version
- click to view the version
- possibility to view graphical diff between versions (side by side or unified diff)
- simple slick versioning pane:
- vertical tree like
- each version represented by a circle
- active (the one currently view/edited) version has circle bigger then rest
- selected (the one that will be executed/showed by user) version has circle full, not active only border
- unsaved / new version appear with connection line dashed
- Implement admin pane: create / manage groups, set users permits, manage auditors etc
- Implement new datasources:
- Finalize alarm service
- modbus tcp
- scpi tcp
- udp? other?
- MAJOR 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)