hawtio / hawtio-next

Next generation Hawtio UI console
https://hawt.io
Apache License 2.0
7 stars 22 forks source link

Camel - Route diagram view #22

Closed tadayosi closed 1 year ago

tadayosi commented 1 year ago

Camel plugin should provide the view for visualising Camel routes.

Since the functionality of visualising Camel routes is a recurring common feature required by various Camel development tools, including Karavan, Camel Designer, VS Code extension, and Kaoto, it is not desirable to implement it independently in Hawtio. Rather, we should consider reusing code from the aforementioned tools or developing the feature as a reusable JS library together with the developers of those tools so that they can reuse it later.

Route diagram

apupier commented 1 year ago

The VS Code Extension pack for Camel will reuse the Kaoto editor (through VS Code Kaoto extension).

Kaoto is using the Multiplying Architecture provided by Kogito tooling. They are embedding/reusing editors through this architecture in various environments.

tadayosi commented 1 year ago

Thanks for your input! @mmelko Do you have any ideas if this kie-tooling and Kaoto stuff can be used in Hawtio Camel plugin?

phantomjinx commented 1 year ago

Any evaluation should probably consider whether the editing functions can be easily turned off or not included so that the diagramming remains a read-only visualisation.

tadayosi commented 1 year ago

Right, for Hawtio, editing routes is not required. We just want to visualise Camel routes read-only. What we want to avoid is duplicating the similar efforts in the different projects.

lhein commented 1 year ago

Please lets stick with an easy port of the existing diagram functionality for the first minimal release. I don't know if we simply can reuse what's done there or if we simply try to port it to react-flow. Using Kaoto in HawtIO is too much work for the initial release.

tadayosi commented 1 year ago

@lhein The problem with easy porting of the existing implementation is that it relies on yet another deprecated library: https://github.com/dagrejs/dagre Keeping dependencies up to date should be one of the most important goals of Hawtio.next project, so IMO it couldn't be an option.

mmelko commented 1 year ago

https://github.com/hawtio/hawtio-next/pull/210 https://github.com/hawtio/hawtio-next/pull/225

current state:

Screenshot 2023-04-13 at 07 56 27

It might require some additional tweaks here and there but I think we can close this for now. @tadayosi wdyt?

tadayosi commented 1 year ago

Let's close this now.