MediaWiki extensions manual
PlantUML
Release status: unmaintained
Implementation Parser function
Description Allows to add UML diagrams
Author(s)
  • Arnoud Roques,
  • Pieter J. Kersten,
  • Wolfgang Fahl,
  • Frédéric Planchon
Latest version 0.7.0 (2017-10-03)
MediaWiki 1.26+
Database changes No
License GNU General Public License 2.0 or later
Download

Download snapshot
GitHub:

Note:
No localisation updates are
provided by translatewiki.net .


README
Example sandbox.semantic-mediawiki.org
Parameters
  • $wgPlantUmlUseCloud
  • $wgPlantUmlDebug
  • $wgPlantUmlCloudURI
  • $wgPlantUmlJarFile
  • $wgPlantUmlFormat
Tags
<uml>
Hooks used
  • ParserFirstCallInit
  • PageContentSave

The PlantUML extension allows to easily add UML diagrams into Wiki using a simple text description.

Reporting issues

Diagrams supported

The following diagrams are available:

  • sequence diagram,
  • use case diagram,
  • class diagram,
  • activity diagram,
  • component diagram,
  • state diagram

The language is explained in this document: Language Reference Guide.pdf

Usage

Just put a PlantUML model description between the <uml></uml> tag.

Attributes

redraw
force diagram to be redrawn by deleting cached image.

Examples

Example 1

<uml>
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
</uml>

Example 2

<uml>
skinparam usecaseBackgroundColor DarkSeaGreen
skinparam usecaseArrowColor Olive
skinparam actorBorderColor black
skinparam usecaseBorderColor DarkSlateGray
skinparam usecaseActorFontName Courier

User << Human >>
:Main Database: as MySql << Application >>
(Start) << One Shot >>
(Use the application) as (Use) << Main >>

User -> (Start)
User --> (Use)
MySql --> (Use)
</uml>

Example 3

<uml>
package "Classic Collections" #DDDDDD
Object <|-- ArrayList

package net.sourceforge.plantuml
Object <|-- Demo1
Demo1 *- Demo2
</uml>

Example 4 - new features of 0.6

Using umlauts and international characters and modifying the format per uml tag is now possible

<uml format='png'>
hide circle
class ÄÖÜäöüßéÈô東京都 {
}
</uml>

Installation

This extension depends on the GraphViz extension (now obsolete for security reasons). You should install it first.

Then the code of the PlantUML extension is available here.

  • On Windows, you must set the read & execute permissions on C:\Windows\system32\cmd.exe for the account the PHP web service extension is running under. PHP needs those permissions to "fork" other process.
  • If using WAMP (and possibly other stacks) on Windows, you must set the "wampapache" service to "Allow service to interact with desktop".

In order to install this plugin, please follow the steps below.

  1. Go to the extensions folder of your MediaWiki installation.
    cd extensions
    
  2. Git clone the PlantUML sources
    git clone https://github.com/pjkersten/PlantUML.git
  3. Choose your usage style. You can either process images locally (on the server where MediaWiki was installed) or in the cloud. The local version supports SVG-images and embedded urls, at the cost of local processing. The cloud version is lightweight for your server, but does not support embedded urls (yet) and is (still) stuck with PNG-images. Default local processing is expected. If you want to use the cloud, please edit the PlantUML.php file and change $usecloud to true.
  4. When using local processing: get the plantuml.jar from SourceForge and put it in your extensions/PlantUML/ directory.
    wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar
    
  5. (Optional) Change the Format from svg to png.
    Edit your LocalSettings.php and add the variable $wgPlantUmlFormat to your preference e.g.
    $wgPlantUmlFormat="png";

    You can also change the format of the uml rendering using the "format" attribute of the uml tag e.g. with
    <uml format='png'>
    Mind that SVG produces the superior graphics, but that only PNG-images and image maps are "rock solid". If you use the cloud, it will always generate PNG images. Local processing defaults to SVG.
  6. (Optional) Adapt the getUploadPath and getUploadDirectory to your preference if you want these different from MediaWiki's standard settings. Mind that these directories must be writeable by the system user who runs MediaWiki.
  7. Put the following line near the end of your LocalSettings.php in MediaWiki's root folder to include the extension:
    wfLoadExtension( 'PlantUML' );
    
  8. When using SVG, check your mediawiki SVG settings
  9. When using the cloud, make sure that httpd can submit HTTP-requests.
  10. Reload http server

Debugging

To turn on debugging log messages you might want to add:

$wgPlantUmlDebug = true;

to your LocalSettings.php.

See also

This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.