HiveMQ Edge is an MQTT gateway that enables interoperability between OT devices and IT systems. It translates diverse protocols into MQTT for streamlined communication and helps organize data into a unified namespace, making managing and streaming data across your infrastructure easier.
This PR is an enabler for the full integration of the policy designer with the API. It provides a UX for running validity checks on an existing policy (both Data Policy and Behaviour Policy), verifying that every "node" in the designer is properly configured and building a valid payload ready for requests.
The validity check process is based on walking the graph from a target policy until all connected nodes are discovered
Starting from the policy, each connected node is checked for its correctness, both internal configuration (e.g. the model for a Behavior Policy node) and connectivity with other dependencies (e.g. a Client Filter for a Behavior Policy node).
On the canvas, nodes being processed are marked on the fly with appropriate visual feedback showing in progress, valid or error
Error messages are generated for every misconfiguration
if there is no error, a JSON payload matching the node to the relevant part of the API request is generated
For the relevant nodes (e.g. a transform operation), the required "resources" (e.g. the Schema nodes for serialiser/deserialiser and the JS Script for the functions) are also verified and they payload generated
When the process is complete (all connected nodes have been checked), a report is produced
If fully valid, all the collected payloads are combined and now ready to be used with the appropriate API endpoint(s)
if errors are present in the report, a list is provided to the users, with a description and links to both the node on the graph and its configuration panel
Out-of-scope
the current UX for the check report, using a toast, is not satisfactory from a usability and acceptability point-of-view. A better alternative has been proposed and will be implemented in a further ticket, see https://hivemq.kanbanize.com/ctrl_board/57/cards/19334/details/
See https://hivemq.kanbanize.com/ctrl_board/57/cards/19240/details/
This PR is an enabler for the full integration of the policy designer with the API. It provides a UX for running validity checks on an existing policy (both Data Policy and Behaviour Policy), verifying that every "node" in the designer is properly configured and building a valid payload ready for requests.
https://www.loom.com/share/4014b86e1cfe4c90a8bec6a884a10201?sid=488cc87e-dc16-475b-b427-9a1e474ad94b
Design
model
for aBehavior Policy
node) and connectivity with other dependencies (e.g. aClient Filter
for aBehavior Policy
node).in progress
,valid
orerror
transform
operation), the required "resources" (e.g. theSchema
nodes forserialiser
/deserialiser
and theJS Script
for the functions) are also verified and they payload generatedOut-of-scope
After