Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support user task listeners #4590

Closed
11 tasks done
barmac opened this issue Oct 8, 2024 · 13 comments · Fixed by #4711
Closed
11 tasks done

Support user task listeners #4590

barmac opened this issue Oct 8, 2024 · 13 comments · Fixed by #4711
Assignees
Labels
Camunda 8 Flags an issue as related to Camunda 8 modeling
Milestone

Comments

@barmac
Copy link
Collaborator

barmac commented Oct 8, 2024

What should we do?

Implement user task listeners in Camunda 8

<userTask id="my_user_task" name="my_user_task">
 <extensionElements>
   <zeebe:userTask/>
   <zeebe:taskListeners>
     <zeebe:taskListener eventType="create" type="create_listener" retries="2"/>
     <zeebe:taskListener eventType="assignment" type="assignment_listener"/>
     <zeebe:taskListener eventType="update" type="update_listener" retries="8"/>
     <zeebe:taskListener eventType="complete" type="complete_listener"/>
   </zeebe:taskListeners>
   <zeebe:priorityDefinition/>
   <!--other extension props e.g. assignmentDefinition, priorityDefinition-->
 </extensionElements>
 <!--other props-->
</userTask>
  • I can define task listeners on user task
    • type (string, FEEL expression)
    • eventType: complete, assignment
    • retries (string, FEEL expression, default is 3)
  • TLs can be used in Camunda 8.7 or newer
  • When I switch from Zeebe user task to job worker, the task listeners are removed

Projects:

Why should we do it?

Product hub epic: https://github.com/camunda/product-hub/issues/1316

@barmac barmac added Camunda 8 Flags an issue as related to Camunda 8 modeling labels Oct 8, 2024
@nikku nikku added the needs more information Requires additional information to be actionable. label Oct 9, 2024
@barmac
Copy link
Collaborator Author

barmac commented Oct 17, 2024

This is blocked until we clarify the XML structure: https://camunda.slack.com/archives/C0622NWC9LK/p1729161860084329

@barmac
Copy link
Collaborator Author

barmac commented Oct 17, 2024

We clarified the XML structure, but the list of event types needs to be decided upon yet: https://github.com/camunda/product-hub/issues/1822#issuecomment-2419645986

@barmac
Copy link
Collaborator Author

barmac commented Oct 30, 2024

The duplicate listeners won't be rejected by the engine as decided in https://camunda.slack.com/archives/C0622NWC9LK/p1729762326243379?thread_ts=1729176573.663119&cid=C0622NWC9LK
We may consider to have a warning though as it's hard to imagine anybody defines duplicates on purpose.

@barmac
Copy link
Collaborator Author

barmac commented Oct 30, 2024

I updated the event types according to https://camunda.slack.com/archives/C0622NWC9LK/p1730303397300139?thread_ts=1730288591.575289&cid=C0622NWC9LK
Note that the stretch goal is to support more events, so it's not fixed yet.

@barmac
Copy link
Collaborator Author

barmac commented Oct 31, 2024

@barmac barmac added ready Ready to be worked on and removed needs more information Requires additional information to be actionable. labels Oct 31, 2024
@barmac
Copy link
Collaborator Author

barmac commented Oct 31, 2024

This is ready now.

@nikku nikku added this to the 8.7 milestone Nov 4, 2024
@barmac barmac mentioned this issue Nov 5, 2024
3 tasks
misiekhardcore added a commit to camunda/zeebe-bpmn-moddle that referenced this issue Nov 6, 2024
misiekhardcore added a commit to camunda/zeebe-bpmn-moddle that referenced this issue Nov 6, 2024
misiekhardcore added a commit to camunda/zeebe-bpmn-moddle that referenced this issue Nov 6, 2024
@misiekhardcore misiekhardcore added the in progress Currently worked on label Nov 6, 2024 — with bpmn-io-tasks
@misiekhardcore misiekhardcore removed the ready Ready to be worked on label Nov 6, 2024
misiekhardcore added a commit to camunda/zeebe-bpmn-moddle that referenced this issue Nov 6, 2024
@barmac
Copy link
Collaborator Author

