OpenOffice NetBeans Integration
The intention of the StarOffice/OpenOffice.org NetBeans Integration is to simplify the development of office extensions. StarOffice/OpenOffice.org offers an API to program with or for the office and allows to automate tasks even remote or in process and allows to extend the office with completely new functionality. The NetBeans integration should simplify the access and usage of the API in new projects and should simplify the task of creating complete office extension packages (comparable to NetBeans plugin modules).
The focus is on creating new wizards for various tasks plus common basic functionality. We focus primary on Java but the support of C++ is also planned and depends on the C++ support in NetBeans which is planned at least for NetBeans 6.0. The planned feature list is not final and probably more specalized wizards for other service provider interfaces (SPI) are comming in the future.
New Project Types
- OpenOffice Simple UNO Client Application Project Type
This project type will create an adapted J2SE client application project with additonal support of the simple UNO bootrap feature. Means an adapted manifest file to support the bootrap feature and bundling of some precompiled bootstrap glue code with the client application jar.
- OpenOffice Calc Add-In Project Type
This new project type will create an adapted J2SE class libary project with special support for an UNO component library and an office extension package. The wizard will collect necessary information for new Calc built-in functions and abstracts from the underlying UNO technology.
- General UNO Component Project Type
This new project type will create an adapted J2SE class libary project with special support for an UNO component library and an office extension package. The wizard will collect information about services and additional optional interfaces which should be implemented and will generate a complete code skeleton with already implemented component helper functions and default implemented interface methods.
- OpenOffice Add-On Project Type
This new project type will create an adapted J2SE class libary project with special support for an UNO component library and an office extension package. The wizard will collect necessary information for an office Add-On component and will generate a AddOn specific code skeleton.
- OpenOffice Scripting Project Type
This new project type will create an adapted J2SE class libary project with special support for office scripting. It should provide the possibility to import scripts from the office and open documents, edit, change and build these scripts, debug them and export them back (currently the support is planned for Java scripts only).
- OpenOffice API Library API Wrapper Project Type
This new project type should create a Libary Wrapper Module to support simply usage of the office API in own projects. It bundles the neceesary API jar files from the office in the library and in client applications. This of course is necessary to make use of the office API in clients running on machines where no office is installed and where the commincation with the office is made over a remote socket connection.
- UNOIDL Support
Means support of a new file type for UNOIDL files, including compiling, UNOIDL editor with syntax highlighting. A wizard for defining new UNOIDL types should be supported as well.
- Debug Support
Means debug support directly from NetBeans for new built and deployed extensions in in the office process as well as the debugging of scripts in the office.
- Support of office extension package
This have to be defined in detail but it should at least support the browsing of a .oxt file in the NetBeans file system similar to jar|zip files.
- File type for xcu files
This have to be defined in detail but we can think of a special editor for office configuration files.
The current preview supports two new project types, one client application wizard and one Calc Add-In wizard. The latter one allows the definition of new Calc build-in functions for the spreadsheet application which can be directly used from the build-in functions wizard. The user don't need any knowledge of the underlying UNO technology and can define new functions on a higher level.
Once you have installed the plugin manually you will be able to easy update to future releases by using the integrated Update Center in NetBeans. The plguin comes with it's own OpenOffice.org Preview Updated Center where we will provide future previews.
The plugin org-openoffice-extensions.nbm works only in combination with an installed StarOffice/OpenOffice.org installation and an appropriate StarOffice/OpenOffice.org Software Development Kit (SDK).
- org-openoffice-extensions.nbm - the preview plugin module.
- OpenOffice.org 2.0.3 or StarOffice 8 Product Update 3 office installation
- a special OpenOffice Software Development Kit (SDK) developer build, which is not yet available :-( (... building, stay tuned)
The current version of the NetBeas plugin is a first preview and have to be installed manually as a normal NetBeans plugin over the “Update Center” in NetBeans. The manual installation is only necessary the first time adn then you can use the intergted OpenOffice.org Preview Update Center. Simply choose
- NetBeans -> Tools -> Update Center -> Install Manually Downloaded Modules (.nbm Files)
select the downloaded module and follow the wizard to install it.
Before you can use the new project types you have to configure the plugin because it needs an installed office and SDK installation. Please choose
- Tools -> Options -> Miscellaneous -> StarOffice/OpenOffice.org Extensions
and select a valid office and SDK installation.
The configuration step installs automatically a new office libary which can be used in other projects diectly to support the office API. Including this library in own projects enables conetext senistive help and code completion automatically.
Working with new Project Types
The plugin integrates two new project types under the category StarOffice/OpenOffice.org:
- StarOffice/OpenOffice.org Calc Add-Ins
- StarOffice/OpenOffice.org Client Application
The wizards will collect the necessary information to create the new projects and should follow the NetBeans philosophy. You can simply choose
- File -> New Porject -> StarOffice/OpenOffice.org -> <project_type>
For more details about the proejct types please take a look to OpenOffice Simple UNO Client Application Project Type or OpenOffice Calc Add-In Project Type
Known Problems and Missing Features
- context sensitve help doesn't work on Linux (Solaris not yet tested), even the javadoc generated Java UNO runtime reference documentation doesn't work on Linux. Under Windows both work as expected.
- the integrated update center module doesn't work on Linux (known bug in NetBeans which is fixed at least in NetBeasn 6.0). Workaround is to install NetBeans locally where you have write access.
- it is not yet possbile to insert a description or display names for new Add-In functions or parameters (next version, we are working on the UI)
- syntax highlighting of UNOIDL files does work proper and needs to be improved
This is a preview only and the whole stuff is under development and needs to be improved. Feedback is welcome and highly appreciated and we would like to invite you to discuss it on email@example.com (Note: you have to be subscribed on the mailingt list).