Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxlevel3
minlevel3
typeflat
separatorpipe

Section
Column

Name

Graph-from-table Macro

Plugin

Part of Graphviz Plugin

Description

Excerpt
hidetrue

Converts tables into Graphviz graphs

Description

Converts tables into a Graphviz graph by rendering the body of the macro and then converting each row in each table to a node relationship. The Flowchart Macro is used for the rendering, so it must be enabled and working correctly. This macro simplifies use of the Graphviz support by eliminating or significantly reducing the need to know the dot language. Advanced users will still need to consult the Graphviz documentation for the multitude of attributes and settings that are possible. The primary reason of this macro is to allow SQL queries to generate graphs easily.

Column

...

  • displayData - Default is false. Set to true to show the rendered body data after the graph. This is useful to see the results of a sql macro for instance.
  • showWiki - Default is false. Set to true to show the generated wiki markup that is rendered to show the graph.
  • node - The default node attributes are: shape=rect, style=filled, fillcolor=lightyellow, fontname="Verdana", fontsize=9. The default attributes are taken from the default Flowchart macro behavior. By specifying the node parameter, you can override these defaults or add additional default attributes. See the Graphviz Documentation for information on attributes and settings.
  • edge - The default edge attributes are: arrowsize=0.8. The default attributes are taken from the default flowchart macro behavior. By specifying the edge parameter, you can override these defaults or add additional default attributes. See the Graphviz Documentation for information on attributes and settings.
  • direction - The default layout direction is top to bottom (TB). Set direction=LR to layout in a left to right direction. This is equivalent to the rankdir setting.
  • columns - Allows selection of the columns of the table that will be used for the graph. It must be a comma separated list of 1 or more positive integers in any order. The default is columns=1,2,3,4,5,6,7,8,9. If the table does not contain the column indicated, it will be ignored. For example, if columns=3,13 then column 3 will be used for the source node and column 13 will be used for the target node of the relationship. All other columns will be ignored.
  • tables - Comma separated list of table ids and/or table numbers contained within the body of the macro that will be used as the data for the graph. Defaults to all tables found in the body.
  • replace - A comma separated list of key:value pairs that will be used to convert column values to attributes. If a column value for an attribute column matches one of the keys, the associated value will replace the column value. This makes it easy to associate attributes to column data. If more than one attribute needs to be specified for a key, enclose the value in a single quote so that the comma gets treated as a attribute separator.
  • ... - All other parameters are passed through to Graphviz for setting any global Graphviz parameter. Some common examples are:
    • ranksep - Separation in inches between nodes.
    • bgcolor - Background color.
    • size - Size specified as width, height in inches. Example: size="3,5".

Usage

Simple

No Format

{graph-from-table}
| A | B |
| A | C |
{graph-from-table}

...

Note that headings are ignored

No Format

{graph-from-table}
|| heading 1 ignored || heading 2 ignored ||
| A node | B node | label="relationship 1", style=dashed | style=normal | fillcolor=lightblue |
| A node | C node |
| A node | D node | style=invis |
{graph-from-table}

Multiple tables and using parameters

No Format

{graph-from-table:node=fillcolor=lightblue,fontsize=20|edge=style=bold,color=red| replace=key1:'style=dashed, color=blue', key2:style=invis|ranksep=2.0}
| A node | B node | | shape=polygon,sides=8,peripheries=3 | |
| A node | B node | | style=dashed |
| A node | C node |
| A node | D node | key2 |

Here is a second table
| E | F | key1 |
| F | G | key1 |
{graph-from-table}

Subgraphs - clusters

No Format

{graph-from-table:direction=LR|ranksep=1.5|node=fillcolor=lightblue,fontsize=20| edge=style=bold,color=red|replace=key1:style=dashed}
| A node | B node | label="r1" | | | 100 | key1 |
| F | G | key1 | | | 100 | label="cluster 100" |
| X | Y | key1 | | | 200 | label="cluster 200" | 2000 | label="cluster 2000" |
{graph-from-table}

Using SQL

No Format

{graph-from-table:direction=LR|edge=color=blue|displayData=true}

{sql:dataSource=ConfluenceDS}
select PARENTID, TITLE from CONTENT where PARENTID is not NULL
{sql}

{graph-from-table} 

Open Issues with this component

Jira Issues
columnstype,key,summary,reporter,assignee,priority,status
anonymoustrue
urlhttp://studio.plugins.atlassian.com/secure/IssueNavigator.jspa?view=rss&&pid=10330&component=10352&summary=true&description=true&body=true&status=1&status=3&status=4&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=none

Screenshots

Gallery