[[PageOutline(2-5,Contents,pullout)]] = Render PlantUML diagrams in wiki pages == Description This plugin allows the integration of PlantUML on Trac wiki pages, where the diagrams are dynamically generated and embedded. See below for examples. [http://plantuml.sourceforge.net/ PlantUML] is a Java utility that allows generation of different types of [wikipedia:Unified_Modeling_Language UML] diagrams (such as sequence, activity, state, use cases, objects) from a simple text description file. PlantUML itself is distributed under the GPL license. This macro can be used as follows: 1. As a !WikiProcessor with markup: {{{ {{{#!PlantUml @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml }}} }}} will render the following UML diagram: [[Image(sequence.PNG, border=2)]] 2. As a !WikiProcess rendering files from the repository: {{{ {{{#!plantuml path="/path/to/repository" ... }}} {{{#!plantuml path="/repos/path/to/repository@rev" ... }}} }}} 3. As a macro rendering files from the repository: {{{ [[PlantUml(/path/to/repository)]] [[PlantUml(/path/to/repository@rev)]] }}} Additional documentation can be found on the WikiMacros page after installing the macro. More information on the PlantUML language and different types of UML diagrams can be found on the [http://plantuml.sourceforge.net/sources.html PlantUML Website]. See also: [[ListTagged(diagram, realm=wiki, exclude=PlantUmlMacro)]] == Bugs/Feature Requests Existing [report:9?COMPONENT=PlantUmlMacro bugs and feature requests] for !PlantUmlMacro. If you have any issues, create a [/newticket?component=PlantUmlMacro new ticket]. [[TicketQuery(component=PlantUmlMacro&group=type,format=progress)]] == Download Download the zipped source from [export:plantumlmacro here]. The macro is also available on [pypi:TracPlantUml PyPI]. == Source You can check out PlantUmlMacro from [/svn/plantumlmacro here] using Subversion, or [source:plantumlmacro browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. '''Notes''': 1. Below instructions should be specific to some operating systems. Please help expanding these instructions. 1. `[sudo]` is optional in case you already have authorisation to modify your server. '''Installation steps''': 1. '''Check''' dependencies: 1. A valid Java runtime environment. 1. [http://plantuml.sourceforge.net/download.html plantuml.jar]: save it to the location that you'll specify in the configuration section `/path/to/plantuml.jar`: * Download PlantUML jar: {{{#!sh [sudo] wget https://sourceforge.net/projects/plantuml/files/plantuml.jar }}} * Check version of PlantUML jar: {{{#!sh cd /path/to/plantuml.jar [sudo] java -jar plantuml.jar -version }}} 1. [http://www.graphviz.org/ Graphviz]: check if installed and working as required in [http://plantuml.sourceforge.net/graphvizdot.html graphvizdot]. {{{#!sh [sudo] java -jar plantuml.jar -testdot }}} [[BR]] 1. '''Install''' component: * with easy_install, globally: {{{#!sh [sudo] easy_install https://trac-hacks.org/svn/plantumlmacro/trunk }}} [[BR]] 1. '''Enable''' this component as follows: * by updating [wiki:TracIni trac.ini] file under appropriate configuration section; {{{#!ini [components] plantuml.* = enabled }}} * or accessing your Admin panel (under selected Trac environment {{{ ..admin/general/plugins }}}). 1. '''Configure''' the Trac environment as follows: * by updating [wiki:TracIni trac.ini] file under appropriate configuration section; {{{#!ini [plantuml] plantuml_jar = /path/to/plantuml.jar java_bin = /path/to/java_bin (optional, if Java binary is not on the search path) }}} * example: `plantuml_jar = /project-resources/trac/plugins`. * example: `java_bin = java`, assumes that the Java binary is on the search path. * or accessing your Admin panel under selected Trac environment {{{..admin/general/plugins}}}. 1. '''Restart''' web server: * Apache on Ubuntu, example command line: {{{#!sh [sudo] /etc/init.d/apache2 restart }}} [[BR]] 1. '''Test''' if this component is working properly (main environment and secondary ones if you have). If this component is installed correctly, then the example shown in the [#Usage] section should be also displayed on the WikiMacros#PlantUML-macro page. == Recent Changes [[ChangeLog(plantumlmacro, 3)]] == Author/Contributors '''Author:''' [wiki:airadier] [[BR]] '''Maintainers:''' [[Maintainer]] [[BR]] '''Contributors:''' ebencheung, Erwin Rademaker