I closed #397 for Orbeon Forms 2019.1 as the 2018 action syntax supports calling a given service from multiple actions. So in a sense the RFE was satisfied.
But we'd still like this in the UI. However, it might take a while until we can have a full-fledged UI (#1298).
So the question is: could we, in the meanwhile, relax the constraint in the current actions UI that service be used only by one action?
We cannot just relax the UI constraint, as the actions edited by the current actions UI are encoded as <xf:action> containers that listen to xforms-submit-done events. If two actions A1 and A2 call the same service S1 (via <xf:send>), then action A1 triggering service S1 will cause the action response for both A1 and A2 to run.
On the other hand, the 2018 action syntax properly encodes continuations for this to work properly.
Bottom line: we need to use the 2018 actions runtime in this case. This means we need to implement #3855.
Once this is done, we can just relax the condition in Form Builder and things should work.
I closed #397 for Orbeon Forms 2019.1 as the 2018 action syntax supports calling a given service from multiple actions. So in a sense the RFE was satisfied.
But we'd still like this in the UI. However, it might take a while until we can have a full-fledged UI (#1298).
So the question is: could we, in the meanwhile, relax the constraint in the current actions UI that service be used only by one action?
We cannot just relax the UI constraint, as the actions edited by the current actions UI are encoded as
<xf:action>
containers that listen toxforms-submit-done
events. If two actions A1 and A2 call the same service S1 (via<xf:send>
), then action A1 triggering service S1 will cause the action response for both A1 and A2 to run.On the other hand, the 2018 action syntax properly encodes continuations for this to work properly.
Bottom line: we need to use the 2018 actions runtime in this case. This means we need to implement #3855.
Once this is done, we can just relax the condition in Form Builder and things should work.