OpenOffice.org Extensions

by Bruce Byfield

OpenOffice.org extensions are a quick way to add functionality. Writable in a variety of languages, including Java, JavaScript, OpenOffice.org Basic, Python, and C++, they allow developers to contribute features without having to master much of OpenOffice.org's notoriously cryptic source code. For users, they provide quick fixes for commonly requested features.

For some reason, OpenOffice.org extensions have yet to capture developers' imaginations the way that Firefox extensions have. For every OpenOffice.org extension, there must be 20 or 30 for Firefox. Still, the few that exist are worth a look. In several cases, they provide small bits of functionality that users often request on the project's mail forums. Others fulfill specialized needs that OpenOffice.org hasn't addressed yet.

Those who wish to write extensions can find the information to get them started on the OpenOffice.org wiki. For those who are mainly consumers of developer's efforts, what follows is a description of how to use extensions, and a sampling of what's available.


Working with extensions

The best source for OpenOffice.org extensions is the repository page of the project's wiki. Extensions are packaged as zip files, and are generally small enough that they can be quickly downloaded, even with a dialup Internet connection.

To add an extension, start OpenOffice.org and select Tools > Package Manager. The Package Manager window shows two tree views: My Packages for extensions added only for the current user account, and OpenOffice.org Packages for extensions added by the root user for all accounts. Select one of these trees, then click the Add button and navigate to a downloaded extension. If the extension is added to the current user account, it is copied to ~/.openoffice.org2/user/uno_packages in the account's home directory. If the extension is added to all accounts, it is unpacked to ~/share/uno_packages in the base OpenOffice.org installation, which is generally in /opt, but may be elsewhere in other distributions. In Debian, for example, it's in /usr/lib/openoffice. Regardless of the location, once the extension is unpacked, it is listed in the Package Manager window and you can delete the downloaded zip file.

By default, added extensions are enabled. However, if an error occurs during installation, you may need to select it and click the Enabled button to make it available. You may also need to use both the Disable button to keep two or more conflicting extensions from being enabled at the same time. Extensions should also be disabled before they are removed. Otherwise, OpenOffice.org freezes and has to be killed and restarted.

Most changes to extensions occur on the fly. However, if you remove an extension, its menu items or toolbar buttons continue to be displayed until you quit all current documents. You don't have to restart OpenOffice.org -- just close everything until only the basic gray window is the only one that displays.


A selection of extensions

Here's a few of the extensions I've found most useful. All the extensions mentioned are available from the OpenOffice.org repository unless otherwise indicated:

  • History Manager: Messages on the OpenOffice.org User list used to frequently ask how to increase the number of recent documents displayed in Writer. This request is less frequent since version 2.0 increased the list of recent documents to ten, but still occurs. History manager adds a sub-menu item to Tools > Add-ons for changing the size of the list. It also includes a field for changing the Undo steps, although the same function is available from Tools > Options > OpenOffice.org > Memory. The extension removes the need to edit core files to change the recent document list, but probably you'll want it only until you are confident that the changed size does not slow down the program significantly. After that, you can disable or remove it.
  • OOo Blogger: These days, every word processor and text editor seems to be adding blog posting tools, and OpenOffice.org is no exception. OOo Blogger adds a Blog menu for posting new entries and editing old ones, with fields for entering the user name, password, and URL.
  • LanguageTool: One of the major gaps in OpenOffice.org Writer is a grammar checker. Although many point out that, if you know enough to use a grammar checker without being lured into even more errors, then you don't need one, the demand for one remains high on the User list. LanguageTool is a first effort to provide a grammar checker for English, German, and Polish. The English configuration checks by default for over 70 common grammatical errors and typos on either the entire document or selected text. While the response time is a little slow, in general LanguageTool performs about as well as any grammar checker -- that is, it catches small errors quickly, and can sometimes frustrate you with irrelevant queries. Its only drawback is that it requires Java 1.5.0, which free software supporters may not want to install.
  • OOo Wikipedia: Not included in OpenOffice.org's extension repository, OOo Wikipedia is OpenOffice.org's answer to MS Word's link to Encarta. OOo Wikipedia consists of two toolbar buttons, one of which opens your desktop's default web browser in an article on the nearest word to the cursor in the language of your choice, and one of which does the same for a selected word. For researchers, OOo Wikipedia is invaluable, especially if you are doing an on-line article and need a link for readers who may need some background. It's such a handy tool that Debian includes it by default in its OpenOffice.org packages. The one problem is that, when LanguageTool is enabled, OOo Wikipedia becomes non-functional, so you can't use both at once.

This list is by no means exhaustive. However, it's enough to give a sense of the variety of functions that extensions can offer.


Waiting for functionality

Whether you can use an extension may depend on what version of OpenOffice.org you are using. For instance, in Debian, OpenOffice.org files are repositioned to conform to Debian standards, so if you use the Debian OpenOffice.org packages, extensions that require the paths used by the standard OpenOffice.org packages may fail. That seems to be the case with OOo Multisave, a useful tool for simultaneously saving files in different formats. If you really want such extensions, you can probably rewrite them once you research how the paths have changed. Alternatively, you can use the packages available from the OpenOffice.org site, converting them to .debs if necessary using alien.

Another option may be to wait for another OpenOffice.org version. In the past, macros for installing new fonts and dictionary files written by Laurent Godard, Extensions Lead for the project and the creator of OOo Wikipedia, have found their way into new releases, and it's likely that some extensions will follow the same path in the future. OOo Wikipedia, for one, seems likely to do so, since it adds a feature that MS Word has and OpenOffice.org Writer currently lacks. Others may not, either because they are low priority or for some other reason. But perhaps the biggest point of extensions is that you don't have to wait -- they're available as soon as someone (maybe you) see a need.


Bruce Byfield is a computer journalist who writes regularly for the Newsforge and Linux Journal sites.

Load Disqus comments