Universal Network Objects
   HOME

TheInfoList



OR:

Universal Network Objects (UNO) is the component model used in the
OpenOffice.org OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. Active successor projects include LibreOffice (the most actively developed), Apache OpenOffice, Collabora Online (enterprise ready LibreOffice) a ...
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 co ...
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 ...
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 th ...
exists. Complete UNO language bindings exist for
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
(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 mos ...
, Object REXX,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
, 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 OpenOffice Basic (formerly known as StarOffice Basic or StarBasic or OOoBasic) is a dialect of the programming language BASIC that originated with the StarOffice office suite and spread through OpenOffice.org and derivatives such as Apache OpenOff ...
,
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 us ...
and the .NET Common Language Infrastructure. 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 and ...
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 file, or import and convert a
DOCX Office Open XML (also informally known as OOXML) is a zipped, XML-based file format developed by Microsoft for representing spreadsheets, charts, presentations and word processing documents. Ecma International standardized the initial version a ...
, 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