barmac commented Nov 6, 2024

We could use this BPMN as an example to open once the feature is implemented:

user-task-listener.bpmn.txt

@misiekhardcore
Copy link
Contributor

@barmac what do you mean? where do you want to put this file?

@barmac
Copy link
Collaborator Author

barmac commented Nov 7, 2024

I prepared this as an example BPMN (cf. https://camunda.slack.com/archives/C0622NWC9LK/p1730909451217819). There's no need to include it anywhere in the source code, but we can use it as way to verify the solution.

misiekhardcore added a commit to bpmn-io/bpmn-js-properties-panel that referenced this issue Nov 7, 2024
misiekhardcore added a commit to bpmn-io/bpmn-js-properties-panel that referenced this issue Nov 7, 2024
misiekhardcore added a commit to bpmn-io/bpmn-js-properties-panel that referenced this issue Nov 7, 2024
@barmac
Copy link
Collaborator Author

barmac commented Nov 7, 2024

We could use this BPMN as an example to open once the feature is implemented:

user-task-listener.bpmn.txt

The file was broken, but replaced it with a fixed one.

misiekhardcore added a commit to bpmn-io/bpmn-js-properties-panel that referenced this issue Nov 7, 2024
misiekhardcore added a commit to camunda/linting that referenced this issue Nov 18, 2024
misiekhardcore added a commit to camunda/linting that referenced this issue Nov 18, 2024
misiekhardcore added a commit to camunda/linting that referenced this issue Nov 18, 2024
misiekhardcore added a commit to camunda/linting that referenced this issue Nov 18, 2024
@barmac barmac modified the milestones: 8.7, M83 Nov 18, 2024
@misiekhardcore
Copy link
Contributor

@barmac All the parts of this issue are now done. What are the next steps?

@barmac
Copy link
Collaborator Author

barmac commented Nov 18, 2024

As the feature is implemented in the upstream libraries, we can now move the issue to fixed upstream. Then, to close it, we will need to open and merge a pull request which integrates the respective dependency updates into the Modeler.

@misiekhardcore misiekhardcore added the fixed upstream Requires integration of upstream change label Nov 18, 2024 — with bpmn-io-tasks
@misiekhardcore misiekhardcore removed the in progress Currently worked on label Nov 18, 2024
nikku added a commit that referenced this issue Nov 18, 2024
barmac pushed a commit to camunda/camunda-bpmn-js that referenced this issue Nov 19, 2024
barmac pushed a commit to camunda/camunda-bpmn-js that referenced this issue Nov 19, 2024
@barmac
Copy link
Collaborator Author

barmac commented Nov 19, 2024

I will open an integration PR for this once #4620 is merged.

nikku added a commit that referenced this issue Nov 20, 2024
  Makes the panel focusable.

deps: bump to `[email protected]`

  Related to #4590
@barmac barmac mentioned this issue Nov 21, 2024
4 tasks
jarekdanielak pushed a commit that referenced this issue Nov 21, 2024
  Makes the panel focusable.

deps: bump to `[email protected]`

  Related to #4590
jarekdanielak pushed a commit that referenced this issue Nov 21, 2024
  Makes the panel focusable.

deps: bump to `[email protected]`

  Related to #4590
nikku added a commit that referenced this issue Nov 21, 2024
  Makes the panel focusable.

deps: bump to `[email protected]`

  Related to #4590
barmac added a commit that referenced this issue Nov 21, 2024
@bpmn-io-tasks bpmn-io-tasks bot added in progress Currently worked on needs review Review pending and removed fixed upstream Requires integration of upstream change in progress Currently worked on labels Nov 21, 2024
barmac added a commit that referenced this issue Nov 21, 2024
@bpmn-io-tasks bpmn-io-tasks bot removed the needs review Review pending label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Camunda 8 Flags an issue as related to Camunda 8 modeling
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants