Discussion:
[mantisbt-dev] Graphviz Replacement
P Richards
2014-08-17 23:21:07 UTC
Permalink
Something that I looked at a while back was ideas for replacing 'graphviz'.



Graphviz integration provides relationship graphs for issues and the
workflow config page - historically, it's been problematic on windows
(wingraphviz COM object) that used to crash - although that situation has
been improved in newer IIS's as you can run the graphviz.exe I believe now.



However, across linux and windows, I'm not sure how many people go to the
steps of setting up graphviz to enable this feature.



I've just pushed a branch @
https://github.com/grangeway/mantisbt/tree/graphviz containing some mock-up
code that attempts to "replace" graphviz with d3.js i.e. http://d3js.org/ .
It makes use of another javascript library called dagra-d3



This is something that I looked at a long while ago, and I've recently
updated to newer javascript graph libraries.



At the moment, this is a mock up, to get an idea of what it would look like
- it would be useful to get some feedback on:



a) Whether it makes sense to replace graphviz with javascript

b) Whether anyone knows of any better graphing libraries /alternative
graphing libraries we could use then d3.js for this

c) Whether if we were to look at dropping the graphviz stuff, whether
the preferred approach would be to move graphviz to a plugin, and then add a
javascript alternative - so we get 2 plugins or what

d) Whether to just leave as is, as graphviz handles complicated graphs
better etc



At the moment, the code's not complete in the branch, and hasn't been in any
way tidied up for any review/PR stage - but has been pushed so we can get an
idea of what the d3 library could provide.



The existing graphviz code provided an image map for links to the bugs - the
version in the attached branch doesn't do that atm. My understanding is that
d3 is generating SVG, and that you can add formatting/html etc to these
files. However I believe that IE may not support this.



My goal here would be to make Mantis easier to setup for end users to get
access to all features, i.e. not require hosting company to have graphviz
(which may be fairly obscure) installed?



The reason I originally looked at this many months ago was due to
wingraphviz crashing and graphviz being problematic with php/iis- which
isn't an issue in modern PHP versions for me at least anymore.



I'm fairly easy between any of the options I list in A-D above, equally, if
someone has some suggestions for alternatives in B, I don't mind taking a
stab at a similar mock-up branch to this one so we can all get to see what
it could look like.



Once we've agreed any approach between implementing this, implementing
something else or doing nothing, depending on the approach, I'll try and get
a PR generated for review.



Paul
Robert Munteanu
2014-08-19 12:55:19 UTC
Permalink
Hi Paul,
Something that I looked at a while back was ideas for replacing ‘graphviz’.
Graphviz integration provides relationship graphs for issues and the
workflow config page – historically, it’s been problematic on windows
(wingraphviz COM object) that used to crash – although that situation has
been improved in newer IIS’s as you can run the graphviz.exe I believe now.
However, across linux and windows, I’m not sure how many people go to the
steps of setting up graphviz to enable this feature.
https://github.com/grangeway/mantisbt/tree/graphviz containing some mock-up
code that attempts to “replace” graphviz with d3.js i.e. http://d3js.org/ .
It makes use of another javascript library called dagra-d3
This is something that I looked at a long while ago, and I’ve recently
updated to newer javascript graph libraries.
At the moment, this is a mock up, to get an idea of what it would look like
a) Whether it makes sense to replace graphviz with javascript
It does IMO, as it can generate much better looking graphs and removes
all the installation hassles.
b) Whether anyone knows of any better graphing libraries /alternative
graphing libraries we could use then d3.js for this
c) Whether if we were to look at dropping the graphviz stuff, whether
the preferred approach would be to move graphviz to a plugin, and then add a
javascript alternative – so we get 2 plugins or what
Would be nice to move graphviz to a plugin which is bundled but not
installed by default. Not sure if we can get the two plugins to be
perfectly interchangeable, but I also don't think that's an objective.

Robert
d) Whether to just leave as is, as graphviz handles complicated graphs
better etc
At the moment, the code’s not complete in the branch, and hasn’t been in any
way tidied up for any review/PR stage – but has been pushed so we can get an
idea of what the d3 library could provide.
The existing graphviz code provided an image map for links to the bugs – the
version in the attached branch doesn’t do that atm. My understanding is that
d3 is generating SVG, and that you can add formatting/html etc to these
files. However I believe that IE may not support this.
My goal here would be to make Mantis easier to setup for end users to get
access to all features, i.e. not require hosting company to have graphviz
(which may be fairly obscure) installed?
The reason I originally looked at this many months ago was due to
wingraphviz crashing and graphviz being problematic with php/iis– which
isn’t an issue in modern PHP versions for me at least anymore.
I’m fairly easy between any of the options I list in A-D above, equally, if
someone has some suggestions for alternatives in B, I don’t mind taking a
stab at a similar mock-up branch to this one so we can all get to see what
it could look like.
Once we’ve agreed any approach between implementing this, implementing
something else or doing nothing, depending on the approach, I’ll try and get
a PR generated for review.
Paul
------------------------------------------------------------------------------
_______________________________________________
mantisbt-dev mailing list
https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
--
http://robert.muntea.nu/
Loading...