Add support for controlled GEM FSM applications
Description
In the current software, it is impossible to declare that a GEM FSM application is controlled by another one. This makes operations more delicate and error-prone since the user (DOC) can mistakenly trigger a state transition in an application that is itself controlled.
There should be a configuration option to declare that an application is controlled. Typical examples are:
- The GEM function manager controlling the GEM supervisor
- The GEM supervisor controlling the GEM managers
As a reaction, the buttons should be greyed out/disabled in the web interface. An optional button/tick box could be added to re-enable manual control for expert users. At the moment, there is no need to implement leases as done in the TCDS.
The configuration property can be statically or dynamically modified by the controlling application.
Possible fixes
- Add a configuration property for the
GEMFSMApplications
- Use the configuration property value to grey out/disable the state transition commands in the web interface
- Adapt the configurations, including the ones in https://gitlab.cern.ch/cmsgemonline/gem-daq/cmsgemos-configs, to use the new feature