Which Languages?
Scripts tend to be written in type-less scripting style languages, which are simpler to program in than more formal strictly typed programming languages. Given the UNO to Java Bridge already exists, the plan is to support a scripting style language written in Java. BeanShell is a small interpreter (around 135k) and is integrated into NetBeans.
BeanShell
This is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions, in addition to obvious scripting commands and syntax. It is supported in NetBeans so should enable NetBeans IDE integration. It will be integrated into the existing Java Runtime.
Note: There are a variety of other scripting languages implemented in Java that could be looked at after BeanShell, such as Jython or Rhino.
Enable binding to document scripts in the “Assign Script...”
dialogs.
Currently it is not possible to view scripts in a
document within the “Assign Script...” dialogs. This
makes it difficult to assign menu or key bindings to scripts in
documents.
Support language selection in the “Assign Script...”
dialog.
See what if any modifications are needed to support multiple script
languages in the “Assign Script...” dialogs.
Enable binding to OpenOffice.org events.
Add another dialog to allow users to bind Java scripts to specific
OpenOffice.org events, such as document open [Note: this will
require some minor changes in OpenOffice.org event execution before
this can be done].
NetBeans enhancement.
Enhance the support, to make it more consistent with other NetBean
modules, in areas such as installation and help support.
Other IDE's
The current release has a common core set of IDE functionality that is
shared between both the NetBeans and Jedit add-ins. Enhancements to this
common core, along with appropriate documentation, so that they
could be used by any community member to add support for their
favorite IDE.
Programming Model
It would be very useful to provide developers with additional UNO helper
interfaces and more task oriented API's to allow them to create
powerful OpenOffice.org scripts more quickly, than using the raw UNO
API as it stands today.
OpenOffice.org integration
Currently the basic invocation objects are being
created at the point of execution of the scripts. Moving this
creation to the point of document open or creation, should enhance
script execution [this should be under configuration control, so
users can optimize for document open or script execution].
Runtime enhancements
Caching of jars, classes and script objects to be considered as a means
of enhancing script execution times.
StarBasic Integration
Currently the “Assign Script..” dialogs
have no connection with the Tools/ Configure dialog used by
StarBasic. These dialogs should be integrated so all script binding
management can be done from the same dialog set.
Digital Signing Support
The intention is to use digital signing of script
parcels to give a higher degree of security for OpenOffice.org users
of these new language scripts. The Scripting Framework will have to
be enhanced to verify the digital signatures of scripts before they
are executed. Appropriate configuration settings could be added so
users can control if they only want to run digitally signed scripts
and to allow them to choose which digital certificates they trust.
Packaging Format
We will move to a common packaging format for both UNO
components and collections of Scripts. A jar file format would
facilitate jar signing support available in the IDE's. Scripts will
not be unpacked into the user and share areas of OpenOffice.org
installations, but will deployed in single digitally signed
packages.