OOo Off the Wall: Macros and Add-ons

ReferenceManager, built by Ian Laurenson, is designed for working with collections of
cross-references, set references and bookmarks. The collection of macros
allows references and bookmarks to be reassigned and found. It also can
delete references without deleting text and find orphaned references.
The interface is confusing at first, until you realize the radio buttons
above the two panes identify the contents. Otherwise, the macro collection is ideal
for academic work. A particularly useful feature is the Demo button,
which Laurenson seems to add to most of his macros.

One of the weaknesses of Writer's cross-reference system is the
text before and between the cross-references must be added manually. The
process can be automated by creating user-defined fields containing the
text, but even that requires flipping back and forth between tabs in
the field windows and too many mouse-clicks. Ian Laurenson's Outline Cross-Referencer
remedies that by providing a GUI in which the entire reference can
be composed. Despite a rather cramped GUI and the long lapse between
clicking the Insert button and seeing the reference entered in the text,
this macro is a must-have if you use cross-references regularly.

In the current version, OpenOffice.org's Export to PDF tool is
disappointing. Although it usually produces an acceptable PDF under
Linux--it is more problematic under Windows--it sometimes chokes on documents
with elaborately formated tables or spontaneously changes fonts. Moreover,
even when it works, it cannot generate bookmarks or live links. These
features are said to be coming in version 2.0. Meanwhile, Martin Brown's ExtendedPDF not
only provides the missing functionality, but handles files that defeat
the Export to PDF tool. The interface does warn that paragraph spacing
and table spacing at the top of pages can cause hyperlink misalignments,
but in a dozen PDFs, most of them lengthy, I never saw any problems.

ExtendedPDF requires Ghostscript, which most desktop Linux installations
include by default. It also requires the setting up of a postscript
printer driver using OpenOffice.org's spadmin tool. These requirements
are explained thoroughly in the Writer document in which ExtendedPDF is
distributed. The document even includes a standard explanation of how
to add the macro to a toolbar.

The macro itself opens in a clean interface. Five levels of quality are
available to Export as compared with PDF's three levels, as well as three different versions
of PDF. Other choices include the view in which the PDF opens, the output
folders and the styles from which to generate bookmarks. A tab for PDF
Security is grayed out, but considering the low-grade of copy protection
available in PDFs, this lack hardly matters. The settings also include an
option to open a PDF after it is created in the viewer of your choice--a
small touch, but one that automates a step most people would do anyway.

By providing a GUI for detailed PDF generation, ExtendedPDF fills a gap
not only in OpenOffice.org but in Linux desktop productivity. In my
book, that makes it the one absolutely essential pick in this collection
of macros.

Making Macros Accessible

All macros from open documents are listed in the Macro from field when you
select Tools > Macros > Macro. If you have chosen to allow macros to run
when you open a document, other documents can use its macros. Otherwise,
the macros run only in the document to which they are attached.

Instead of opening a document each time you want its macros, you can
make its macros accessible from any OpenOffice.org document by following
these steps:

Select Tools > Macros > Macro >
Organizer > Libraries.

On the Libraries tab, select soffice in the Application/Document
drop-down list.

Select the Append button. A file browser
opens.

Select the file that contains the macros you wan
to add, and then select the OK button. The Append Libraries window opens.

Select the macro libraries that you want to add.
Then, click the OK button and close the rest of the dialogues.

To make a macro even more accessible, you can:

Add it to a toolbar by selecting Customize from the toolbar's
right-click menu. In the Customize Toolbar window, macros are listed in
the Available buttons pane. Use the Add arrow to place a button for the
macro in the Buttons in use pane, and the Move Up and Move Down buttons
to position the new button where you want it. Use the Icon button to
assign an icon or keep the button as text.

Add it to a menu by selecting Tools >
Configure > Menu > . Select the
macro from the Function section of the window, using the Category pane
to navigate through modules and libraries. With the the macro highlighted,
either select the macro position in the Menu entries pane and select New
> OK. Use the arrow buttons to reposition the macro or the New Menu to
create a new top-level menu before adding the macro.

Assign it to a keystroke combination by
selecting Tools > Configure > Keyboard. Select the macro from the Function section of the window, using
the Category pane to navigate through modules and libraries. Highlight
the macro, then choose the Shortcut keys and select Assign > OK.

Some macros, especially ones written in a language other than OOoBasic,
are packaged as add-ons. These macros are available as zipped files. They
are placed in the /user/uno_packages folder of your OpenOffice.org
installation directory and are installed by running
pkgchk from the /program
folder. When installed, add-ons may add an icon, menu or menu item,
depending on how they are packaged. Usually, an add-ons item is added
to the Tools menu that lists all installed add-ons on a sub-menu.

Comment viewing options

The figures for ReferenceManager and OutlineCross-Referencer are switched (as of June 2006). This makes the text descriptions a little confusing. I find OutlineCross-Referencer extremely useful and wish its functionality was hard-wired into OOo.

Although largely an unstructured brain dump, Pitonyak's book still is a valuable collection of tips from an acknowledged expert on OOoBasic.

which is a reasonable description of Andrew's macro document. However, his book is much more organised, and a better bet for anyone wanting to learn how to program OOo, as opposed to someone looking for example code. Sample chapters are available if you want to see the difference before you hand over any money.

You should also mention the brilliant OOxlate plugin which is a
simple Computer-Aided-Translation (CAT) package. It is composed of two packages, a Translation Memory server (tmdaemon) written in Perl, and an OpenOffice client (OOxlate), written in OpenOffice Basic.
Definitely worth a try

I've been wrestling with this plugin for quite a long time now and I can't get it to work. I seem to have a problem with the Java WebServices thingie and I haven't found a valid solution for it yet. (Any suggestions? please, pretty please...)

am struggling with it right now. have no idea how perl works and all i can find for tmdaemon is packaged for redhat and doesn't want to work in debian, however (after saying a small prayer) i removed the debian ooo packages and downloaded the ooo2.0 tar.gz. its all rpm's but they converted ok with alien and installed ok. time i got to the point, it seems to have all the needed java built in. if your using debian too, there is a brief but very helpfull howto on converting and installing 2.0 linked in the online installation instructions.