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

Add element templates support for Connectors story #540

Closed
4 tasks
Tracked by #2640
MaxTru opened this issue Jan 13, 2022 · 8 comments · Fixed by #555
Closed
4 tasks
Tracked by #2640

Add element templates support for Connectors story #540

MaxTru opened this issue Jan 13, 2022 · 8 comments · Fixed by #555
Assignees

Comments

@MaxTru
Copy link
Contributor

MaxTru commented Jan 13, 2022

What should we do?

Implement pragmatic element templates support for Zeebe matching the first Connectors User Story.

Cf. Rest connector example

  • support zeebe:taskDefinition:type binding (minimum Hidden)
  • support zeebe:taskHeader binding (minimum String & Dropdown)
  • support zeebe:input binding (minimum String)
  • support zeebe:output binding (minimum String)

What is out of scope for now, but will be interesting in the next iterations

WIP branches

Why should we do it?

To support the Connectors Project

Goals:

  • Implement pragmatic support for element template descriptor to be provided by the Connectors team (DRI @nikku )
  • Have this support ready ASAP as "end-2-end durchstich"

Non-Goals:

  • Update of schema
  • Update of schema-validation
  • Logic to distinguish Platform or Zeebe templates and filter accordingly
  • Refactoring of element templates architecture (given that we re-use element-templates for zeebe, this may be needed in the future)

Context

Child of camunda/camunda-modeler#2640

@MaxTru MaxTru added the ready Ready to be worked on label Jan 14, 2022
@bpmn-io-tasks bpmn-io-tasks bot added in progress Currently worked on and removed ready Ready to be worked on labels Jan 14, 2022
@pinussilvestrus
Copy link
Contributor

As shared yesterday I created a first spike on it, only supporting basic BPMN properties for now.

This gives already some clarity on which parts can easily be reused, which things have to be added (zeebe moddle descriptors, custom properties), and which things need to be refactored later (making template properties groups reusable to prevent duplications).

Looking forward to the descriptors to be added 👍

Kapture 2022-01-14 at 14 46 42

@nikku
Copy link
Member

nikku commented Jan 14, 2022

@pinussilvestrus I was wondering: What is our take on modelerTemplate and modelerTemplateVersion properties which are currently in the Camunda Platform namespace?

Shall these remain in the platform namespace? Shall these move to the modeler-moddle or camunda-cloud namespace?

@pinussilvestrus
Copy link
Contributor

I thought about this one and would probably go for adding these in zeebe-bpmn-moddle as well, having it in both worlds. Because

a) removing them from camunda: namespace would mean a breaking change for older templates, and we would need to come up with a migration strategy. That's doable for sure, but maybe not necessary.
b) keeping camunda:only and using them in the C8 editor would follow in mixed namespaces, I think we should avoid it.

If we decide to have it in both namespaces, we have to handle these carefully, since some things are tightly coupled. Tbh, I don't like these properties as they are - namewise, but also that they stick to camunda: - but due to being compatible in the future, I'd probably keep things simple.

@pinussilvestrus
Copy link
Contributor

That's obviously up for discussion, I did not make a decision for myself yet 🙂

@nikku
Copy link
Member

nikku commented Jan 14, 2022

I thought about this one and would probably go for adding these in zeebe-bpmn-moddle as well

👍 for that.

@nikku
Copy link
Member

nikku commented Jan 20, 2022

Added sketch of first element template needed via https://github.com/camunda/example-invoice-connectors/pull/8.

@nikku
Copy link
Member

nikku commented Jan 20, 2022

Contributed initial REST connector via https://github.com/camunda/example-invoice-connectors/pull/8.

@pinussilvestrus pinussilvestrus changed the title Implement pragmatic element templates support for Zeebe matching the first Connectors User Story Add element templates support for Connectors story Jan 24, 2022
pinussilvestrus pushed a commit to camunda/zeebe-bpmn-moddle that referenced this issue Jan 24, 2022
@pinussilvestrus
Copy link
Contributor

After chatting with @MaxTru we decided that we will de-scope the optional property for inputs & outputs since it is not a hard requirement for the first iteration. We'd rather bring the bindings support out of the door (cf. #555), and build further features in a constructive manner.

I created a separate issue to track this: #559

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 a pull request may close this issue.

3 participants