Manual Component Installation

From Apache OpenOffice Wiki
Jump to: navigation, search



Manually Merging a Registry and Adding it to uno.ini or soffice.ini

Registry files used by Apache OpenOffice are configured within the uno(.ini|rc) file found in the program directory. After a default Apache OpenOffice installation, the files look like this:

 uno.ini :
 [Bootstrap]
 UNO_TYPES=$ORIGIN/types.rdb
 UNO_SERVICES=$ORIGIN/services.rdb

The two UNO variables are relevant for UNO components. The UNO_TYPES variable gives a space separated list of type library registries, and the UNO_SERVICES variable gives a space separated list of registries that contain component registration information. These registries are opened read-only. The same registry may appear in UNO_TYPES and UNO_SERVICES variables. The $ORIGIN points to the directory where the ini/rc file is located.

Apache OpenOffice uses the types.rdb as a type and the services.rdb as a component registration information repository. When a programmer or software vendor releases a UNO component, the following files must be provided at a minimum:

  • A file containing the code of the new component, for instance a shared library, a jar file, or maybe a python file in the future.
  • A registry file containing user defined UNOIDL types, if any.
  • (optional) A registry file containing registration information of a pre-registered component. The registry provider should register the component with a relative path to be beneficial in other Apache OpenOffice installations.

The latter two can be integrated into a single file.

Documentation note.png In fact, a vendor may release more files, such as documentation, the .idl files of the user defined types, the source code, and configuration files. While every software vendor is encouraged to do this, there are currently no recommendations how to integrate these files into Apache OpenOffice. These type of files are ignored in the following paragraphs. These issues will be addressed in next releases of Apache OpenOffice.

The recommended method to add a component to Apache OpenOffice manually is described in the following steps:

  1. Copy new shared library components into the <OfficePath>/program directory and new Java components into the <OfficePath>/program/classes directory.
  2. Copy the registry containing the type library into the <OfficePath>/program directory, if needed and available.
  3. Copy the registry containing the component registration information into the <OfficePath>/program directory, if required. Otherwise, register the component with the regcomp command line tool coming with the Apache OpenOffice SDK into a new registry.
  4. Modify the uno(.ini|rc) file, and add the type registry to the UNO_TYPES variable and the component registry to the UNO_SERVICES variable. The new uno(.ini|rc) might look like this:
 [Bootstrap]
 UNO_TYPES=$ORIGIN/types.rdb $ORIGIN/filterxyz_types.rdb
 UNO_SERVICES=$ORIGIN/services.rdb $ORIGIN/filterxyz_services.rdb

After these changes are made, every office that is restarted can use the new component. The uno(.ini|rc) changes directly affect the whole office network installation. If adding a component only for a single user, pass the modified UNO_TYPES and UNO_SERVICES variables per command line. An example might be:

 $ soffice “-env:UNO_TYPES=$ORIGIN/types.rdb 
 $ORIGIN/filterxyz_types.rdb“ 
           “-env:UNO_SERVICES=$ORIGIN/services.rdb 
 $ORIGIN/filter_xyz_services.rdb” ).
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages