wiki:GraphvizPlugin

Graphviz for dynamic generation of diagrams

Description

Graphviz logo

This is a plugin that allows the dynamic generation of diagrams by Graphviz programs within wiki pages and ticket descriptions. Graphviz is open source graph visualization software library, which itself is Eclipse licensed. Graphviz works by interpreting a textual description of the nodes and its connections.

The text of a wiki page can contain the source text for Graphviz and the web browser will show the resulting image. For example, add the following lines to a wiki page:

{{{
#!graphviz
digraph G {Hello->World->Graphviz->Rules}
}}}

and that would produce an image as follows:

Sample outout from the graphviz plugin, produced with graphviz-2.20.3 with pangocairo support

Note that you can insert TracLinks like this:

{{{
#!graphviz
  digraph G {
    rankdir = "LR"
    GraphvizPlugin [ URL=GraphvizPlugin ]
    Trac [ 
      URL="http://trac.edgewall.org/"   
      fontcolor=red
    ]
    GraphvizPlugin -> Trac
    }
}}}

This produces an image like this, but with clickable nodes (note that nodes aren't actually clickable in this example):

second example, this time with colour and TracLinks, also produced with graphviz-2.20.3 on Linux

More examples at: http://www.graphviz.org/gallery/

A plugin with simpler syntax and Javascript based is MermaidMacro.

Bugs/Feature Requests

Existing bugs and feature requests for GraphvizPlugin are here.

If you have any issues, create a new ticket.

When creating a new ticket, be sure to mention which version of Trac and which version of the plugin you are using. If the version number ends with dev, then please also specify the changeset number that corresponds to the version you are using.

defect

70 / 90

enhancement

23 / 33

task

1 / 1

Download

Or you can download the zipped source from here. Note that this contains everything regarding the Graphviz plugin including tagged releases and branches.

The plugin is also available on PyPI.

Source

You can check out GraphvizPlugin from here using Subversion, or browse the source with Trac.

Installation

  1. A prerequisite for installation are the programs from http://www.graphviz.org, which do not come with this plugin.
  2. Install in one of the following ways:
    • By hand:
      1. See graphvizplugin/trunk/README.rst for details on installing the plugin for Trac 1.3 and up
      2. See graphvizplugin/branches/1.2/README.txt for details on installing the plugin for Trac 1.0 and up
      3. See graphvizplugin/tags/0.11-0.7.5/README.txt for details on installing the plugin on Trac 0.11 and Trac 0.12.
    • Using pip install for Trac 1.3+:
      [sudo] pip install svn+https://trac-hacks.org/svn/graphvizplugin/trunk
      
    • Using pip install for Trac 1.0 and 1.2:
      [sudo] pip install svn+https://trac-hacks.org/svn/graphvizplugin/branches/1.2
      
    • Using easy_install for Trac 0.11 and 0.12:
      [sudo] easy_install https://trac-hacks.org/svn/graphvizplugin/tags/0.11-0.7.5
      
    • Note: sudo is optional and in case you already have authorization to modify your server.
  3. Restart your web server, for example this Apache command on Ubuntu:
    [sudo] /etc/init.d/apache2 restart
    
  4. Enable the plugin:
    • by updating your trac.ini with this:
      [components]
      ...
      graphviz.* = enabled
      ...
      
    • or accessing your Admin panel ( ..admin/general/plugins ).
  5. Configure your environment by modifying your trac.ini file.

You may also need to install the python-pygraphviz package.

Recent Changes

18539 by jun66j5 on 2023-04-07 00:08:42
TracGraphviz 1.4.0.4dev: Prepare for development
18538 by jun66j5 on 2023-04-07 00:02:57
TracGraphviz 1.4.0.3: Prepare for release
18525 by jun66j5 on 2023-03-19 14:22:48
Make compatible with Trac 1.5.4 and Python 3, and remove Genshi from dependencies (closes #14173)
(more)

Author/Contributors

Author: pkropf
Maintainer: Christian Boos
Contributors: cboos

Last modified 22 months ago Last modified on Feb 15, 2023, 6:02:30 PM

Attachments (6)

Download all attachments as: .zip