Universal Network Objects: Difference between revisions

Content deleted Content added
m fixing page range dashes using AWB (7560)
Bender the Bot (talk | contribs)
m External links: HTTP to HTTPS for SourceForge
 
(40 intermediate revisions by 29 users not shown)
Line 1:
{{Use dmy dates|date=September 2017}}
In [[computing]], '''Universal Network Objects''' (UNO, branded as "Uno") is the [[software component|component model]] used in the [[OpenOffice.org]] application suite of programs. It is interface-based and designed{{By whom|date=May 2010}} to offer interoperability between different [[programming language]]s, object models and machine architectures, on a single machine, within a LAN or over the Internet.
[[File:UNO API.png|thumb|UNO API]]
In [[computing]], '''Universal Network Objects''' ('''UNO, branded as "Uno"''') is the [[software component|component model]] used in the [[OpenOffice.org]] applicationand suite[[LibreOffice]] ofcomputer programssoftware [[application suite]]s. It is interface-based and designed{{By whom|date=May 2010}} to offer interoperability between different [[programming language]]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]] exists. Complete UNO language bindings exist for [[C++]] (compiler-dependent), [[Java (programming language)|Java]], [[Object REXX]], [[Python (programming language)|Python]], and [[Tcl (programming language)|Tcl]]. Work is in progress for [[Object REXX]]. Bindings allowing access, but not writing, to components, exist for [[StarOffice Basic]], [[Object Linking and Embedding|OLE]] [[OLE Automation|Automation]] and the [[Microsoft .NET|.NET]] [[Common Language Infrastructure]]. In particular, this API is used by macros.
 
Universal Network Objects operate within the UNO Runtime Environment (URE).<ref>{{ cite web | url = http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/l10n/archive/Universal_i18n_framework.pdf | title = Universal I18n Framework for Office Applications: Technical Overview | first = Dieter | last = Loeschky |author2=Shanmugam Senthil | year = 2001 | publisher = Sun Microsystems | ___location = Palo Alto | pages = 1–26 [8] | format = PDF | access-date = 18 May 2010 }}</ref>
Universal Network Objects operate within the URE: the UNO Runtime Environment.<ref>
{{cite web
| url = http://l10n.openoffice.org/Universal_i18n_framework.pdf
| title = Universal I18n Framework for Office Applications: Technical Overview
| first = Dieter
| last = Loeschky
| authorlink =
| coauthors = Shanmugam Senthil
| year = 2001
| publisher = Sun Microsystems
| ___location = Palo Alto
| page = 8
| pages = 1–26
| format = PDF
| accessdate = 2010-05-18
| quote = The Universal Network Objects (UNO) is an interface-based object model (like COM or CORBA) that is used to integrate all StarSuite components. [...] The UNO Runtime Environment (URE) locates, instantiates and controls the life cycle of a UNO component requested by the UNO service name.
}}
</ref>
 
The [[Apache OpenOffice.org]] projectversion makesof UNO availableis released under the terms [[LGPLApache License]] (Version 2) as [[free software|free]] and [[open source]] software]].
 
== UNO for function-calling ==
Examples: an external program can export an [[OpenDocument|ODT]] file as a [[PDF]] file, or import and convert a [[Office Open XML|DOCX]], calling LibreOffice by the UNO interface. Another external program can access a cell and formulas from LibreOffice Calc file.
 
Application examples: ''Docvert'',<ref>{{cite web|url=http://holloway.co.nz/docvert/|title=Docvert - Office to Open Standards|website=holloway.co.nz|publisher=Bronwyn Holloway-Smith|access-date=20 September 2014}}</ref> ''JODConverter'',<ref>{{cite web|url=https://github.com/sbraconnier/jodconverter/wiki/Getting-Started|title=JODConverter|website=jodconverter.com|access-date=5 September 2017}}</ref> ''unoConv''.<ref>{{cite web|url=http://dag.wieers.com/home-made/unoconv/|title=DAG: unoconv: Convert between any document format supported by OpenOffice|publisher=Dag Wieërs|access-date=20 September 2014}}</ref>
 
== 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".<ref name="unowiki">{{cite web|url=http://help.libreoffice.org/Common/Integrating_new_UNO_components|title=Integrating new UNO components|access-date=20 September 2014}}</ref>
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:<ref name="unowiki"/>
 
#Register the new components within LibreOffice. This can be accomplished using the tool <code>unopkg</code>.
#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''.<ref>{{cite web|url=http://www.jopendocument.org/|title=jOpenDocument Homepage. Open Document library|access-date=20 September 2014}}</ref>
 
== References ==
 
{{Reflist}}
 
== External links ==
 
;Apache OpenOffice
* [http://udk.openoffice.org/ UNO Development Kit project page]
* [http://www.openoffice.org/udk/common/man/uno.html Overview and technical details]
* [http://www.openoffice.org/api/docs/java/ref/overview-summary.html Java overview-summary]
* [http://api.openoffice.org/SDK/index.html OpenOffice.org Software Development Kit]
* [https://web.archive.org/web/20080501062521/http://odftoolkit.openoffice.org/transition.html ODF Toolkit: Transition Steps]
* [http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide Developer's Guide]
 
;LibreOffice
== References ==
* [http://api.libreoffice.org/docs/tools.html see unoexe and unopkg]
{{Reflist}}
* [https://chris-sherlock.gitbook.io/inside-libreoffice/universal-network-objects Inside LibreOffice: Universal Network Objects]
 
;Language bridges (native for Java and Python)
[[Category:Object-oriented programming]]
* [https://sourceforge.net/projects/bsf4oorexx/ UNO for Object REXX]
* [http://www.wstech2.net/index.php?do=0a,01,05 UNO for PHP (written in C++)] {{Webarchive|url=https://web.archive.org/web/20160304003131/http://www.wstech2.net/index.php?do=0a,01,05 |date=4 March 2016 }}
* [https://sourceforge.net/projects/uno-pas-bridge/ UNO for FreePascal/Delphi] maybe orphaned
 
{{OpenOffice}}
 
{{Authority control}}
{{Compu-soft-stub}}
[[Category:Object-oriented programming]]
 
[[Category:OpenOffice]]
[[de:Universal Network Objects]]
[[ja:Universal Network Objects]]
[[ru:UNO]]
[[zh:通用網路物件]]