Difference between revisions of "API"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (API Changes)
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Project Lead: [[User:Jsc|Jürgen Schmidt]]
+
{{Template: API project}}
  
The OpenOffice.org '''[[:Wikipedia:API|API]]''' Wiki. '''API''' stands for '''Application programming interface'''.
+
The OpenOffice.org '''[[Wikipedia:API|API]]''' Wiki. '''API''' stands for '''Application programming interface'''.
  
[http://www.openoffice.org OpenOffice.org] offers a language independent '''API''' which allows to program the office in different programming languages (e.g. C++, Java, Python, CLI, StarBasic, ...). It allows to use OpenOffice.org as service provider in other applications, extend it with new functionality or simply customize and control OpenOffice.org.
+
[[OpenOffice.org]] offers a language independent '''API''' which allows to program the office in different programming languages (e.g. C++, Java, Python, CLI, StarBasic, ...). It allows to use OpenOffice.org as service provider in other applications, extend it with new functionality or simply customize and control OpenOffice.org.
 
+
The API is based on the [[Uno|UNO]] component technology and that makes it really flexible and makes it possible to use one and the same API from different programming languages, all languages which are supported by [[Uno|UNO]].  
+
  
 +
The API is based on the [[Uno|UNO]] component technology and that makes it really flexible and makes it possible to use one and the same API from different programming languages, all languages which are supported by [[Uno|UNO]].
  
 
==API Reference==
 
==API Reference==
 
We try to provide always the latest version of a generated API IDL reference documentation online. You can find it on the [http://api.openoffice.org api.openoffice.org] on left side under [http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html IDL reference]. Maybe interesting for you are the two links '''Use''' and ''DevGuide''' in the top menubar of a single type documentation page.
 
We try to provide always the latest version of a generated API IDL reference documentation online. You can find it on the [http://api.openoffice.org api.openoffice.org] on left side under [http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html IDL reference]. Maybe interesting for you are the two links '''Use''' and ''DevGuide''' in the top menubar of a single type documentation page.
* Use: links to an overview page where you can find all places where this type is used or referenced in the API and in the [http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html Developer's Guide]
+
* Use: links to an overview page where you can find all places where this type is used or referenced in the API and in the [[Documentation/DevGuide|Developer's Guide]]
* DevGuide: links to a sub-section of the documentation page where you can find cross references into the [http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html Developer's Guide] where this type is described in detail and especially the concepts behind.
+
* DevGuide: links to a sub-section of the documentation page where you can find cross references into the [[Documentation/DevGuide|Developer's Guide]] where this type is described in detail and especially the concepts behind.
  
 
Also of interest here are the online available reference documentation of the [[Uno|UNO]] runtime for [http://api.openoffice.org/docs/cpp/ref/names/index.html C++] and [http://api.openoffice.org/docs/java/ref/overview-summary.html Java].
 
Also of interest here are the online available reference documentation of the [[Uno|UNO]] runtime for [http://api.openoffice.org/docs/cpp/ref/names/index.html C++] and [http://api.openoffice.org/docs/java/ref/overview-summary.html Java].
 +
 +
===References from the WIKI into the generated IDL reference===
 +
When we moved the [[Documentation/DevGuide|Developer's Guide]] into the wiki we thought about a way how we could achieve the useful IDL tags. The tags that get automatically converted into links to the related type in the generated IDL reference. In the end the [[Help:IDLTags|IDLTags]] extension was developed that allows exactly the same functionality.
 +
 +
'''PLEASE''' whenever you want or have to reference an IDL type please use one of the '''IDL tags''' to create a link automatically. It will help our users and developers to find the appropriate information faster and it will help to improve the overall navigation between the documentation (guides, examples, tutorials, ...) in the wiki and the type reference.
 +
 +
== API Changes==
 +
Sometimes it make sense and it is necessary to change existing API's (or configuration etc.) incompatible and break potentially existing macros or extensions. The goal is to avoid such changes and try to provide workarounds but from time to time it's better to allow such changes. We take this serious and don't make such changes in every release but under certain conditions that you find under '''[[API/Concepts_API_changes|Concepts for incompatible API changes and an API deprecation process]]'''.
 +
 +
A summary and overview with detailed description of such changes can be found under '''[[API/Incompatible_API_changes|Documented incompatible API changes]]'''
  
 
==Supported Languages==  
 
==Supported Languages==  
  
==Code Snippets==
+
==Code Snippets, Examples and Tutorials ==
The idea of the [http://codesnippets.services.openoffice.org/ Code Snippet Base] is to provide a collection of small code snippets for various simple or even more complex API use cases. Ideally all snippets would be available in all supported languages. The snippet base is organized in categories for the main applications or office wide. Each category itself is divided in language sections so that it should be easy to find an appropriate snippet for your specific use case.
+
The idea is to collect small snippets or more complex examples showing different API use cases in different programming languages. Or to collect tutorials explaining things in more detail and step by step. Whereas [[API/Tutorials|Tutorials]] are more intended for beginners the [[API/Samples|Samples]] section is intended for more experienced users or simply as reference. Ideally all snippets/examples/tutorials would be available in all supported languages.
 +
 
 +
This new sections in the wiki should extend the already existing [http://codesnippets.services.openoffice.org/ Code Snippet Base]. But with the advantage of easier contribution and easier maintenance.
 +
 
 +
* [[API/Samples|Samples]]
 +
* [[API/Tutorials|Tutorials]]
  
 
==Things in progress - Efforts==
 
==Things in progress - Efforts==
 
<DPL>category=API
 
<DPL>category=API
 
category=Effort</DPL> <noinclude>[[Category:API]]</noinclude>
 
category=Effort</DPL> <noinclude>[[Category:API]]</noinclude>
 
+
* [[API/Concepts_API_changes|Concepts for incompatible API changes and an API deprecation process]]
 
==Things to be Done==
 
==Things to be Done==
 
* [[API/To-Dos]] - An overview of API To-Dos where you will hopefully find something interesting if you plan to support the API project.  
 
* [[API/To-Dos]] - An overview of API To-Dos where you will hopefully find something interesting if you plan to support the API project.  
 +
 +
==FAQ==
 +
* [[API/FAQ]] - A list of frequently asked questions related to the API
  
 
==Terms==
 
==Terms==
  
 
[[Category:Project]]
 
[[Category:Project]]
[[Category:Development]]
+
[[Category:API]]

Revision as of 06:41, 29 October 2013

Writer Icon.png

API Project

Please view the guidelines
before contributing.

Popular Subcategories:

Extension:DynamicPageList (DPL), version 2.3.0 : Warning: No results.

Project To-Dos:

Extension:DynamicPageList (DPL), version 2.3.0 : Warning: No results.

API Documentation:

Ongoing FAQ:

Extension:DynamicPageList (DPL), version 2.3.0 : Warning: No results.

API.OpenOffice.org


The OpenOffice.org API Wiki. API stands for Application programming interface.

OpenOffice.org offers a language independent API which allows to program the office in different programming languages (e.g. C++, Java, Python, CLI, StarBasic, ...). It allows to use OpenOffice.org as service provider in other applications, extend it with new functionality or simply customize and control OpenOffice.org.

The API is based on the UNO component technology and that makes it really flexible and makes it possible to use one and the same API from different programming languages, all languages which are supported by UNO.

API Reference

We try to provide always the latest version of a generated API IDL reference documentation online. You can find it on the api.openoffice.org on left side under IDL reference. Maybe interesting for you are the two links Use' and DevGuide in the top menubar of a single type documentation page.

  • Use: links to an overview page where you can find all places where this type is used or referenced in the API and in the Developer's Guide
  • DevGuide: links to a sub-section of the documentation page where you can find cross references into the Developer's Guide where this type is described in detail and especially the concepts behind.

Also of interest here are the online available reference documentation of the UNO runtime for C++ and Java.

References from the WIKI into the generated IDL reference

When we moved the Developer's Guide into the wiki we thought about a way how we could achieve the useful IDL tags. The tags that get automatically converted into links to the related type in the generated IDL reference. In the end the IDLTags extension was developed that allows exactly the same functionality.

PLEASE whenever you want or have to reference an IDL type please use one of the IDL tags to create a link automatically. It will help our users and developers to find the appropriate information faster and it will help to improve the overall navigation between the documentation (guides, examples, tutorials, ...) in the wiki and the type reference.

API Changes

Sometimes it make sense and it is necessary to change existing API's (or configuration etc.) incompatible and break potentially existing macros or extensions. The goal is to avoid such changes and try to provide workarounds but from time to time it's better to allow such changes. We take this serious and don't make such changes in every release but under certain conditions that you find under Concepts for incompatible API changes and an API deprecation process.

A summary and overview with detailed description of such changes can be found under Documented incompatible API changes

Supported Languages

Code Snippets, Examples and Tutorials

The idea is to collect small snippets or more complex examples showing different API use cases in different programming languages. Or to collect tutorials explaining things in more detail and step by step. Whereas Tutorials are more intended for beginners the Samples section is intended for more experienced users or simply as reference. Ideally all snippets/examples/tutorials would be available in all supported languages.

This new sections in the wiki should extend the already existing Code Snippet Base. But with the advantage of easier contribution and easier maintenance.

Things in progress - Efforts

Things to be Done

  • API/To-Dos - An overview of API To-Dos where you will hopefully find something interesting if you plan to support the API project.

FAQ

  • API/FAQ - A list of frequently asked questions related to the API

Terms

Personal tools