Full disclosure, I have no JAVA ecosystem knowledge at all.
So far I’ve been successfully implementing Camunda processes using the Docker image, Javascript, nodejs and the REST API, no problem at all.
However it looks like I need to use multi tenancy where the tenants can start shared processes and then things start to unravel for me! Looking at the github example at: https://github.com/camunda/camunda-bpm-examples/tree/master/multi-tenancy/tenant-identifier-shared-definitions I get lost at the point where it says "Implement the SPI TenantIdProvider"! How would I even do that with the Docker distibution? Is it possible at all with my limited knowldege of All things JAVA?
Can anyone help me decide if this this is even feasible with my limited skillset before I spend a week or so chasing a goal that’s out of my reach?
I’d like to enable different tenants to start a process that is available to all of them. The only other way I can see to do this is to upload the same process multiple times with a tenantID. The link I gave seemed like an explanation of how to achieve this but confounded me within the first few sentences!!
In the configuration of the call-activity you can use a expression in the tenant field. So you can calculate what tenant to use based on a input mapping and then use the expression in the tenant config to get the value from the mapped local variable/variable from the input mapping.
I seem to be going round in circles with this and back where I started.
It seems that I cannot start a process for a given tenant if that process is deployed without a tenant. So my previous success was because I had forgotten to delete a previous deployment.
I feel like I’m missing something - any suggestions?
Apologies for only spotting this nearly 2 years later! But for those still searching, we paid a Java contractor to write the code for this which looks surprisingly simple when you know what you are doing! The main thing to look out for is that if a user who starts a workflow belongs to more than one tenant then an override is needed in order for the correct tenant to be selected. What worked for us is to pass in a variable when starting a workflow which identifies the required tenant.