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

Visualize how an application interract with others #235

Open
jonaslagoni opened this issue Jun 11, 2024 · 5 comments
Open

Visualize how an application interract with others #235

jonaslagoni opened this issue Jun 11, 2024 · 5 comments

Comments

@jonaslagoni
Copy link
Member

I want to propose adding a new visualization view to the plugin, that enables you to get a better view of how an application interacts with other defined applications.

I propose to integrate https://github.com/asyncapi/EDAVisualiser/ and it's application focus view into the vs-code plugin.

image

Because this feature needs information about who the "others" are i.e. a list of related AsyncAPI documents in your system, I propose we add a setting (that can be saved in workspaces) where you have to manually add an entry of remote or local paths to AsyncAPI documents. Not sure if there is any other way to achieve it 🤔

Blocked by (using this as the initial feature request) #234

I am willing to help maintain the integration long term as well as write the integration 🙂

@ivangsa
Copy link
Collaborator

ivangsa commented Jun 11, 2024

hey @jonaslagoni this sounds like an awesome feature to add..

currently there is also a work in progress feature to add another alternative preview with "mermaidjs diagrams" for channels, messages and schema types #230 (never mind the title of the PR ;-) it is about adding that new preview) which is being activelty coded by @nikhilkalburgi as part of the gsoc 2024

  • Regarding switching between views we can create a nested "Title bar menu" named "AsyncAPI Preview" with 3 nested entries and maybe a default preview button that can be configured in the extension settings... We will find out the best way to achieve this..

  • Regarding the `information about "other" APIs", how does the EDAVisualizer works outside vscode? I mean, how it gets that "others" information? maybe we can store that information in an vscode-agnostic format so it can also be started outside vscode.. (just saying...)

It sounds like a great feature to me.

Currently I'm the maintainer of this repo, reviewing gsoc PRs but I'm not actively developing the extension myself..

Count on me to review and integrate PRs or sync efforts or else..

@jonaslagoni
Copy link
Member Author

Regarding switching between views we can create a nested "Title bar menu" named "AsyncAPI Preview" with 3 nested entries and maybe a default preview button that can be configured in the extension settings... We will find out the best way to achieve this..

Makes sense 👍 We can always change it afterwards 🤙

Regarding the `information about "other" APIs", how does the EDAVisualizer works outside vscode? I mean, how it gets that "others" information? maybe we can store that information in an vscode-agnostic format so it can also be started outside vscode.. (just saying...)

There are a few ways, I would suggest we add a setting similar to asyncapi.preview.externals: [] configuration which contains links (relative to the root workspace, or remote (as seen here: https://github.com/asyncapi/EDAVisualiser/blob/master/examples/simple-react/src/gamingapi/apps.js)).

Technically, we could store it as an AsyncAPI extension such as x-external-applications so you always have all the information right in your AsyncAPI document.

How does that sound @ivangsa?

@jonaslagoni
Copy link
Member Author

If we want it as an extension, we could technically add the feature as part of the https://github.com/asyncapi/EDAVisualiser instead of here 🤔

@ivangsa
Copy link
Collaborator

ivangsa commented Jun 12, 2024

Sounds good 👍

I would add an external configuration file (not inside vscode settings)... also not everybody would be able to edit the asyncapi files (or keep the changes after fetching upstream changes)...

Later we could convert the preview extension as a vscode web extension so it can be used with github codespaces, gitpod... etc. For that we can not use nodejs APIs to access workspace resources (like yml files) only the vscode workspace API.

I may be able to review existing code to make this happen.

@ibishal
Copy link
Contributor

ibishal commented Sep 3, 2024

Hey @jonaslagoni @ivangsa , i would like to propose this as an project idea for this year mentorship program, may I ?

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

No branches or pull requests

3 participants