camunda-community-hub / zeebe-simple-tasklist Goto Github PK
View Code? Open in Web Editor NEWZeebe worker to manage manual/user tasks
License: Apache License 2.0
Zeebe worker to manage manual/user tasks
License: Apache License 2.0
I'm trying to run a simple tasklist using custom postgreql in docker compose with the following configuration:
but i get issue when i add user task to process. It looks like an error like this:
I've checked the db, the data has been inputted and nothing strange. I think there is a problem with the version db but for versions postgres:13.3-alpine and postgres:12.2 I get the same issue.
Everyone is there any suggestions for this case. Thankyou.
Hi,
For each user task, I have predefined a list of candidate groups. The is to enforce that only the user belong to the candidate group can claim and complete the task.
How can I set the candidate group once the user task is created?
A user tried this project and was wondering that it uses job workers instead of the REST API.
With the intro of the Zeebe REST API for task management and job worker-based tasks becoming outdated, we should highlight that users should not use this project as a starting guide.
When a task is claimed by user A then user B can see this task in its All Tasks
list.
A task is not listed in All Tasks
when another user is assigned to it.
Hi,
I am trying to have simple-takslist running on a different path then /
Therefore I have added:
- server.servlet.context-path=/tasklist
in the environment part of docker-compose.
It works, application is listening at /tasklist, but is giving the following layout:
So made more changes:
Changed the path’s in the the template files and mounted the changed template folder with docker-compose to /app/resources/templates. Changes that I made where e.g.
<form id="login-form" action="/tasklist/login" method="post">
in login.html
But also changes in header.html to add the right path.
that was already better, but adding a new user for example did not work, so I moved on to the .js files
changes to .js files, since creating user’s did not work anymore, so for example:
url: withSecurityToken('/tasklist/api/tasks/' + taskKey + '/claim'), url: withSecurityToken('/tasklist/api/users/'), url: withSecurityToken('/tasklist/api/users/' + username)
, in app.js and mounted to changes js folder to /app/resources/public/js
This resulted in a working app in /tasklist but only the login process did not work.
After login it does a wrong redirect (missing /tasklist prefix), if after login you change the path manually in the browser to the proper URL it works.
I suspect it is due to src/main/java/io/zeebe/tasklist/view/ViewController.java:
The RedirectView not respecting the path settings from server.servlet.context-path.
Thanks,
Maarten
Hi, I'm trying to run this simple tasklist locally using the docker compose instructions and I get a connectivity error between the tasklist worker and zeebe broker.
Using the latest main
branch, when I run this docker compose command
docker-compose --profile in-memory up
I get this error
zeebe-simple-tasklist-in-memory | 2023-05-04 11:01:15.174 WARN 1 --- [ault-executor-2] io.camunda.zeebe.client.job.poller : Failed to activate jobs for worker zeebe-simple-tasklist and job type io.camunda.zeebe:userTask
zeebe-simple-tasklist-in-memory |
zeebe-simple-tasklist-in-memory | io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
zeebe-simple-tasklist-in-memory | at io.grpc.Status.asRuntimeException(Status.java:535) ~[grpc-api-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:478) ~[grpc-stub-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:562) ~[grpc-core-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70) ~[grpc-core-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:743) ~[grpc-core-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:722) ~[grpc-core-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) ~[grpc-core-1.45.1.jar:1.45.1]
zeebe-simple-tasklist-in-memory | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
zeebe-simple-tasklist-in-memory | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
zeebe-simple-tasklist-in-memory | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
zeebe-simple-tasklist-in-memory | Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: zeebe/172.19.0.2:26500
zeebe-simple-tasklist-in-memory | Caused by: java.net.ConnectException: Connection refused
zeebe-simple-tasklist-in-memory | at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
zeebe-simple-tasklist-in-memory | at java.base/sun.nio.ch.Net.pollConnectNow(Unknown Source) ~[na:na]
zeebe-simple-tasklist-in-memory | at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source) ~[na:na]
zeebe-simple-tasklist-in-memory | at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[netty-transport-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:710) ~[netty-transport-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658) ~[netty-transport-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584) ~[netty-transport-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) ~[netty-transport-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.79.Final.jar:4.1.79.Final]
zeebe-simple-tasklist-in-memory | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
Note that the zeebe broker seems to have started up fine
...
zeebe_broker | 2023-05-04 11:00:09.727 [] [main] INFO
zeebe_broker | org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
zeebe_broker | 2023-05-04 11:00:09.729 [] [main] INFO
zeebe_broker | org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 13864 ms
Is anyone able to provide suggestions as to how to fix? I'm using the docker compose file from this repository https://github.com/camunda-community-hub/zeebe-simple-tasklist/blob/main/docker/docker-compose.yml
Perhaps I am missing some other setup that is required? Thanks very much
Hello! We had to make a few changes to our community's Maven deployment Action. Specifically, we updated the secret names and deployment credentials.
Please update to the latest release, v. 1.2.1, to make sure your Action works. Thank you!
Currently, the project uses a Zeebe client 0.26.x
. In order to support the new Zeebe/Camunda Cloud versions >= 1.0
, we need to update the Zeebe client.
Similar projects are already migrated, for example, camunda-community-hub/zeebe-simple-monitor#250.
Hey,
When you want to use this awesome project with k8s and need PostgreSQL, it's extremely hard to achieve without a prebuilt docker image that already contains the PostgreSQL driver preconfigured.
Can you please add to your release?
Thanks,
Dan
Since Zeebe 1.0.0, user tasks and task forms are supported: https://docs.camunda.io/docs/reference/bpmn-processes/user-tasks/user-tasks#user-task-forms
The task forms are a new part of the Camunda stack and can be modeled directly in the modeler: https://docs.camunda.io/docs/product-manuals/tasklist/userguide/camunda-forms
Replace the previous task forms and form fields with the official Camunda forms. The form viewer can be integrated as described here: https://github.com/bpmn-io/form-js/tree/master/packages/form-js-viewer
Since Zeebe 1.0.0, user tasks are supported: https://docs.camunda.io/docs/reference/bpmn-processes/user-tasks/user-tasks
In order to support user tasks, the app must watch for jobs of the type io.camunda.zeebe:userTask
.
The new job type replaces the previous job type user
.
If I understand the architecture properly, the data exported through Hazelcast is saved in memory (the list of tasks). Meaning if the app restarts all the data is lost?
If so, can Postgres be used?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.