cli icon indicating copy to clipboard operation
cli copied to clipboard

Collaboratively editing files through the Studio

Open smoya opened this issue 3 years ago • 5 comments

Reason/Context

Comes from https://github.com/asyncapi/cli/issues/78#issuecomment-953701036.

Imagine having the possibility to open Studio locally through the CLI and start editing AsyncAPI files right away. This is what https://github.com/asyncapi/cli/issues/78 is about.

But in addition, imagine doing that in collaboration with some other folks in real-time. This is what this feature request is about. Editing AsyncAPI files collaboratively, in real-time, with other users. All through the Studio running on each user machine.

Description

Studio with localtunnel (3)

TL;DR: One user acts as the file owner. Its own CLI file server will be exposed publicly and a public URL will be generated. Others can join editing the same file by running a new CLI command such as start studio <shared-public-url>.

Technical details

In order to expose the file owner CLI file server, we would use Localtunnel, a node package that exposes your localhost to the outside, generating for you a public URL. It can either run as executable or be invoked through its library, doesn't need anything else (i.e. [ngrok[(ngrok.com) requires the user to be registered). This is ideal for us because we could automate it by just using the node library when a certain command is called, e.g. share studio or similar.

The URL that localtunnel gives, it's a URL that points to their public proxy server (.loca.lt is how URLs look).

Something that is also possible is to host our own copy of the proxy server, which is available here. This will allow us to configure our DNS to point to the proxy server, where generated URLs will then look like <random-id>-studio.asyncapi.io. However, the pros and cons should be carefully taken into consideration. For example, the cost of maintaining our own service.

smoya avatar Oct 28 '21 11:10 smoya

Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

github-actions[bot] avatar Oct 28 '21 11:10 github-actions[bot]

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

github-actions[bot] avatar Feb 26 '22 00:02 github-actions[bot]

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

github-actions[bot] avatar Jun 29 '22 00:06 github-actions[bot]

Let's remove the stale label @magicmatatjahu ?

smoya avatar Jul 05 '22 09:07 smoya

@smoya Done :)

magicmatatjahu avatar Jul 05 '22 09:07 magicmatatjahu

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

github-actions[bot] avatar Nov 03 '22 00:11 github-actions[bot]

Relevant

smoya avatar Nov 03 '22 14:11 smoya

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

github-actions[bot] avatar Mar 04 '23 00:03 github-actions[bot]

I believe this is still interesting and a cool project to work on

smoya avatar Mar 04 '23 07:03 smoya

Hey @smoya I would like to give it a try. Not sure how long and difficult this would be. But will try my best.

chinma-yyy avatar May 25 '23 14:05 chinma-yyy

@chinma-yyy I have already started working on it and brainstorming through it. We can work together. It'd be better that way, I hope helping hand won't hurt either of us :smile: You can HMU on slack to connect further.

kaushik-rishi avatar May 26 '23 05:05 kaushik-rishi

@chinma-yyy @kaushik-rishi FYI, a possible enhanced version of this feature has been presented as candidate for the Mentorship Program. See https://github.com/orgs/asyncapi/discussions/689#discussioncomment-5899110

smoya avatar May 27 '23 06:05 smoya

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

github-actions[bot] avatar Sep 25 '23 00:09 github-actions[bot]