provectus / kafka-ui

Open-Source Web UI for Apache Kafka Management
Apache License 2.0
9.47k stars 1.16k forks source link

Bulk messages #1344

Open thegiantbeast opened 2 years ago

thegiantbeast commented 2 years ago

Describe the solution you'd like

I would like to send multiple messages at once instead of sending them individually with multiple clicks on the UI interface. Same times I just need to send 2 or 3 messages which are somehow related and it would be a lot easier if there was a place in the UI that I could do that, much like kafka-console-producer.

It could be that there's a good reason for not having it, but couldn't find any discussion on the issues.

github-actions[bot] commented 2 years ago

Hello there thegiantbeast! 👋

Thank you and congratulations 🎉 for opening your very first issue in this project! 💖

In case you want to claim this issue, please comment down below! We will try to get back to you as soon as we can. 👀

Haarolean commented 2 years ago

Hi, thanks for reaching out. We'll consider implementing this in next major releases.

jonas-grgt commented 2 years ago

I would be interested in this as well. In fact I would like to help out if possible ? But I notied @vdanylenko assigned it already.

I had the idea of using something like https://www.npmjs.com/package/react-command-line to mimic the kafka-console-producer

Haarolean commented 2 years ago

@jonasgeiregat hey, thanks for the interest. Actually, the frontend part is up for grabs, but we'll have to discuss the implementation. If you're interested, I may invite you to our discord to discuss the implementation with our frontend engineers beforehand, what do you think?

jonas-grgt commented 2 years ago

@Haarolean I'm up for that!

Haarolean commented 2 years ago

@Haarolean I'm up for that!

@jonasgeiregat https://discord.gg/4DWzD7pGE5

vdanylenko commented 2 years ago

@jonasgeiregat Your proposal would look really cool, I'm not sure if it's not an overkill. What I envision is to change behavior of the current "Produce Message" window. More specifically:

  1. Click on the "Send" button does not close the window, just sends the current message and displays some info after that message has been sent.
  2. Add a "Close" button that closes the windows and returns to the message list when a user is done with sending messages.

I don't think we need any backend changes with this approach.

Haarolean commented 2 years ago

@thegiantbeast @jonasgeiregat could you folks please describe your use cases for this? Like, what types of messages are you interested to produce this way? Are they schema-enriched? Do you have to replace a few fields in a large schema?

jonas-grgt commented 2 years ago

I was more thinking like adding a tab to the current publication page so the current functionality stays in place but a new tab for sending quick messages would become available.

This new tab would work like a simple command prompt like the kafka publisher shell script works that comes with kafka.

> simple message > message-key:value >

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

thegiantbeast commented 2 years ago

@Haarolean really sorry for the long response delay.

But I think what @vdanylenko purposed will solve my use-case because my main issue is that I need to fill at least 2 fields, the message value and the headers. So when I try to send like 2 or 3 messages with the exact same headers but different values it gets a bit time consuming to click "produce message" button, fill the fields again, etc.

Having two buttons, one for sending (without clearing the current contents) and only for closing, it would be great. As a suggestion, since my use-case might not be a very popular one, a good compromise would be to use something like https://mui.com/components/button-group/#split-button (just an example) where the default action would be "send and close" and then we could have just "send" underneath it.

I hope this helps clarifying the use-case and also decrease the complexity of it too.

Haarolean commented 2 years ago

@thegiantbeast thanks for the feedback!