OpenOffice offers macro alternative
Connecting state and local government leaders
SAN FRANCISCO--As anyone who uses them knows, macros can be both a blessing and a curse.
While macros automate routine tasks in an office suite, they are also notoriously brittle. Embedded in each document, they only work for the application they were created in. If the office suite is upgraded, the macros may no longer work.
And if the task that the macro is completing needs to be changed, then the macro needs to be updated in each and every active document in which the code is embedded'which could be a nightmare for the system administrator.
At the CommunityOne, the annual Sun Microsystems-sponsored open source conference held today in San Francisco, Sun senior software engineer Juergen Schmidt gave an overview of how the Extensions feature in OpenOffice allows developers to add additional functionality to the office suite. Sun is a heavy contributor to the volunteer-led OpenOffice.org open source office suite. The company offers its own commercially-supported version, called StarOffice. Schmidt co-leads the Extensions project.
Extensions could open a new world of rich interactions between the open source office suite and other applications. And for a starter, they could also macros.
OpenOffice Extensions are a bit like Firefox plug-ins. They are programs written to run within OpenOffice that customize the office suite. Extensions could be written to add new features to OpenOffice. Such functionality could be accessed by the top-level menus, or via new toolbars. An extension could also contain configuration files, contain a collection of macros, or templates.
Writing extensions could be useful for organizations insofar as they can customize
OpenOffice to their own specific needs, Schmidt said. The office suite can be tied directly to the document or content management systems, for instance, so that saving a file means it is directly saved in such a system. Smart tags could be defined that would highlight and offer to perform actions on any data that fit those formats, such as Social Security numbers.
Extensions could also customize documents. Schmidt offered the example of how a document template could include a call to a Web service that provides weather information. So when the document is printed out, such information could automatically be included and even appropriate images (a sun shining, an umbrella) could automatically inserted.
Of course, Extensions works only on OpenOffice, though Microsoft has long offered similar capability for its Office suite, through the Visual Basic for Applications, and--for larger tasks'the Visual Studio Tools for Office.
However, OpenOffice's Extensions does have some advantages over Microsoft Office application development, Schmidt argued. For one, a single extension can be written for OpenOffice instances running across on different operating systems.
Also, OpenOffice extension could support a wider variety of programming languages. Developers can build the functionality using any languages such as Java, Python, C#, StarBasic or C++. The key is that they use the Open Office's Application Programming Interface to communicate with the program.
"We have an API for nearly everything and if you missed something you can request it, and we'd probably implement it pretty quickly," he said.
Developers can also make use of extensions written by other parties. The OpenOffice Foundation also offers its own repository of publicly available extensions.
(Interesting sidenote [5/6/08]: Juergen Schmidt wrote in to note that "StarOffice 9 will be binary compatible with OpenOffice.org 3.0. Only the brand will be different and that all [of Sun's] code contributions go back into the OpenOffice.org project 100 percent. Sun provides more than 90 percent of the code contributions).
NEXT STORY: Post time for coders