kasemir / org.csstudio.display.builder

Update of org.csstudio.opibuilder.*
Eclipse Public License 1.0
2 stars 10 forks source link

Alarms widgets and beast:// protocol #490

Open claudio-rosati opened 5 years ago

claudio-rosati commented 5 years ago

I was asked to have 2 widgets dealing with alarms:

It seems that the last request widget cannot currently be implemented with a standard Action Button because the beast:// protocol is not supported in Display Builder, but it is in BOY (and Probe, for example). Is this related to not using DIIRT? Can be solved moving to the new GP Client?

kasemir commented 5 years ago

There's the RCP-hosted display builder and the Phoebus-hosted version. There's the alarm system using JMS & RDB, and the one using Kafka. In principle, this could result in 2x2 possible combinations, but in practice I think we only see either the RCP-hosted tools using the JMS & RDB alarm system, or the Phoebus-hosted tools with Kafka-based alarm system.

Which one do you plan to address?

For RCP/JMS/RDB, check org.csstudio.display.builder.runtime.pv. I've implemented org.csstudio.display.builder.runtime.pv.vtype_pv, but nothing keeps you from implementing org.csstudio.display.builder.runtime.pv.pv_manager. You can also add a new RCP plugin for a display builder widget that interfaces with JMS/RDB to show a table.

For Phoebus/Kafka, the alarm system is a little easier to interface because it's all based on Kafka streams. So there you could again add a module for alarm widgets: Table that shows alarms, buttons that show numbers. I would NOT use PVs for that, because tunnelling the info through VType just isn't practical. Creating a new VTable every time the current severity of one alarm changes is overkill, so I'd directly interface with Kafka.

claudio-rosati commented 5 years ago

OK, thank you. I think I'll do the Phoebus one as soon as I'll be ready to move to Phoebus (I still have to understand how to create the Jenkins pipeline building everything and pushing the artifacts to our Artifactory server fro the automatic deployment in the control room).