Deprecation notice:
Please note that the URL user and URL password parameters are deprecated and will be removed on March 31, 2022. We recommend using profiles to access your data from remote locations.
Description
The Digraph Macro creates directed graphs
Graphviz Resources
Graphviz is a powerful way of describing diagrams of any kind, using just text. Graphviz provides automatic layout of diagrams based on the text. Have a look at the following Graphviz resources.
- Graphviz home
- Gallery Of Example Diagrams
- Online Documentation
- Getting started tutorial - Jodie Miners has provided this nice tutorial
- Color names
Parameters
The following parameters are available with all Graphviz macros:
Macro editor label | Default | Description | Macro parameter |
---|---|---|---|
Template | Enables users to pick a pre-configured template and make simple changes as per their requirement. Since 3.2.
| template | |
Output type | png | Specifies the output type to be generated by Graphviz. Since 2.1.0.
| output |
Location of <type> source (Where 'type' includes Graphviz/ UML) | Specifies the source from where the macro reads the data.
Graphviz recognizes the commands only when you nest the commands under "noformat", "wiki-markup", "code", or "code-pro" macros, for the sources mentioned below:
| script | |
Show <type> markup code (Where 'type' includes Graphviz/ UML) | False | Shows the markup code, Graphviz or UML, below the generated graph. Useful for fixing syntax errors or to see the markup that is generated by macro processing or macros like the Space graph macro. | showCode |
Attachment name | Specify the name of the attachment to use, create or update. Use of attachments is optional but can be useful for linking from other places and to work with the Cache macro to improve display performance. Examples:
| attachment | |
Attachment version | new | Specifies how the generated graph is persisted as an attachment.
| attachmentVersion |
Attachment comment | Specify the comment on the attachment that is created or updated. | attachmentComment | |
Attachment versions to keep | Limits the number of attachment versions of a file that is attached to a page. If the maximum number of attachments exceeds the limit, then the oldest version is deleted. Since version 3.2. This parameter is only applicable if you select new from the drop-down list under Attachment version in the macro editor. | attachmentLimit | |
Thumbnail | False | Used when an attachment is specified, and output is PNG, JPG, or GIF. Renders graph as a thumbnail.
| thumbnail |
Render wiki markup macros in body | False | Used to render wiki markup macros found in the body before processing as Graphviz markup. This is useful to run macros from Scripting for Confluence or similar that can produce Graphviz markup as output. Since 3.2. This parameter is not available in the Graph from table and Space graph macros. | macros |
Layout | dot | Specifies which default layout algorithm to use. Since 3.2.
This parameter is not available in the PlantUML macro. | layout |
Profile | Specify a profile to be used with the macro. Administrators set up profiles to connect to other applications such as GitHub or GitLab. Profiles contain a basic set of parameters used to access a remote location such as the type of URL, user credentials, and so on. Some profiles may be restricted. Since 3.4.
| profile | |
URL to <macro> file (Where 'macro' includes Graphviz/ Diagraph/ Graph/ PlantUML) | Specifies the URL link to the Graphviz file. Administrators may restrict use. Since 3.2.
| URL | |
URL user (Removed) | Specify the user name to access the specified URL via basic authentication. Since 3.2. Removal notice Please note that the URL user and URL user password parameters were removed (see Deprecation notice: URL user and URL user password parameters). We recommend using profiles to access external data. | user | |
URL user password (Removed) | Specify the user password to access the specified URL via basic authentication. Since 3.2. Removal notice Please note that the URL user and URL user password parameters were removed (see Deprecation notice: URL user and URL user password parameters). We recommend using profiles to access external data. | password | |
URL connection timeout | Specify the time in milliseconds used to increase the wait time to access the specified URL on slower connections. Since 3.2. | timeout | |
File encoding | Specify the encoding of the file attachment if it is different from the Confluence default (like Windows-1252, UTF-8, MacRoman). Since 3.2. | encoding | |
Enable scroll bar | true | Used to enable scroll bar for the data generated by Graphviz. Since 3.4.1 | enableScroll |
Height of the scroll bar | 550px | Specify the height of scroll (applicable when scroll bar is enabled). Since 3.4.1 | scrollHeight |
For multiple macro sources (i.e. template, attachment, and URL), the order of precedence is URL > attachment > template.
Points to remember about profiles:
- Only raw URLs must be given in either, the URL field in profiles or the URL to Graphviz/Diagraph/Graph/PlantUML file field, in the macros. A raw URL is defined as the part of the URL following the domain information and includes the query string, if present. For example, in the URL string http://www.contoso.com/articles/recent.aspx, the raw URL is /articles/recent.aspx.
- It is recommended to specify absolute URLs to access files from public locations and to use profiles to access files from private sources. For example, a raw URL that can access a Graphviz file in a public Bitbucket repository is valid. But to render a file located in a private repository, we recommend using a profile.
- Profiles are a means to access and retrieve contents from external applications such as Bitbucket, GitLab or GitHub. A profile already contains the base URL and the required credentials (user credentials or an access token) to access the relevant application.
- This method allows multiple users to access a profile across pages and instances of the macro.
Examples
These are some very basic examples of what you can achieve easily. For more advanced layouts and formatting, please refer to the Graphviz resources.
Macro Call | Macro Output |
---|---|
{digraph} | |
compound=true; subgraph cluster0 { a -> b; a -> c; b -> d; c -> d; } subgraph cluster1 { e -> g; e -> f; } b -> f [lhead=cluster1]; d -> e; c -> g [ltail=cluster0, lhead=cluster1]; c -> e [ltail=cluster0]; d -> h;
|