Skip to content
This repository has been archived by the owner on Dec 2, 2021. It is now read-only.

Implement Camunda Platform Properties #2

Closed
98 tasks done
barmac opened this issue Jul 2, 2021 · 17 comments
Closed
98 tasks done

Implement Camunda Platform Properties #2

barmac opened this issue Jul 2, 2021 · 17 comments
Assignees
Milestone

Comments

@barmac
Copy link
Member

barmac commented Jul 2, 2021

Implement Camunda Platform Properties

Goal

As a developer implementing BPMN, I want to use Camunda Platform specific properties in the properties panel.

What should we do?

Migrate groups with Camunda Platform properties.

Why should we do it?

We want to use the properties panel in Camunda Modeler / Camunda Platform BPMN tab.

Potential for user tests

Once we implement a significant number of Camunda Platform properties, we can test their discoverability.

Maybe we want to re-arrange the items.

Update @pinussilvestrus (22nd July): We want to do it rather sooner than later (cf. https://github.com/bpmn-io/internal-docs/issues/330)

How to proceed

Because the list is so long, I have decided to not create issue for each group up front. Let's keep it tidy as the list already allows to track the progress.

Here's the flow how to work on this epic:

  1. Pick up a group or a selected item from the group.
  2. Convert it to an issue using the recent GitHub feature (issue from list item).
  3. Implement it. Once the issue is closed, GitHub will automatically mark the item as done.

To clarify basic questions during the translation from old to new properties panel, please check the Summary of principles for current Properties Panel development

About the structure of the new panel, please check https://github.com/camunda/camunda-modeler-design/issues/27

Context

@barmac barmac self-assigned this Jul 2, 2021
@barmac barmac added the ready label Jul 5, 2021 — with bpmn-io-tasks
@pinussilvestrus

This comment has been minimized.

@barmac

This comment has been minimized.

@pinussilvestrus

This comment has been minimized.

@barmac
Copy link
Member Author

barmac commented Jul 7, 2021

I have updated the list with the remaining properties. This should be complete now.

@MaxTru
Copy link
Contributor

MaxTru commented Jul 8, 2021

Should we in the epic also indicate how the structure changes with the implementation? (I think this mainly affects the details group)

Example: I think the Details Group should be split up.

Why:

  • The new properties panel has the groups collapsed per default. Data Markers would show if a group is filled or not.
  • If therefore makes sense to make the groups as small as possible (combining only what from an implementation perspective belongs together)
  • I think a generic label as-is (details) is not helpful from a UX perspective / does not guide the user

as-is

Migrate details group
 Service Task delegate props (several props inside)
 User Task props (several props inside)
 Script Task props
 Link props
 Call Activity props
 Event props (several props inside)
 Error props
 Conditional props
 Start Event initiator

to-be (example)

Old structure group Old structure item New structure group
Details Service Task Delegate Delegate
Details User Task Props User Assignment
Details Script Task Props Script
Details Link props Link
Details ... ...
Details ... ...

@barmac
Copy link
Member Author

barmac commented Jul 8, 2021

Indeed, details is a generic name which could be replaced by specific names related to the edited properties. I've updated the issue accordingly. Let's decide on the exact names during the implementation, though.

@andreasgeier
Copy link

I added the reference to the Summary of principles for current Properties Panel development in the issue section "How to proceed". Please consider.

@andreasgeier
Copy link

I added the reference: Properties structure for new properties panel Camunda Scope in the issue section "How to proceed". Please consider.

@MaxTru
Copy link
Contributor

MaxTru commented Jul 21, 2021

To consider for later on improvements (topic description as a UX improvement): add description for external task priority

@andreasgeier
Copy link

Today we reviewed the UI of nested lists and agreed on the solution.
Participants: @barmac @MaxTru @volkergersabeck @philippfromme @andreasgeier

We decided to use the default nested list (second level almost equal to first level) on all places except for variable assignment type:list. There, we use a specific pattern without expanding/collapsing list items but showing a single input field only.

Find all cases in the prototype: https://fluffy-fiesta-212e1c7c.pages.github.io/prototypes/visual-ide/v12/

default nested list:

Screen Shot 2021-08-09 at 16 56 56

single input list:

Screen Shot 2021-08-09 at 16 57 58

@MaxTru MaxTru added this to the M50 milestone Aug 10, 2021
@barmac
Copy link
Member Author

barmac commented Aug 23, 2021

Summary of the meeting @pinussilvestrus, @MaxTru, and I had today:

  • The list entry is blocking so we prioritise it over the templates topic.
  • Max and Niklas will pick up the event props as the next topics.
  • We have a common understanding on how we want to approach the templates topic later on:
    • The templates logic (setting the properties) will probably be a 1:1 migration.
    • There will be a templates provider of lower priority than the Camunda Platform provider. It will re-adjust the groups and entries according to the templates logic.

@barmac
Copy link
Member Author

barmac commented Aug 23, 2021

For the compensation, note that there is a bug ticket in Camunda Modeler repo: camunda/camunda-modeler#2397

@barmac
Copy link
Member Author

barmac commented Sep 3, 2021

I've checked some of the places where the list ordering is relevant for the execution.

Found:

  • camunda:errorEventDefinitions are evaluated in order as in XML; thus it's relevant for the execution which expression is first
  • In case of camunda:inputOutput, only the first syntax error in an expression is reported by the engine; XML order matters
  • In a generated form, the XML order determines the order of the fields.

@barmac
Copy link
Member Author

barmac commented Sep 13, 2021

I've added Task listener as this can be implemented separately from Execution listener.

MaxTru pushed a commit to camunda/camunda-bpmn-js that referenced this issue Sep 23, 2021
@barmac
Copy link
Member Author

barmac commented Oct 6, 2021

giphy.gif

It's hard to believe but we have finished all of the tasks in this issue. Thanks everyone for collaboration!

@barmac barmac closed this as completed Oct 6, 2021
@bpmn-io-tasks bpmn-io-tasks bot removed the ready label Oct 6, 2021
@andreasgeier
Copy link

That achievement is worth a celebration 🍾

@philippfromme
Copy link
Contributor

Congrats!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

5 participants