Universal Network Objects

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Error creating thumbnail:
UNO API

Universal Network Objects (UNO) is the component model used in the OpenOffice.org and LibreOffice computer software application suites. It is interface-based and designed to offer interoperability between different programming languages, object models and machine architectures, on a single machine, within a LAN or over the Internet.

Users can implement or access UNO components from any programming language for which a language binding exists. Complete UNO language bindings exist for C++ (compiler-dependent), Java, Object REXX, Python, and Tcl. Bindings allowing access, but not writing, to components exist for StarOffice Basic, OLE Automation and the .NET Common Language Infrastructure. In particular, this API is used by macros.

Universal Network Objects operate within the UNO Runtime Environment (URE).[1]

The Apache OpenOffice version of UNO is released under the terms Apache License (Version 2) as free and open source software.

UNO for function-calling

[edit | edit source]

Examples: an external program can export an ODT file as a PDF file, or import and convert a DOCX, calling LibreOffice by the UNO interface. Another external program can access a cell and formulas from LibreOffice Calc file.

Application examples: Docvert,[2] JODConverter,[3] unoConv.[4]

UNO for Add-Ons

[edit | edit source]

Programmers can write and integrate their own UNO components to OpenOffice/LibreOffice. Those components can be added to the LibreOffice menus and toolbars; they are called "Add-Ons".[5] The Add-Ons can extend the functionality of LibreOffice.

The integration of new components is supported by some tools and services. The three main steps are as follows:[5]

  1. Register the new components within LibreOffice. This can be accomplished using the tool unopkg.
  2. Integrate the new components as services. The ProtocolHandler and JobDispatch services assist you.
  3. Change the user interface (menus or toolbars). This can be done almost automatically by writing an XML text file that describes the changes.

Application example: jOpenDocument.[6]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]
Apache OpenOffice
LibreOffice
Language bridges (native for Java and Python)

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).