Macro flowchart

Purpose

Create flowcharts with Graphviz.

This macro is a free alternative of the {flowchart} macro from the commercial Graphviz plugin.

Parameter

All parameters are optional.

NameDescription
graphSplines

Control how edges are represented

  • none
  • line
  • polyline
  • curved
  • ortho
  • spline
edgeArrowSizeSize of arrow. Default 0.8
nodeShape

Form of node. Default rect(angle). Possible values are:

  • rect
  • ellipse
  • tab
  • note
  • component
  • folder
  • box3d
  • square
nodeStyle

Style of nodes. Default is filled. Possible values are:

  • diagonals
  • rounded
  • dashed
  • dotted
  • solid
  • bold
nodeFillColor

Background color if nodeStyle=filled. Default is lightyellow.

Colors might be defined by name or as RGB values

nodeFontname

Font name. Default is Verdana.
It depends on the Confluence server which fonts are available.

nodeFontsizeFont size. Default is 9.
format

PNG (default)

SVG (beta)

exportNameThe graph will be stored as attachment if exportName is given.
debug

true = Enable debugging.

Body

The body of this macro is code written in Graphviz' DOT language. Some examples are shown below. The full documentation can be found at Graphviz' Documentation Page.


Sample Images

Simple Examples

Component Dependencies

Organisation Chart


Sample Code

Simple Examples

{flowchart}
Foo -> Bar
Foo -> Buz
{flowchart}
{flowchart:edgeArrowSize=0.4|nodeShape=tab|nodeFillColor=orange|nodeFontname=Arial|nodeFontsize=12}
Foo -> Bar
Foo -> Buz
{flowchart}

Component Dependencies

{flowchart}
PageReleaseManager -> SpringModification
 PageReleaseManager -> PageReleaseDAO
 PageReleaseManager -> Configuration
 PageReleaseManager -> PageReleaseEvent
 PageReleaseDAO -> SpringModification 
 PageReleaseDAO -> HibernateBase 
 PageReleaseDAO -> DBModell
 FreigabeUI  -> PageReleaseManager
 FreigabeUI  -> Permissions
 FreigabeUI  -> Configuration
 Configuration -> SpringModification
 LinkRendererAndResolver -> SpringModification
 LinkRendererAndResolver -> Configuration 
 HibernateBase -> SpringModification
 Permissions -> SpringModification
 DiffUI -> PageReleaseManager
 DiffUI -> Configuration
 ImplizitePageFreigabeListener -> PageReleaseManager
 MetadataSync ->  PageReleaseEvent
 LabelSync ->  PageReleaseEvent
 AttachmentSync -> PageReleaseEvent
 PermissionsUI -> Permissions
{flowchart}

Organisation Chart

{flowchart}
boss 	      [label="Boss" color=red]

itchef 	      [label="Anton Antonius"]
itsekretariat [label="Bea Berger"]
ithelpdesk    [label="Christian Carlson"]
itadmin       [label="Denis Devil"]
itazubine     [label="Ester Estragon"]

marketingchef 	[label="Katja Karlson"]
marketingsekretariat [label="Larry Lemming"]
marketingtext 	[label="Mark Mustermann"]
marketinggrafik [label="Nathalie Neumann"]
marketingazubi  [label="Omar Omaha"]

subgraph cluster_gf {
  color = red;
  style = filled;
  fontsize = 20;

  label = "Vorstand";
  boss;
}

subgraph cluster_it {
  color = gold1;
  style = filled;
  fontsize = 20;

  label = "IT";

  itchef -> itsekretariat;
  itchef -> ithelpdesk;
  itchef -> itadmin;
  itadmin -> itazubine;

};

subgraph cluster_marketing {
  color = greenyellow;
  style = filled;
  fontsize = 20;

  label = "Marketing";

  marketingchef -> marketingsekretariat;
  marketingchef -> marketingtext;
  marketingchef -> marketinggrafik;
  marketinggrafik -> marketingazubi;
};

boss -> marketingchef;
boss -> itchef;
{flowchart}

Macro Browser