Skip to content

Desktop modeler start form#1198

Draft
MrGussio wants to merge 6 commits intobpmn-io:mainfrom
MrGussio:desktop-modeler-start-form
Draft

Desktop modeler start form#1198
MrGussio wants to merge 6 commits intobpmn-io:mainfrom
MrGussio:desktop-modeler-start-form

Conversation

@MrGussio
Copy link
Copy Markdown

@MrGussio MrGussio commented Feb 18, 2026

Proposed Changes

Closes #1196 by enabling the "Form" group property in case the element is either a user task, or a start event (but not if the start event is part of a sub process)

This is in line with the cloud/platform providers in this repository.

Screenshot in desktop modeler:
image

Screenshot from this repo's npm run start:
image

To try out:

  1. Run npm run start
  2. Click on a start event
  3. See that there is now a section where you can specify the form to use upon starting a form

Checklist

Ensure you provide everything we need to review your contribution:

  • Contribution meets our definition of done
  • Pull request establishes context
    • Link to related issue(s), i.e. Closes {LINK_TO_ISSUE} or Related to {LINK_TO_ISSUE}
    • Brief textual description of the changes
    • Screenshots or short videos showing UI/UX changes
    • Steps to try out, i.e. using the @bpmn-io/sr tool

Copilot AI review requested due to automatic review settings February 18, 2026 10:41
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Feb 18, 2026

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables the Zeebe “Form” properties group for process-level start events (excluding start events inside subprocesses), aligning Desktop Modeler behavior with other providers in the repository and addressing #1196.

Changes:

  • Add isFormSupported utility to allow forms for bpmn:UserTask and top-level bpmn:StartEvent.
  • Update Zeebe FormProps to use isFormSupported instead of restricting to user tasks only.
  • Extend the Zeebe Forms test fixture BPMN and add start-event-related specs.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
test/spec/provider/zeebe/Forms.spec.js Adds start event form tests, but currently contains a duplicated full “user tasks” test suite.
test/spec/provider/zeebe/Forms.bpmn Extends the BPMN fixture with additional zeebe:userTaskForm entries and start events for testing.
src/provider/zeebe/utils/FormUtil.js Introduces isFormSupported (user tasks + process-level start events).
src/provider/zeebe/properties/FormProps.js Uses isFormSupported to determine whether to show form entries.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/provider/zeebe/utils/FormUtil.js
Comment thread test/spec/provider/zeebe/Forms.bpmn Outdated
Comment on lines +832 to +836
});

describe('user tasks', function () {
describe('form type', function () {
it('should display - embedded form', inject(async function (elementRegistry, selection) {
Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The entire describe('user tasks' ...) test suite appears duplicated: one block ends around line 832 and another starts again at line 834. This adds a lot of redundant test execution and makes the spec harder to maintain; please remove the duplicate block (keep a single copy).

Copilot uses AI. Check for mistakes.
Comment thread test/spec/provider/zeebe/Forms.spec.js Outdated
@barmac
Copy link
Copy Markdown
Member

barmac commented Feb 19, 2026

Hi,
Thanks for opening the pull request. While this moves the topic forward, we cannot merge it as is for a couple of reasons:

  1. Start event forms don't support binding property yet. The support needs to be added in Camunda yet.
  2. We don't want to embrace embedded forms as it's a legacy pattern. So only linked forms should be allowed.

Since there is a Camunda dependency, we will need to postpone this PR. However, the feature request is tracked, so we should get back to it soon.

@barmac barmac added the backlog Queued in backlog label Feb 19, 2026
@barmac barmac marked this pull request as draft February 19, 2026 15:53
@bpmn-io-tasks bpmn-io-tasks Bot removed the backlog Queued in backlog label Feb 19, 2026
@barmac
Copy link
Copy Markdown
Member

barmac commented Feb 19, 2026

Related comment: camunda/camunda-modeler#4672 (comment)

@barmac barmac added the backlog Queued in backlog label Feb 19, 2026 — with bpmn-io-tasks
@MrGussio
Copy link
Copy Markdown
Author

@barmac Thanks for your reply. Hmm, never noticed this, but not only Tasklist but the entire API endpoint behind it does not take form versions into account, but always retrieves the latest form instead.

Found this issue in the Camunda backlog which I think describes the required feature. Linking it here for reference: camunda/camunda#20067

@Balazs-PM Balazs-PM marked this pull request as ready for review March 17, 2026 13:06
@Balazs-PM Balazs-PM requested review from a team, barmac and jarekdanielak March 17, 2026 13:06
@bpmn-io-tasks bpmn-io-tasks Bot removed the backlog Queued in backlog label Mar 17, 2026
@Balazs-PM Balazs-PM marked this pull request as draft March 17, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add start event forms

4 participants