Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-13330

I can reference a FormHandler by resolving a bean via JUEL Expression

    • Icon: Feature Request Feature Request
    • Resolution: Won't Fix
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • None
    • None

      User Story (Required on creation):

      I can use an expression to reference a form handler bean on a start event or a user task. Currently, it is only possible to reference a FormHandler by providing the class name with the help of the property formHandlerClass.

      Functional Requirements (Required before implementation):

      A bean of type FormHandler can be referenced via JUEL Expression.

      Technical Requirements (Required before implementation):

      Solution ideas:

      • The formHandlerClass property supports a JUEL expression to resolve a bean
        • Pros
          • Might be relatively simple to implement; see PR [1]
            • The code changes in the codebase are relatively straight-forward
          • Documentation effort is low
        • Cons
          • Might be confusing since the name suggests to reference a Java class
      • A new property formHandlerDelegateExpression is added which allows resolving a bean via JUEL expression
        • Pros
          • Would be consistent with other properties (e.g., expression vs. delegateExpression, variableMappingClass vs. variableMappingDelegateExpression)
          • It is immediately clear what the property does just by looking at its name
        • Cons
          • Higher effort due to more code changes that need to be tested and more to document

      Limitations of Scope (Optional):

      Hints (Optional):

      See PR of prototypical implementation [1]

      Original Ticket submitted by reporter

      Summary

      User Task Form Submission Validation Delegate Support

      Description

      Currently you can set a From Key on a User Task.  This field supports expressions/delegation.

      But there is no support for Validation of the Form Submission.

       

      It would be great if a additional config was added to user task called something like "Form Submission Delegate", which would route the form submission to the delegate for validation.

       

      The internals of the api and code flow would be near identical to the internals/private apis of the Form Field Validation capabilities, but would move it to the public api level as a delegate.

       

      Benefit: People could configure form validation and thus control submission of data. 

      [1] https://github.com/camunda/camunda-bpm-platform/pull/1401

        This is the controller panel for Smart Panels app

            [CAM-13330] I can reference a FormHandler by resolving a bean via JUEL Expression

            Here is a PR with a proposed solution:

             

            https://github.com/camunda/camunda-bpm-platform/pull/1401

            Stephen Russett added a comment - Here is a PR with a proposed solution:   https://github.com/camunda/camunda-bpm-platform/pull/1401

            Tassilo Weidner added a comment - Modeler Issue: https://github.com/camunda/camunda-modeler/issues/2206

            Hi StephenOTT,

            Nice catch: the property handlerFormClass is indeed missing in Camunda Modeler.
            Thank you for raising the issue already in the Modeler's project.  

            I have qualified your feature request and agree with you that it would be a cool feature to add.

            I'll forward it to our product management for decision-making.

            Best,
            Tassilo

            Tassilo Weidner added a comment - Hi StephenOTT , Nice catch: the property handlerFormClass is indeed missing in Camunda Modeler. Thank you for raising the issue already in the Modeler's project.   I have qualified your feature request and agree with you that it would be a cool feature to add. I'll forward it to our product management for decision-making. Best, Tassilo

            Hi StephenOTT,

            For this issue, the same I commented here applies.

            Please contribute a handlerFormDelegateExpression attribute to our codebase with the following acceptance criteria:

            • The property is added to the Camunda BPMN Model API
            • Adaptation of the engine (allow parsing & execution)
              • There are tests that ensure the functionality
              • Documentation exists

            Feel free to approach me whenever you have questions on any matter during implementation.

            Also, please mention the JIRA ticket whenever you create pull requests on GitHub which are already related to a ticket. Otherwise, another team member (community worker of the week) has to qualify the PR again and creates a duplicate ticket.

            Best,
            Tassilo

            Tassilo Weidner added a comment - Hi StephenOTT , For this issue, the same I commented here applies. Please contribute a handlerFormDelegateExpression attribute to our codebase with the following acceptance criteria: The property is added to the Camunda BPMN Model API There are tests that ensure the functionality Documentation exists Adaptation of the engine (allow parsing & execution) There are tests that ensure the functionality Documentation exists Feel free to approach me whenever you have questions on any matter during implementation. Also, please mention the JIRA ticket whenever you create pull requests on GitHub which are already related to a ticket. Otherwise, another team member (community worker of the week) has to qualify the PR again and creates a duplicate ticket. Best, Tassilo

            Updates added to the PR.  awaiting your comment on code and test requirements.  (see pr)

            Stephen Russett added a comment - Updates added to the PR.  awaiting your comment on code and test requirements.  (see pr)

            Hi StephenOTT,

            please find my review hints on the PR.

            Tassilo Weidner added a comment - Hi StephenOTT , please find my review hints on the PR.

            Hi StephenOTT,

            are you still interested in pushing this PR forward?

            Tassilo Weidner added a comment - Hi StephenOTT , are you still interested in pushing this PR forward?

            Hi StephenOTT,

            Let me know if you are still interested in working on this feature request.
            Otherwise, I'll close your PR and forward this feature request for decision-making.

            Best,
            Tassilo

            Tassilo Weidner added a comment - Hi StephenOTT , Let me know if you are still interested in working on this feature request. Otherwise, I'll close your PR and forward this feature request for decision-making. Best, Tassilo

            Hi StephenOTT,

            I agree with Tassilo that this feature generally makes sense in the scope of the product.
            We will however not be able to work on this ourselves in the near future.
            Please continue with the PR according to Tassilo's suggestions if you're still interested in finishing this up.

            Best,
            Tobias

            Tobias Metzke-Bernstein added a comment - Hi StephenOTT , I agree with Tassilo that this feature generally makes sense in the scope of the product. We will however not be able to work on this ourselves in the near future. Please continue with the PR according to Tassilo's suggestions if you're still interested in finishing this up. Best, Tobias

            We are closing this ticket as part of our backlog grooming. Reasons:

            • We did not receive sufficient evidence that this ticket is important

            Thorben Lindhauer added a comment - We are closing this ticket as part of our backlog grooming. Reasons: We did not receive sufficient evidence that this ticket is important

              Unassigned Unassigned
              StephenOTT Stephen Russett
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: