Related Links

As anyone who uses them knows, macros can be a blessing and a curse. They automate routine tasks in a spreadsheet, but are also notoriously brittle. They only work for the spreadsheet they were created in -- if the macro needs to be changed, the system administrator must update the macro in each and every machine that uses that macro. And if the office suite is upgraded, the macros may no longer work.

The developers behind the open-source OpenOffice, and its commercial offshoot Sun Microsystems StarOffice, have been working on an alternative, called Extensions.

'If you want to fix an error in a macro, you have to change all documents that contain that macro. With Extensions, you have to do it only once."'Juergen Schmidt, Sun Microsystems

"We have so many places where we can improve the existing feature set" in OpenOffice, said Sun senior software engineer Juergen Schmidt, who gave a presentation of Extensions at Sun's CommunityOne conference in San Francisco in May.

OpenOffice Extensions are programs written to run within OpenOffice that customize the office suite. New features to OpenOffice could be accessed by the top-level menus, or via new toolbars. An extension could also contain configuration files, a collection of macros, or templates.

The difference between macros and extensions is that extensions can be maintained in one location for the entire enterprise, and then updated on client machines as needed.

"It's easier to maintain. If you want to fix an error in a macro, you have to change all documents that contain that macros. With Extensions, you have to do it only once," Schmidt said.

Organizations could use Extensions to customize OpenOffice to their 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 saving it directly in such a system. Smart tags could be defined to highlight and offer to perform actions on any data that fit specific formats, such as Social Security numbers.

Extensions works only on OpenOffice and StarOffice, but 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 different operating systems.

Also, an OpenOffice extension could support a wider variety of programming languages, such as Java, Python, C#, StarBasic and C++.

The OpenOffice Foundation offers its own repository of publicly available extensions for OpenOffice. The repository for the Calc spreadsheet includes extensions for translating languages, formatting the spreadsheet into a calendar, and downloading data from online spreadsheets (GCN.com/1127).

About the Author

Joab Jackson is the senior technology editor for Government Computer News.