Office Development Kit - Overview

Purpose

The Office Development Kit (ODK) shall enable software engineers to develop components for OpenOffice without the need of the bulky OpenOffice build environment. The ODK may also be used as a framework to develop componentized software independent of OpenOffice.

The ODK includes the binaries of the base libraries, C++ header files, all OpenOffice idl-files, .jar-files and development tools (code generators, tools to register components, etc.). The ODK additionally includes some source examples and makefiles, that only require gnumake + C++-compiler or java compiler. The makefiles can be used as a template to integrate the development kit into any build environment.

The development kit is provided in future for every OpenOffice build.

How to get the ODK

The development kit can be downloaded from www.openoffice.org (see download section). If you have questions or simply are interested in the development kit, you should join the mailinglist dev@udk.openoffice.org (see http://udk.openoffice.org for subscribing to the list).

In general, a tarball containing the documentation and a tarball/zipfile for each supported platform containing the binaries can be downloaded.

ODK structure

If either the documentation tarball and the binary tarball have been extracted to the same director, you should have the following directory structure.
odk3.0.0                Description
    |
    +classes            contains all necessary class files for java UNO
    |
    +examples
          |
	  +cpp          contains C++ examples, see README in each directory for build instructions
	  +java         Java examples, see README build instructions
    |
    + idl               contains all interface decriptions used in OpenOffice
    |
    + include           C / C++ includefiles for the base libraries
    |
    + settings          Contains GNU makefiles, which are included by the example-Makefiles 
    |
    + windows
    (+ solsparc)
    (+ linux)
        |
	+bin            Contains UNO tools, registry and on windows dlls
	+lib            Contains on unix the shared libraries and on windows import libraries
    |
    + www               Contains the whole ODK documentation
    
    

How to work with the ODK

As mentioned above, the development kit's major target group are component developers for openoffice. You need the ODK and the binary OpenOffice installation set from the same build. ( Note, that the ODK-API will soon be freezed, so that in near future you could also use an older ODK for development).

In general you use the import libraries and headers from the ODK to develop your C++ components ( see the examples for sample makefiles). You can then take the resulting shared library and put it into the openoffice-installpath/program directory. Use the regcomp tool to register your component. You can then start OpenOffice and instantiate your component e.g. via basic.

Note that you can then deliver the shared library to other users, which only have an OpenOffice installed. As soon as ODK has frozen the API, you can put your once built binary under every new version of the OpenOffice.

Where to go from here

Documentation

The UNO Development Kit homepage and the API homepage are probably good entry points for the whole documentation. Here are just some links that may be interesting for a first look.

- FAQ
- Tools documentation
- Guide to language independent UNO

The documentation can also be accessed online via http://udk.openoffice.org and http://api.openoffice.org. Please note, that in early revisions of the ODK, the documentation may not be available as a separate tarball due to build problems, you can alternatively check out the documentation :

cvs -d :pserver:anoncvs@anoncvs.openoffice.org:/cvs login
Password: anoncvs

cvs -d :pserver:anoncvs@anoncvs.openoffice.org:/cvs -z3 co oo/udk/www
cvs -d :pserver:anoncvs@anoncvs.openoffice.org:/cvs -z3 co oo/api/www

Examples

There exist source code examples for Java and C++ (see the examples directory). You need a gnumake version 1.79.1 or later in order to build the examples. GNU make is available from http://www.gnu.org, it can be ftped via ftp://ftp.gnu.org/gnu/make.