Extensions for OpenOffice.org Draw
Draw is probably the most under-estimated of the OpenOffice.org applications. Either users seem to expect it to be equivalent to the GIMP or Visio, or they fail to see its desktop publishing possibilities -- but in all cases they are disappointed. Probably, that explains why the OpenOffice.org Extensions page has only a handful of Draw extensions. It may also explain why some of the few that are available are limited in functionality and awkward to use, and almost all seem to still be in heavy development.
Like most OpenOffice.org extensions, those for Draw are installed via Tools -> Extension Manager. Usually, the easiest way to install them is by selecting My Extensions, and readying them for the current account only. Many of the extensions are written in Java, although a free implementation like IcedTea or GCJ is usually all that is necessary, rather than a copy of Sun's Java.
Clkr.com is a site for royalty free clip art. It is not as large as the better-known Open Clip Art Library, nor as careful about explaining licensing, although all its content appears to be in public domain. To use the site's Java-based extension, you will need to create a free account first.
Throughout, the extension is a little fidgety, in the same way that World War 2 was mildly unpleasant. On my Fedora installation, it gives an annoying message about "Error setting look and feel" when I first open a new Draw file, and when I first open the top-level menu it adds (which is labelled Clkr Menu, as though the developers figured you couldn't figure out what a block of text on the menu bar would be).
However, if you get beyond these annoyances, the extension is simple enough to use. Selecting Clkr Gallery -- the only item in the menu -- opens a dialog in which you enter your email and the formats that you would like listed: Draw's .ODG, or else .SVG or .PNG. When a list of available offerings displays, you can select one and copy it directly to your desktop clipboard. It's a mildly handy feature, if only the interface were improved, but I would suggest you use it with a browser open, and turn it off when not using it.
CADOO.o is a Python add-on designed to give Draw some basic CAD features. It adds an extensive top-level menu, as well as an additional tool bar above the drawing one at the bottom of the editing window when a menu item is chosen. Once you are familiar with its features, you may prefer the icons on its floating window to the menu.
The CADOO.o menu begins with a number of tools for drawing polygons, squares, circles, rectangles, ellipses, and arcs around one or more points, or by specifying the radiuses. diameters, lengths, or Once the objects are draw, you have the option of using the Cut, Extend, or Join tools to edit them using Draw's anchor points. This drawing system duplicates some of the tools already available in OpenOffice.org, but offers greater accuracy, especially for drawing ellipses and arcs, as well as general manipulation of objects. Also on the menu is a tool for drawing stairways, which I presume is a sign of a larger set of architectural tools yet to come.
CADOO.o is an ambitious extension, and obviously a work in progress. However, as you might expect, the logic of its tools is somewhat at odds with that of Draw itself. It is also sluggish enough that it needs to be used full-screen, and at 100% magnification unless you want to frustrate yourself with efforts at positioning objects. In addition, if you read French, you might want to look at the help pages for the extension. Even in its present form, the extension is an expert's tool, and probably it will become more so as the work progresses.
Unseen or already seen
These are not -- quite -- the only extensions for Draw. As I mentioned in an earlier article about general extensions, CropOOo adds the much-needed ability to crop the display of objects in OpenOffice.org, and I personally consider it a basic necessity for any OpenOffice.org user working with graphics. Another potentially useful extension is PubOOo, which converts Microsoft Publisher documents into Draw format, but, since it is currently available for Windows only, I was unable to test it.
Another intriguing project is DrawingTags, which generates a document detailing all the objects in an OpenOffice.org in a table in a new document for easy viewing. In a large or complex drawing, this tool could save users all the irritation of either prodding gingerly with the mouse to find information or searching the linearly arranged list in the Navigator. However, as the information page admits, DrawingTags is currently only in beta form, and not not available as an integrated extension yet. Unfortunately, as well, although the instructions suggest that you can run it as an external script on any operating system, I was unable to do so.
But, beyond these offerings, extensions for Draw are still limited. In theory, a series of extensions could give Draw more desktop publishing features (although you can use Writer if you want more fine-tuned control than Draw provides) or, alternatively, more GIMP-like or Inkscape-like features.
In practice, though, these possibilities have still to be explored. Perhaps the free software ecosystem is advanced enough that those want advanced graphics features can simply work in another piece of software and import the results into Draw as needed. More likely, the interest in OpenOffice.org extensions is still new enough that the community of developers have not exhausted the possibility of more commonly used applications.
All the same, as some of the existing examples show, one person with an interest can do a lot. A few individuals are already looking for ways to enhance Draw, but clearly it's going to take a while before much work is done.
-- Bruce Byfield (nanday)
- Is the Private Cloud a Real Cloud?
- Give new life to old phones and tablets with these tips!
- Readers' Choice Awards 2014 Poll
- Tech Tip: Really Simple HTTP Server with Python
- Memory Ordering in Modern Microprocessors, Part I
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- Returning Values from Bash Functions