
Universal Network Objects (UNO) is the
component model
Component-based software engineering (CBSE), also called component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a give ...
used in the
OpenOffice.org and
LibreOffice
LibreOffice () is a free and open-source office productivity software suite, a project of The Document Foundation (TDF). It was forked in 2010 from OpenOffice.org, an open-sourced version of the earlier StarOffice. The LibreOffice suite consi ...
computer software
application suite
A software suite (also known as an application suite) is a collection of computer programs (application software, or programming software) of related functionality, sharing a similar user interface and the ability to easily exchange data with each ...
s. It is interface-based and designed to offer interoperability between different
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
s, 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
In programming and software design, binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to ...
exists. Complete UNO language bindings exist for
C++ (compiler-dependent),
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
,
Object REXX,
Python, and
Tcl
TCL or Tcl or TCLs may refer to:
Business
* TCL Technology, a Chinese consumer electronics and appliance company
** TCL Electronics, a subsidiary of TCL Technology
* Texas Collegiate League, a collegiate baseball league
* Trade Centre Limited ...
. Bindings allowing access, but not writing, to components exist for
StarOffice Basic,
OLE Automation
In Microsoft Windows applications programming, OLE Automation (later renamed to simply Automation) is an inter-process communication mechanism created by Microsoft. It is based on a subset of Component Object Model (COM) that was intended for use ...
and the
.NET Common Language Infrastructure
The Common Language Infrastructure (CLI) is an open specification and technical standard originally developed by Microsoft and standardized by ISO/ IEC (ISO/IEC 23271) and Ecma International (ECMA 335) that describes executable code and a ...
. In particular, this API is used by macros.
Universal Network Objects operate within the UNO Runtime Environment (URE).
The
Apache OpenOffice
Apache OpenOffice (AOO) is an open-source office productivity software suite. It is one of the successor projects of OpenOffice.org and the designated successor of IBM Lotus Symphony. It is a close cousin of LibreOffice, Collabora Online an ...
version of UNO is released under the terms
Apache License (Version 2) as
free and open source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
.
UNO for function-calling
Examples: an external program can export an
ODT file as a
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
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'', ''JODConverter'', ''unoConv''.
UNO for Add-Ons
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".
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:
#Register the new components within LibreOffice. This can be accomplished using the tool
unopkg
.
#Integrate the new components as services. The ProtocolHandler and JobDispatch services assist you.
#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''.
References
External links
;Apache OpenOffice
UNO Development Kit project pageDeveloper's Guide
;LibreOffice
Inside LibreOffice: Universal Network Objects
;Language bridges (native for Java and Python)
UNO for Object REXXUNO for PHP (written in C++)UNO for FreePascal/Delphimaybe orphaned
{{Authority control
Object-oriented programming
OpenOffice