Macro flowchart

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