jgraph / drawio

draw.io is a JavaScript, client-side editor for general diagramming.
https://www.drawio.com
Other
40.69k stars 7.57k forks source link

(Real-time) diagram collaboration via a GDPR-compliant, on-premise Nextcloud / gitlab / jgraph instance (for Teaching) #3734

Closed matt-htw closed 1 year ago

matt-htw commented 1 year ago

Is your feature request related to a problem? Please describe. 1) There is a vacuum of on-premise hostable open source whiteboard software in teaching (universities). Teachers have to use external services at their own responsibility (and I am not even sure if that is legal). 2) Draw.io is a fantastic and flexible tool (custom libraries - yeah!) for visualization of many applications in teaching (and developing curricula). 3) Being able to use draw.io with collaboration in teaching (whiteboard-function, collaborative concept development) would be fantastic :-) 4) We could not yet find a way to run draw.io with real-time (or even non-real-time) completely on premise - which is a serious show-stopper for security and privacy aware Universities in the EU: The General Data Protection Regulation (GDPR) forbids to require students to register and to have data processed on such external premises without specific individual and optional consent - or within the jurisdiction of the US CLOUD Act (US servers) in general.

Describe the solution you'd like I would like a draw.io collaborative whiteboard that is completely hosted on premise. The easiest solution I see is to allow the NC plugin to work with own instances of draw.io and/or gitlab (maybe easiest on an own gitlab instance).

Describe alternatives you've considered A) I am currently working with local files (or files synced over NC) and processing them externally on app.diagrams.net. This is not real-time collaborative, end even requires manual version management (including the need to consolidate parallel new versions).

B) Collaboration is possible at gitlabs.com - but with external accounts and external data processing in the US (see GDPR above)

C) Draw.io has a Nextcloud client with auto-save function. But this is only an API to pass the authentification to an external engine (app.diagrams.net) - See above for external data processing.

D) We do run a Confluence wiki, but I have no idea how that would help us hosting collaborative real-time whiteboards in teaching, or even work collaboratively (not real-time) in developing diagrams together as a team.

Additional context We do host our own gitlab, nextcloud, etc. (even a Confluence wiki).

davidjgraph commented 1 year ago

Aside from the integrations you listed, a fully stand-alone architecture is outside the scope of what we want to deliver with this project. Someone would need to build on this project to create such a back-end.

matt-htw commented 1 year ago

To understand better (I do understand that a stand-alone version is not the scope):

I am not dev, but the NC client can process a file with the engine at https://apps.diagrams.net - Is it so much different to make it process the file with the engine of a docker installation on a different URL?

davidjgraph commented 1 year ago

Yes, the RT part is written specifically for cloudflare, we don't have a CF independent implementation.