Manual Component Installation

From Apache OpenOffice Wiki
< Documentation‎ | DevGuide
Revision as of 09:10, 18 August 2008 by Jirong (Talk | contribs)

Jump to: navigation, search

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

Registry files used by OpenOffice.org are configured within the uno(.ini|rc) file found in the program directory. After a default OpenOffice.org 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.

OpenOffice.org 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 OpenOffice.org installations.

The latter two can be integrated into a single file.

Template:Documentation/Note

The recommended method to add a component to OpenOffice.org 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 OpenOffice.org 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