14. Re-use capabilites of Winery Topology Modeler

Technical Story: Evaluate re-use capabilites of Winery Topology Modeler #32

14.1. Context and Problem Statement

We want to use a component to graphically model nodes and edges in a web application.

14.2. Decision Drivers

  • usable with Angular
  • number of dependecies
  • features
    • create Nodes
    • create Connections
  • usability

14.3. Considered Options

14.4. Decision Outcome

Chosen option: Choosen a Combination of ngx-graph and plain d3.js, because ngx-graph might miss some usefull features but has good usability which is worth to have a look at

14.4.1. Positive Consequences

  • easy to use graph modeler
  • only a few dependencies
  • full control over features and behavior

14.4.2. Negative consequences

  • needs to be implemented

14.5. Pros and Cons of the Options

14.5.1. Winery Topology Modeler

  • Bad, since package doesnt work when importing into plain Angular App, created issue report on their repository

14.5.2. ngx-graph

  • Good, because possibility to create templates for nodes, links
  • Good, because runs as angular component
  • Bad, because might not provide all the needed features

14.5.3. d3.js

  • Good, because full control over everything
  • Good, because can implement the necessary behavior
  • Bad, because implementation has to be done