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

A more streamlined way of defining flows #958

Open
markallanson opened this issue Nov 14, 2024 · 0 comments
Open

A more streamlined way of defining flows #958

markallanson opened this issue Nov 14, 2024 · 0 comments

Comments

@markallanson
Copy link

markallanson commented Nov 14, 2024

Use Case

I have been working through my first flows and find that having to place messages in their own step can lead the flow being hard to maintain and follow as you are working on it.

The following example is the flow I would like to "simplify" for the sake of this ticket

- id: Step 1
  service:
    id: ServiceA
  next_steps:
    - id: "EventX"

- id: "EventX"
  message:
   id: "EventX"
  next_steps: 
    - id: Service 2

- id: "Step 2"
  service: 
    id: ServiceB

Proposed Solution

It would be nice to model the relationship between services in the next_steps construct, which could remove a lot of yaml required to build a flow.

For example, something like

- id: Step 1
  service:
    id: ServiceA
  next_steps:
    - id: "Step 2"
      label: Step Success
      using_message: 
        id: "EventX"
        version: "1"

- id: Step 2
  service:
    id: ServiceB

Implementation Notes

It would be nice for the renderer to somehow collapse the message node when there's just one link between the producer and consumer, so larger flows don't "get so wide".

Community Notes

  • Please vote by adding a 👍 reaction to the issue to help us prioritize.
  • If you are interested to work on this issue, please leave a comment.
  • If this issue is labeled needs-discussion, it means the spec has not been finalized yet. Please reach out in the EventCatalog Discord.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant