PlantUML in a nutshell
plantuml.com
plantuml.com
Anyway, PlantUML is my go UML tool because it is a markup language that can be version controlled by git.
[1] https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues...
You can sort of specify the direction of arrows, but since everything is a fluid layout, changing those in bigger diagrams behave very chaotic and unpredictable... I very often I just end up using other manual tools to paint those diagrams.
It's scattered about a bit through the manual, but you can achieve most things you need.
Really, there's a Zen of PlantUML where you stop trying to control it and focus on defining the relationships.
What I would like is way to specify start and end row and column number of nodes. That way it would be more predictable and changing the relations of two nodes does not cause everything to change.
Sequence diagrams come out all right, but I wish if there was some provision to lay diagrams out for automatic page breaks for a4 size paper, for example.
One nice feature of this markup language is creating diagrams programmatically. We wrote a small python tool that will take a State Transition Table (States cross Events) and create the diagram. I have found it helpful to start from the table to ensure States and Events are well defined and all options are considered, but once that is done the diagram is also quite useful for discussion.
Things that we have found helpful are the MediaWiki plugin and the Word plugin.
We’ve also started adding unique identifiers to all diagrams across our large development program, and keeping all diagrams in one central spot. That alone has been almost as useful as PlantUML.
I got tired of finding documents with a figure we needed somewhere else and hunting for 15 minutes for the source material.
We number the figures PRJ-FIG_0001 and have the source files in a top level shared folder (or svn/git). Note it’s important to have the figure id in the figure itself as well as the file name so when it’s imported into a doc the ID is embedded in the figure itself.
They suffer from formatting issues and are generally more trouble than anything to grapple with
It's probably best for sequence diagrams but activity diagrams with swim lanes and things are quite a chore to implement in an aesthetically pleasing way
The only issue I've really had is controlling the arrow paths.
I will give PlantUML another try since OmniGraffle is an overkill for the simple diagrams I make now.
In a readme's or wiki page for an epic/story I often usually use a copy of the diagram image, with a link to edit the text/markup, or the text just in a collapsed wiki element. Though there are now also plugins for Confluence and more I believe.
Why do you have to put an URL into quotes? You force everyone to manually remove it first because like this the link is broken.
Also to save other people some work: https://mermaidjs.github.io/
I want there to exist a simple format that I can put under version control that gives me neat looking diagrams – without requiring me to run a Java based server component.
Monodraw [0] and such are nice, but the diagrams are neither nice nor easy to change without having access to the editor.
On GitHub, you can use a trick to render the diagrams using the public PlantUML server, which works only is your diagrams can be public.
I have a script that renders the diagrams on a project which I run occasionally and it has worked ok for me.
btw, the repo isn't showing any picture only the documentation does. that could be improved!
I’ve written a converter for it too. https://www.npmjs.com/package/pcomp?activeTab=readme
I’ve tried doing this with PlantUML but never got it right. Is there a tool like PlantUML that is specifically for architecture diagrams like the ones above (custom icons, etc)?
I didn't use them much as an individual contributor, but as a lead, I rely on them all the time to communicate ideas.
PlantUML makes it so easy to do so.
Still, I use them in my projects and they help me very much.