Closed ultraschuppi closed 4 years ago
Solution I would propose:
=
)=> This way we can ensure that there will always be a Feel expression like value in the Subscription Correlation Key field. When a user enters a value without a starting =
that value would not be committed / save (due to validation error).
Will need to check with Zeebe team what a appropriate default value would be.
Prefill the subscription correlation key with some value, that would not lead to an error in the Zeebe engine
I don't think we should fill a correlation key randomly, there is no sane default as this depends on the variables the user adds to the process.
IMHO I think we should validate that field and make sure that the process model does not contain any unreferenced message elements
/cc @saig0 can you share you opinion please :cookie:
The solution I outlined in https://github.com/zeebe-io/zeebe-modeler/issues/272#issuecomment-726730661 would be a "quick fix".
If there is no sane default then we would need IMO the following solution:
Note that the "Delete the message" functionality is not present in the Properties Panel (ie. see https://github.com/camunda/camunda-modeler/issues/136). Therefore we would be blocked for this issue as of now. But note that there is activity to add this "deletion" functionality (see https://github.com/camunda/camunda-modeler/issues/1930)
We can validate the field to be a FEEL expression (starting with =
) or go on improving the overall FEEL support: https://github.com/zeebe-io/zeebe-modeler/issues/253.
Also, I have a feeling we mixing some things up inside this issue a) creating valid FEEL expressions for the correlation key b) messages can't be deleted / won't be deleted after task is gone
We should keep this issue focus on the first one and create another one for the second issue.
I'm okay with all the suggestions. We should have validation for the field. We can prefill it, for example with = key
, or leave it blank. Until we have a dedicated solution for this kind of field, I like the idea of prefilling it. So, the user sees how it should look like. But I'm not a UX expert :)
My concern with prefilling it with a valid expression like = key
is that it can be deployed by the user and then will lead to an incident on runtime, without the user understanding what happend I assume.
Let's not pre-fill it but go for validation within the panel instead. :arrow_right: it should be visible immediately to the user that something is missing as she creates the message.
Mid-term we'll likely add linting and deployment feedback to make these issues even more visible.
Okay, so concluding from what we discussed. We can do the following things:
=
followed by a charcter-sequence. (More sophisticated FEEL parsing could be a second step). [This can be done rather easily] (#275)=> I created separate issue for to make the progress and next steps clearer. I will close this issue. Please feel free to re-open in case you feel something is missing / got lost.
Describe the Bug
<bpmn:message>
entries are not deletable OR it is possible to create invalid<bpmn:messages>
Steps to Reproduce
subscription correlation key
(here:wurst
)despite my model is not using the created message, it is still part of the model and therefor not deployable
Expected Behavior
it should not be possible to create messages with invalid payload messing my model w/o even using it
Environment