jgraph / drawio

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

Use graphviz for layout and display #2493

Closed nick87720z closed 2 years ago

nick87720z commented 2 years ago

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Graphviz - graph visualization toolkit under CPL license (Eclipse Public License). It provides both command line tools and API. At least I see no problem for apache-licensed project depending on CPL project, given that Eclipse is from Apache as well.

DotEditor - may be nice for graphviz testing env as well as example app (I consider it realy useful for simple things, though it lacks shapes subsets like UML, SysML or Block Charts, showing all in one list).

Graphviz Visual Editor - too far from usable, but showes graphviz shapes in subsets (I really don't see any other good use from it).

Additional context

This is mostly for feature request jgraph/drawio-desktop#828

But also should fix: jgraph/drawio-desktop#638, jgraph/drawio-desktop#740, jgraph/drawio-desktop#827

davidjgraph commented 2 years ago

Graphviz isn't Javascript. I don't want the security risk of an un-audited JavaScript port.

nick87720z commented 2 years ago

Graphviz isn't Javascript.

Hm - is it because this app executes completely in browser, requiring dot and other graphviz commands to be available at client rather than server? Update: Still unclear, why should it be problem. May be browser could be denied to run arbitrary shell commands, but desktop versions should have no such problem. Windows GV installer even can configure system PATH so, that dot and other GV commands are runable as is (without full path).

I don't want the security risk of an un-audited JavaScript port.

Well, I did not check yet, how does Graphviz Visual Editor use graphviz.