-
Notifications
You must be signed in to change notification settings - Fork 75
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
Add drawio embed mode #65
Conversation
Hey, folks! An update: I've been tinkering with an even crazier branch which adds:
Next steps:
|
this is awesome! |
Hey, y'all: I know your team is super busy... I've been advocating for (and using) mamba quite a bit 😍 , and don't even have anything to complain about yet (you know I would if i did). But I've been getting a lot of use out of my various branches off this repo, and am considering publishing some pre-releases, probably under @deathbeds. The goals motivating this:
As my forks are, in a not-even-that-mergeable-upstream state, it's kinda hard (and slow) to be sub-moduling them into the tools/demos where I want to try things and re-building them everywhere: real (pre)releases of this crazy stuff would make it a lot more robust. I'm still very much interested in getting these features to users of this extension... and the name and licensor changes, keeping it BSD-3-Clause, would be revertible in the future, but there will probably be a fair amount of infrastructure changed (probably |
@bollwyvl thanks for all the nice words, and for advocating mamba! It's true that I am putting most of my time into that project right now, so that too little is left to get jupyterlab-drawio where it should be. |
A lot of good points!
I'm not looking for another _job_ right now, I just want some
probably-broken releases that I can do janky demos with.
I think drawio represents an excellent opportunity for meeting a lot of
Jupyter user and community needs, and as an upstream, they've been
extremely responsive and transparent. So, if we can show some of the
features described above, I think we should try to get it added someplace
more official.
Given its size, though, I don't see it going into a core offering any time
soon, but maybe if we start pushing on some more Jupyter "prebuilt"
distributions, maybe it goes into some of those.
|
I've got the first of those pre-releases up over at https://github.com/deathbeds/jupyterlab-drawio. Onward! |
Hey folks: I just dropped |
Hey @bollwyvl thats awesome. Sorry for not having enough time to give this the attention it deserves :( |
No worries... Only so much wolf to go around, and the other stuff you folks
are working is amazing, as always.
A good thing now, since they don't share any names/tokens, is one can
install both and evaluate them together.
Anyhow, some of the next directions over there I'm looking forward to
- seeing if diagrams can be made collaborative with jupyter-videochat
0.5.0, which now also exposes more of its inner workings... Jitsi has some
apis to expose more of the underlying xmpp stream, which is well and good
enough for a little xml
- seeing if I can get web standard outputs to sync between a notebook and
(its metadata-embedded) drawio
- building some jupyterlab mockup templates
You know I'm always up to jam with you guys... It's been a while!
|
@bollwyvl you should come to our chat! we are working on adding collaborative editing to jupyterlab, and one of the potential showcase extensions will be jlab-drawio :) We're going to use Y.js and we're funded for this work. It's going to be quite amazing. |
Welp... having been down the RTC road a couple times, it's a really awesome when it works! My thinking on the jitsi/dio piece: multi-user collaborative drawing is a proven, useful activity, that would benefit teams i work with right now. Full-fat drawio has its own (as you can no doubt imagine, home-rolled) mechanism for doing file sync which very well might just work with the pipe offered up by jitsi, which would improve the utility of both of them as extensions. I'm basically trying to invent as little as possible these days, and integrate with the best stuff I can, leaving as many API hooks open as possible. The ugly parts of my experiences: the general semi-structured case (like a notebook) is... hard. Handling trust and identity is... hard, especially if federated. Fine-grained permissions is... really hard. Handling shared compute is... not something i have tackled as server thing, much less a decentralized thing, and don't even know what that would mean. yjs is a solid play, for sure, if something needs to be built from the ground up.... and the team has already solved all those things. I was impressed at how well it worked with prosemirror. |
Welp, here's something to look at. The list of changes from my initial push for a demo is... large. I just bumped it up to the drawio release that came out... this afternoon, and haven't tested it thoroughly, but would like to start the dialog about getting this in.
I've been using it for some work projects, and it pretty much does the job. My biggest complaint is that it isn't possible to do any kind of "live" reformatting of the XML to be more git/text editor-friendly (as it uses calculated etags), so I've been doing that in a formatting script. Of course, the diff isn't very pretty, and it uses ordinal ids, which makes merging mostly impossible, but it's something!