ISIS alarm improvement work
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
The issue lists alarm tree and configuration work, including related pull requests #3991 and #3988, but does not identify source files or tests. Start by reading those pull requests and locating the alarm tree and configuration entry points in the Java project. The list covers multiple independent changes and open design questions; done would need to be defined for a specific item before implementation.
索引モデルが issue の本文から書いたものです。
説明
Following up on the discussions during the monthly meetings and the Codeathon, I have created a more precise list of work I want to do on the alarm system over the next few months.
Thought it best to create a issue so that the alarm work I'm planning is written down somewhere (please let me know if you'd prefer this split up into multiple issues).
I'm not 100% sure on how every work item should be implemented and whether any will cause problems for other facilities, so please let me know any thoughts or if anyone is interested in helping, discussion is very welcome and this issue will likely evolve.
Context
I am an industrial placement student (i.e. senior intern™) working at ISIS Neutron and Muon source until August, focused on alarms.
We are migrating from an old control system (Vista) to EPICS. As part of this work, we are migrating and improving our alarm system. Over the last 2 months I have talked with our control room crew and head of operations to find out the current issues with the alarm system, prototyped some solutions, and gathered feedback and iterated on them. I have discussed most of these work items at the monthly meetings and was present for the alarm discussion at the Codeathon.
Alarm configuration improvements
- (https://github.com/ControlSystemStudio/phoebus/pull/3991) Add 'editing mode' to alarm tree as discussed in Codeathon
- Remove configuration dialog box and embed alarm configuration options into a panel on the right side of the alarm tree
- Panel hidden when not in editing mode
- Have to click 'save changes' or similar for changes to be sent to Kafka
- Alarm configuration table improvements
- Improve UI for tables by allowing drag/drop, copy/paste, adding keybinds, potentially adding a context menu - not 100% sure what this will involve yet
- Clientside checking for enabling filter
- Syntax checking to make sure the expression 'compiles'
- Live checking of whether the expression evaluates to true or false
- Have not looked into this at all yet - may be technically impractical
- Drag and drop
- Allow selected alarms/components to be dragged and dropped
- Copy/cut/paste
- Allow selected alarms/components to be copied/cut/pasted with buttons in the context menu
- Remove 'move item' after both this and drag/drop are implemented
- Remove 'rename item' and allow the item to be renames in the configuration menu
Prototype:
https://github.com/user-attachments/assets/0b483e32-c550-4fb4-ae2c-e6c2c65720b4
General alarm tree improvements
- (https://github.com/ControlSystemStudio/phoebus/pull/3988) Add PV search bar to alarm tree
- Replace alarm tree expand buttons with filter
- Remove the 'expand to show [active|disabled] alarms' buttons and replace them with a dropdown containing tri-state checkboxes: 'Active alarms', 'Disabled alarms', 'Acknowledged alarms' (is this too convoluted?)
- This may break workflows, but a filter seems like it would be a more intuitive and useful way to interact with the alarm tree, and having both options seems like a confusing middle ground (any thoughts?)
- It would be useful to be able to automatically expand nodes to see the leafs when a filter is active, but this would not work well if you set it to e.g. all inactive alarms. Not sure how to handle this yet
- Alarm tree context menu improvements
- Collapse guidances into 'N guidances...' if the number of guidances exceeds a threshold, rather than truncating them
- Collapse screens into 'N screens...' if the number of screens exceeds a threshold, rather than truncating them
- Change 'Remove selected items' to 'Remove [N] items', and the same for enable/disable (counts components and their children)
Alarm disable improvements
- Alarm disabling UI improvements
- Merge 'disable indefinitely' and 'disable until' options into one single dialog box
- Box lists all PVs/components to be disabled and the number of alarms to be disabled at the top
- Box would have a radio selection with options 'Indefinitely', 'Custom', and a set of predefined times from settings
- Predefined times can be relative (5 minutes, 1 century) or absolute (15:00, Monday 16:50) (why absolute? may want to disable alarm until next shift, end of cycle, or similar - addresses common periodic events)
- Alarm disable reasons
- Add a 'Disable reason' radio selection to the alarm disable dialog box containing a set of predefined reasons from settings, or 'custom'
- To make this a non-breaking change, reasons can be null - but add an option to settings.ini to require operators to add a reason
- Change alarm tree to display disabled reason alongside 'Disabled'
- Change config dialog box to display disabled reason next to 'Enabled' (enabled checkbox will need to be moved)
Prototype:
- 主要言語
- Java
- スター
- 130
- フォーク
- 132
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 23
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ControlSystemStudio/phoebus のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
ControlSystemStudio/phoebus#3983 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ControlSystemStudio/phoebus#3979 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
ControlSystemStudio/phoebus#3962 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
ControlSystemStudio/phoebus#3865 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Audio annunciator unable to use audio files which have a space in their path対応中かも @LordIdra が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
ControlSystemStudio/phoebus#3992 ·
メンテナーはふだん 1 日以内に返信
ControlSystemStudio/phoebus の issue をすべて見る
似ている issue
-
Component - Build
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
navikt/mock-oauth2-server#1149 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
oracle/graalvm-reachability-metadata#11318 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Stirling-Tools/Stirling-PDF#8709 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area/config
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
quarkusio/quarkus#57910 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信