Problem
Right now a deployment from Control can contain only one file: one BPMN or one DMN. Forms, HTML, scripts and images can't be deployed at all, although the deployment detail view can already display them.
This causes three problems:
- A process with subprocesses, decisions and forms has to be deployed as several separate deployments.
- References with
deployment binding (to a subprocess, decision or form) can't work, because they need the target resource in the same deployment.
- Resources that belong together can't be deleted or rolled back together.
Solution
Add a new "New deployment" screen, opened from the Deploy button in Deployments. It uploads any number of files and sends them to the engine as one deployment.
The Deploy buttons in Process definitions and Decision definitions open the same screen. The old single-file screens are removed.
Requirements
Upload
- Several files at once, via drag & drop or the file picker.
- Supported types: BPMN, DMN, Camunda Forms (
.form), HTML forms, scripts, images.
- Deploy is blocked for unsupported, duplicate or empty files, or when the size or number limit is exceeded.
- Individual files can be removed before deploying.
Deployment options
- Deployment name, by default taken from the first BPMN file.
- "Skip unchanged resources", i.e. duplicate filtering.
- Tenant and source are set automatically, as they are now.
File list and preview
- The list shows name, type, keys (process / decision / form) and status (OK / Warning / Error).
- Clicking a file opens its preview: diagram, decision table, form, or text.
Reference check
- For each uploaded BPMN, the screen finds its called subprocesses, decisions, forms and scripts, and shows where each one is found: in this deployment, already in the engine, or missing.
- A missing resource with
deployment binding is an Error and blocks deploy. With other bindings it is a Warning only.
- Duplicate process, decision or form keys within one deployment are an Error.
Confirmation and result
- The confirmation dialog lists what will be created, split by type: new definition or new version.
- If the engine rejects any file, nothing is deployed. Errors are shown per file, and the failing files are highlighted.
- On success, the user is taken to the details of the created deployment, with a summary like "X processes, Y decisions, Z forms".
Permissions
- The button is shown to users who can deploy processes or decisions.
- BPMN files require the process deploy permission; DMN files require the decision deploy permission. No new roles or permissions are added.
Other
- Implement in both Community and Enterprise.
- Add translations (EN, DE, ES, RU) and update the documentation.
Acceptance criteria
- The Deployments list has a Deploy button. Users without deploy permissions don't see it.
- Uploading 2 BPMN files (one calls the other), 1 DMN and 1 form creates one deployment with 4 resources.
- A form referenced with
deployment binding but not uploaded blocks deploy. After the form is added, the error disappears.
- A decision that already exists in the engine is shown as found, with no warning.
- Two BPMN files with the same process key block deploy.
- If one file is invalid, nothing is deployed and the errors are shown for that file.
- Re-deploying an unchanged set with "Skip unchanged resources" on creates no new versions.
- A user with only the decision deploy permission can deploy DMN + form, but not BPMN.
- Deploying a single file works as before.
Out of scope
- ZIP upload.
- Automatically adding related resources from the engine.
Open questions
- Remove the old deploy screens right away, or keep them for one release?
- Should a missing reference with
latest binding block deploy, or only warn?
Problem
Right now a deployment from Control can contain only one file: one BPMN or one DMN. Forms, HTML, scripts and images can't be deployed at all, although the deployment detail view can already display them.
This causes three problems:
deploymentbinding (to a subprocess, decision or form) can't work, because they need the target resource in the same deployment.Solution
Add a new "New deployment" screen, opened from the Deploy button in Deployments. It uploads any number of files and sends them to the engine as one deployment.
The Deploy buttons in Process definitions and Decision definitions open the same screen. The old single-file screens are removed.
Requirements
Upload
.form), HTML forms, scripts, images.Deployment options
File list and preview
Reference check
deploymentbinding is an Error and blocks deploy. With other bindings it is a Warning only.Confirmation and result
Permissions
Other
Acceptance criteria
deploymentbinding but not uploaded blocks deploy. After the form is added, the error disappears.Out of scope
Open questions
latestbinding block deploy, or only warn?