Hi Andreas,

On 07.07.2012 17:36, Andreas Säger wrote:
> Am 06.07.2012 16:26, Rony G. Flatscher (Apache) wrote:
>> In addtion, the very important AOO scripting framework is totally Java based.
>
> Why can I run all non-Java macros on a machine with no Java?
>
not sure, what you are after.

AFAIK, originally there was "StarBasic" implemented as the scripting language 
for OpenOffice (later
renamed to "OpenOffice.org Basic") and part of it.

Then, later, Python got added as a scripting language, by implementing a Python 
UNO binding.

That was it for quite some time as it is everything else but a trivial task to 
create the
infrastructure to add a new scripting language to OpenOffice from scratch for 
programmers who might
have no working knowledge about the UNO framework.

Then later (2004?, 2005?), a Java scripting framework got added to OpenOffice.

This Java scripting framework allowed in the first place to finally add 
JavaScript (Rhino, a very
popular Java implemenation of JavaScript) as a scripting language to OpenOffice.

In addtion BeanShell ("interpreted Java") was added as an additional scripting 
languages to
OpenOffice as well taking advantage of the new Java scripting framework.

Because there has been a Java scripting framework for OpenOffice it has become 
a feasible job to add
any scripting language to OpenOffice for which a Java implementation existed, 
without the need of an
intimate knowledge of the UNO framework. A feasible example of adding scripting 
languages to
OpenOffice via the Java scripting framework would be all the Apache BSF 
scripting languages (cf.
<http://commons.apache.org/bsf/>). Starting with Java 1.6 the "javax.script" 
package got introduced
into Java which could be used to add new scripting languages to OpenOffice as 
well, using the
existing Java scripting framework.

The interesting thing here is, that one can use the Java scripting framework 
for OpenOffice also for
scripting languages, that are implemented in C++, believe it or not!

This may sound strange, but in effect, this is simpler than starting from 
scratch to create some UNO
binding for a new scripting language for programmers who have no intimate 
knowledge of the UNO
framework and its implementations. An example for such a possibility is the 
oxt-package that adds
the opensource and "human centric" scripting language ooRexx (cf. 
<http://www.ooRexx.org>) to
OpenOffice using Java as the bridge (there is an ooRexx package, that has 
extensive Java support via
JNI for ooRexx, camouflaging all of Java as the dynamically typed, caseless 
programming language
ooRexx, and does so successfully and fast, cf. 
<http://sourceforge.net/projects/bsf4oorexx/>, the
oxt-package is part of the distribution and gets automatically installed with 
BSF4ooRexx, if
OpenOffice is installed on the machine).

---

Two years ago, there was a presentation of an OpenOffice introspection tool 
implemented in ooRexx,
which can be used interactively or via all the OpenOffice scripting languages 
via the dispatch
interface, which is able to create great overviews of the UNO objects (and/or 
UNO classes) you have
in hand, including links that lead to the OpenOffice API documentation on the 
Internet. Here is a
link to a brief tutorial which might be interesting for OpenOffice developers, 
hence giving links to
the slides, the brief tutorial on how to use it from OpenOffice.org Basic, 
Java, JavaScript, ooRexx,
and Python:

  * slides:
      o 
<http://wi.wu.ac.at/rgf/rexx/misc/OOoCon/2010_Budapest/UNO%5fAPI%5fInfo%2dOOoCon%2d20100902%2epdf>

  * tutorial/readme:
      o 
<http://wi.wu.ac.at/rgf/rexx/misc/OOoCon/2010_Budapest/read%2dme%2dUNO%5fAPI%5finfo%2ehtml%2epdf>

  * result of introspecting an UNO writer object on-the-fly, one level only, 
yielding 11 pages of
    documentation:
      o 
<http://wi.wu.ac.at/rgf/rexx/misc/OOoCon/2010_Budapest/UNO%5fAPI%5fINFO%2dcom%2esun%2estar%2edocument%2eOfficeDocument%2bcom%2e%2e%2e%2d2010%2d08%2d29T23%5f11%5f12%2e592000%2epdf>

  * result of introspecting an UNO writer object on-the-fly, two levels, 
yielding 55 (!) pages of
    documentation:
      o 
<http://wi.wu.ac.at/rgf/rexx/misc/OOoCon/2010_Budapest/UNO%5fAPI%5fINFO%2dcom%2esun%2estar%2edocument%2eOfficeDocument%2bcom%2e%2e%2e%2d2010%2d08%2d29T23%5f11%5f27%2e749000%2epdf>

As you (hopefully) see, having a Java based scripting framework is a boon for 
OpenOffice. It
allows/enables programmers to rather quickly make a scripting language 
available to OpenOffice
taking advantage of the Java scripting framework.

---rony

Reply via email to