Tools for Diagramming in Fedora
Posted by	Máirín Duffy	on June 9, 2014
If you're a big-time open source fanatic like me, you probably get questions about open source alternatives to proprietary tools rather frequently. From the 'Alternatives to Microsoft® Visio®' department, here are three tips that should help designers who use Visio in an open source environment. If you need an open source option for opening Visio files, a revived open source application for creating diagrams, or a lesser-known open source tool for converting Visio® stencils, these tips are for you.
1. Opening Visio files
Open source tools haven't been able to open Visio (.VSD format) diagrams for a pretty long time. The format is commonly used for infrastructure and architecture documentation and planning—and less commonly, for user interface design and planning.
Thankfully, Summer of Code students Eilidh McAdam and Fridrich Strba implemented support for opening .VSD format files in LibreOffice Draw last summer. This support is now available in Fedora's version of LibreOffice and has been since Fedora 17.
Screenshot of LibreOffice Draw opening up a Visio VSD diagram.
You can install LibreOffice Draw with the following command:
yum install libreoffice-draw
If you prefer to use Inkscape or any other open source SVG editor (such as Karbon14 or Xara,) Eilidh McAdam produced libvisio which works with the libwpd tools for converting .VSD files to .SVG—making it possible to open them in any SVG editor in Fedora. For Fedora 20, you'll need the libvisio and libvisio-tools packages that are now available, which you can install via the following command:
yum install libvisio libvisio-tools
These two projects are covered in detail in Libre Graphics World, including full instructions on VSD-to-SVG conversion.
Note: There isn't a solution yet for writing out to .VSD format, but you can write out to .PDF, of course, which may serve your needs in sharing your modified and originally .VSD-format diagrams.
2. Creating diagrams in a Visio-like environment
A screenshot of Fedora 20's Dia. We've highlighted how to turn on anti-aliasing, which might help your diagrams come out looking better.
Traditionally, Dia has been the best game in town for open source diagramming, but it hasn't changed much over the years and requires a lot of tweaking and extra work to produce beautiful diagrams. For example, diagram graphics are not anti-aliased by default in Dia 0.97.2. We've highlighted how to enable this in the preferences dialog shown in the screenshot above.
You can install Dia with the following command:
yum install dia
Screenshot of an Inkscape development version, showing some diagramming capabilities including the symbols library and enhanced diagram connector tool.
Inkscape is another option—my preferred one—but as a general vector graphics editing tool, it doesn't have the specialized niceities and workflow of a tool specifically focused on diagramming and takes a bit of experience to use it effectively for creating diagrams.
We show the pre-release / development version of Inkscape, packaged as a Copr for Fedora by Ryan Lerch.
While the diagram connector tool has been available in Inkscape for quite some time, the tool has been enhanced in the pre-release – check out the tool options bar above the canvas that corresponds to the tool. There are more options you can choose from in how the connector tool connects different objects in your drawing – you can fine-tune them a lot more fluidly now.
The Inkscape pre-release also features the relatively new symbols library feature not available in the version of Inkscape provided in the main repos. The Inkscape wiki has some information about this new feature, but there aren't any tutorials or anything around it yet. It basically provides you with a docked palette that lets you peruse different libraries of symbols or graphics – some of which are diagram / flow chart symbols – and drag them onto the canvas.
Check out Ryan's post on his Inkscape pre-release Fedora packages to learn how to get these new features.
Calligra Flow
Calligra Flow diagramming tool in Fedora 20.
Calligra Flow, which is part of the Calligra suite of productivity applications, is perhaps the best option tailored for someone looking to produce attractive diagrams using open source software. The lineage of this application can be traced back to the KOffice Kivio diagramming tool, which according to Wikipedia was initially released in October 2000. In mid 2010, the Calligra project split off of the KOffice project; not long after, Flow maintainer Yue Liu got to work improving the stencil system and included stencils.
Calligra Flow looks to be a pretty promising diagramming tool, so give it a shot! You can install Calligra Flow with the following command:
yum install calligra-flow
3. Converting Visio stencils (.VXD) to .SVG
Converting Visio-format stencils to .SVG involves a pretty kludgy workflow that doesn't always work. Depending on how complex the stencils are, though, it's possible to extract the shapes from a .VXD stencil file and use them as .SVGs. It involves using an old and seemingly abandoned project, so not much is new here, but now that you know how to open .VSD files, it may be of more interest to know how to also open .VXDs files.
Remember, this process can be really buggy and may need some love. For example, you have to move the included 'chunks_parse_cmds.tbl' file to the directory you run the command from, in order for it to work. Even then it fails sometimes, but, it's a start!
The format for Calligra Flow stencils is open and it is ODG-based, so with some effort it is possible to manually convert VXDs to Calligra Flow stencils, and the project has an open call for help on that front. If you'd like to get involved, it seems like a great place to start.
This post originally appeared on opensource.com and has been revised and updated for Fedora 20.
Fedora Project community
Máirín Duffy
Máirín is a principal interaction designer at Red Hat. She is passionate about software freedom and free & open source tools, particularly in the creative domain: her favorite application is Inkscape.
Sudhir Khanger
I am getting into Android Development and I would like to download/take screenshots, annotate them, and arrange them in a wiki style. So that I could have a broader view on the direction my apps should take. Do you have any suggestions on it?
What do you use for wireframing?
Ryan Lerch
For annotating screenshots, Inkscape is probably your best bet — you can easily import screenshots into inkscape (even though it is a vector editor).
Another tool to look at for the screenshots themselves is shutter (http://shutter-project.org/), its available in Fedora. It also has a built-in image editor with a focus on annotating screenshots.
I didn't know about Calligra Flow. It's nice. Thanks!
Dejan Lekic
For diagramming, I am using yED ( http://www.yworks.com/en/products_yed_about.html ). It is a free, Java-based application with amazing capabilities. I have tried all the applications mentioned in this article, and none of them can compete with yED in my humble opinion.
I've heard good things about it. I didn't mention it because it's not open source, so it's not in Fedora (although it's installable on top of course.)
Hi Máirín,
A couple of years ago you helped me get some network topology shapes for LibreOffice into Fedora. Things have come a long way since then, and we're now making them available in both the LibO and AOO extensions repositories. The gallery has grown to over 180 shapes, and we include a couple of templates with isometric guidelines to assist with layout. Your readers may be interested in checking out http://www.vrt.com.au/downloads/vrt-network-equipment.