HOME

TheInfoList



OR:

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 page









Developer's Guide
;LibreOffice


Inside LibreOffice: Universal Network Objects
;Language bridges (native for Java and Python)
UNO for Object REXX

UNO for PHP (written in C++)

UNO for FreePascal/Delphi
maybe orphaned {{Authority control Object-oriented programming OpenOffice