You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2017/03/16 16:57:41 UTC

[jira] [Comment Edited] (OOZIE-2406) Completely rewrite GraphGenerator code

    [ https://issues.apache.org/jira/browse/OOZIE-2406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924920#comment-15924920 ] 

Robert Kanter edited comment on OOZIE-2406 at 3/16/17 4:57 PM:
---------------------------------------------------------------

Someone was suggesting the [d3|https://d3js.org/] Javascript library.  It looks like it can do a lot of neat things and seemly widely used (so shouldn't go extinct).  
Here's some examples/tutorials that would be relevant to us:
http://bl.ocks.org/d3noob/5141278
http://bl.ocks.org/mbostock/2706022
https://tylercipriani.com/blog/2016/03/21/Visualizing-Git-Merkle-DAG-with-D3.js/
http://bl.ocks.org/sathomas/11550728
http://www.coppelia.io/2014/07/an-a-to-z-of-extra-features-for-the-d3-force-layout/
http://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html

Looks like it's BSD license, so that should be okay.


was (Author: rkanter):
Someone was suggesting the [d3|https://d3js.org/] Javascript library.  It looks like it can do a lot of neat things and seemly widely used (so shouldn't go extinct).  
Here's some examples that would be relevant to us:
http://bl.ocks.org/d3noob/5141278
http://bl.ocks.org/mbostock/2706022
https://tylercipriani.com/blog/2016/03/21/Visualizing-Git-Merkle-DAG-with-D3.js/

Looks like it's BSD license, so that should be okay.

> Completely rewrite GraphGenerator code
> --------------------------------------
>
>                 Key: OOZIE-2406
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2406
>             Project: Oozie
>          Issue Type: New Feature
>    Affects Versions: 4.2.0
>            Reporter: Robert Kanter
>
> The Web UI currently generates a graph of the workflow DAG as a png image that it can show to the user ({{GraphGenerator}} class).  Unfortunately, there are a number of downsides to the current implementation:
> # The image is generated server-side, which doesn't scale well and eats up lots of memory
> #- To help combat this issue, we only generate graphs for workflows with less than 25 nodes and we disabled the refresh button in the UI
> # It's slow
> # It uses a library ({{net.sf.jung}} from http://jung.sourceforge.net), which hasn't been updated since 2010.  
> #- This library also has a dependency on a fork of Commons-Collections ({{net.sourceforge.collections}} from http://sourceforge.net/projects/collections/), which similarly hasn't been updated since 2010.  This is a problem because we can't update Commons-Collections when there are security concerns such as COLLECTIONS-580 (though Oozie is *not* susceptible to this attack).
> It would be good to do a complete rewrite, using a different library and remove Jung and the Commons-Collections fork.  Whatever we choose, it should an svg which will draw the image on the browser.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)