Gedit plugin PlantUML

Click here for the English version

Als programmeur is het vaak handig om voor een software ontwerp UML te gebruiken. Bij de meeste UML programma’s die ik tot voor kort kende moet je op grafische wijze diagrammen tekenen. Ik vind dit geen fijne manier om UML diagrammen te maken, omdat het fatsoenlijk uitlijnen van de elementen e.d. een tijdrovend precisiewerkje is met de muis – lees RSI. Daarnaast gebruik je de gemaakte UML diagrammen vaak als discussie-document, met als gevolg dat je na de discussie minstends nog een keer de diagrammen kunt aanpassen aan de nieuwe inzichten – lees RSI², of erger.

Onlangs maakte ik via een software-collega kennis met het UML programma met de naam PlantUML. Met dit programma ‘teken’ je UML diagrammen op een tekstuele manier, namelijk door gebruik te maken van een zogenaamde DOT-taal. Ik raak er steeds meer aan gewend om UML op deze manier te beschrijven en het levert heel behoorlijke grafische representaties op.

Op mijn werk gebruiken we de Eclipse plugin voor PlantUML voor het maken van onze UML diagrammen. Ik vind Eclipse echter van zichzelf al een log programma en bovendien gebruiken we Eclipse nergens anders voor. Thuis gebruik ik al jaren Linux en ik ben daarom bekend met de tekst-bewerker Gedit. Op de PlantUML-website zag ik dat er nog geen plugin voor Gedit bestond en daarom besloot ik er een te maken. In Python; een voor mij nieuwe programmeertaal – normaliter programmeer ik in C/C++ en in Delphi.

De plugin is ontwikkeld voor Gedit3 en maakt daarom gebruik van Python3. Hieronder lees je hoe je de plugin kunt verkrijgen en hoe je hem installeert op de verschillende besturingssystemen.

1   Rondleiding

2   Hoe te verkrijgen?

De meest recente versie kan middels de link hieronder worden verkregen als zip-archief. De plugin is uitvoerig getest met Gedit versie 3.10, de versie die beschikbaar is in Linux Mint en Ubuntu. Vanaf versie 3.11 is de gebruikersinterface van Gedit herontworpen. Hiermee hebben de Gedit-ontwikkelaars gebroken met hun eigen Python plugin-API, waardoor versie 1.1.0 van de plugin niet werkt in gedit 3.12 en hoger op dit moment.

gedit3-plugin-plantuml-1.1.0.zip (269 downloads )

Versie 1.2.0 van de plugin maakt geen gebruik van het zij- en onder-paneel van gedit, en ook niet van het gedit-menu. In theorie zou het daarmee mogelijk moeten zijn om de plugin ook in gedit 3.12 en hoger te gebruiken. Ik heb dit helaas nog niet kunnen testen.

gedit3-plugin-plantuml-1.2.0.zip (127 downloads )

Een voorbeeld van een door PlantUML gegenereerd UML-diagram vind je hier in de vorm van het klasse-diagram van deze plugin.

3   Hoe te installeren?

Omdat de plugin geen standaard onderdeel is van Gedit3, moet deze apart worden geïnstalleerd. Hieronder wordt per besturingssysteem aangegeven hoe dit kan worden gedaan. In alle gevallen dient Graphviz te zijn voorgeïnstalleerd.

Linux

Installeer Graphviz indien deze nog niet is geïnstalleerd. Dit kan veelal via de package manager (het pakket heet graphviz) of via de command-line, bijvoorbeeld door het commando apt-get install graphviz uit te voeren.

Pak het hierboven verkregen plugin-archief uit en kopieer de inhoud van de map /src naar je persoonlijke map /home/username/.local/share/gedit/plugins of de systeem-brede map /usr/share/gedit/plugins.

Windows

Voor zover ik weet is voor Windows alleen Gedit v2.30 beschikbaar. Dit betekent dat de plugin voorlopig nog niet gebruikt kan worden op Windows. Helaas, want ik zou Gedit3 graag gebruiken op Windows op mijn werk.

Ik heb al geprobeerd om Gedit3 te compileren voor Windows.  Zowel met behulp van  Cygwin (op Windows), als door middel van compileren op Linux gebruik makende van mingw32. Helaas beiden zonder (tijdig) resultaat. Het is wel gelukt om met behulp van MSYS2 (ook op Windows) en de beschrijving op Nacho’s Blog Gedit v3.14 te compileren. Echter, de plugin moet nog geschikt worden gemaakt voor gebruik met deze versie (zie ook de opmerking hierboven).

OSX

Geen idee, ik heb me hier nog niet in verdiept.

4.   Voor ontwikkelaars

De broncode en documentatie van de plugin is beschikbaar in de Subversion repository:

svn://ruudbeukema.nl/oss/gedit-plugin-plantuml