-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[Feature] Have a way to collaborate #58
Comments
Hey @smitt04, thanks for the suggestion This is something I've been thinking about since the very beginning of development. For now exporting the diagram as a json or ddb and manually sharing and importing is the only way to go about it. For the future we can maybe add integration with Github like draw.io |
collaboration would be great :) sharing some related content : https://blog.excalidraw.com/building-excalidraw-p2p-collaboration-feature |
Hey @revolunet, thanks for sharing Actually there is a really messy implementation for some of the real time collaboration logic on the deprecated branch The reason i didn't go through with it is because i couldn't think of a seamless way for 2 clients to communicate, since the diagrams get saved in the browser E.g. if client 1 and client 2 join a room, edit the diagram, and client 1 disconnects and then connects back there is no way to merge client 2's changes without them having to share a new link Any ideas about this would help, i might be missing something |
AFAIK, Excalidraw stores data in browser too, and to collaborate you need start an online session (which then stores data on its own I guess, and does the websockets/communicating things evoked in the blog post shared by @revolunet ), could be interesting to dive a bit deeper in their code |
@TBG-FR yep, back then I was trying to emulate google docs with proper file management and all that. After implementing sharing with gists even the problem of clients disconnecting can be resolved. All that's pretty much left is session management which was somewhat implemented on the deprecated branch. It's totally doable just needs the time investment |
Alright, glad to hear that ! IMO that's really a game changer feature, as many people will choose the product based on the collaborative capabilities. Do you have a sort of roadmap somewhere or do you use issues/PRs for that ? May I ask you if you are more in need of time investment or fundings ? |
@TBG-FR sorry I didn't see your comment.
I don't have a set road map I mostly go by issues, prs or what people request
I would need both. I usually find a free solution for everything but don't seem to find a reliable long term free hosting solution for a server. The little server we have for forms is on render's free plan and it can take up to a minute to make a single request. So we'll need some investment into hosting. Regarding time, I'm running on a pretty tight schedule but it's less of a concern I can always squeeze something in |
Since this only saves data in the browser there is no way to have 2 people working on the same diagram at the same time. But as a workaround it would be nice if I could save the diagram to a file in our repo, then when someone wants to edit / view it they can run a docker image locally that would read the file and load the diagram into the local instance. They would still need to export the file afterwords and commit unless there could be a feature to only read/write to a file instead of indexedDB.
The text was updated successfully, but these errors were encountered: