blob: 2d36a2146f2f8103bfe95a55f4c0798e2722344f [file] [log] [blame]
<html>
<head>
<title>What's Next</title>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<h1>What's Next</h1>
<h1>Upcoming Features in future releases of the Office Scripting Framework</h1>
The basic Scripting Framework core is now in place. This document intends
to outline enhancements to the framework core and features which
are currently being considered
for up and coming releases. The intention is to release updates
regularly as new features become available. Those interesting in
scriting are encouragged to try out the releases, offer feedback and
suggestions on future directions.
<h2>Next Release</h2>
<h3>Additional Language Support</h3>
The Scripting Framework has been
designed to allow other scripting language runtimes to be plugged in.
The only dependancy is that the appropriate UNO to &lt;language&gt;
bridge is available.
<p>
Which Languages?
<p>
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.
<p>
<b>BeanShell</b>
<p>
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.
<p><b>Note:</b> There are a variety of other scripting languages
implemented in Java that could be looked at
after BeanShell, such as Jython or Rhino.
<h3>Other Language Runtimes</h3>
Documentation is due on the design
and implementation requirements for a Language Runtime as part of
this release. This will enable any member of the community to
implement other language runtimes for which there is an UNO bridge
available such as the UNO Python bridge.
<h3>Binding</h3>
<ul>
<li><p>Enable binding to document scripts in the &ldquo;Assign Script...&rdquo;
dialogs.<br>
Currently it is not possible to view scripts in a
document within the &ldquo;Assign Script...&rdquo; dialogs. This
makes it difficult to assign menu or key bindings to scripts in
documents.
<li><p>Support language selection in the &ldquo;Assign Script...&rdquo;
dialog.<br>
See what if any modifications are needed to support multiple script
languages in the &ldquo;Assign Script...&rdquo; dialogs.
<li><p>Enable binding to OpenOffice.org events.<br>
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].
</ul>
<h2>Future Releases</h2>
<h3>IDE Add-ins</h3>
<ul>
<li><p>NetBeans enhancement.<br>
Enhance the support, to make it more consistent with other NetBean
modules, in areas such as installation and help support.
<li><p>Other IDE's<br>
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.
<li><p>Programming Model<br>
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.
</ul>
<h3>Performance</h3>
<ul>
<li><p>OpenOffice.org integration<br>
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].
<li><p>Runtime enhancements<br>
Caching of jars, classes and script objects to be considered as a means
of enhancing script execution times.
</ul>
<h3>Macro Configuration</h3>
General configuration settings are available for StarBasic macros, such as
don't run macros, run only from specified locations and so on. We
would like to offer the same degree of configuration control for our
new language macros, and extend these settings if appropriate.
<ul>
<li><p>StarBasic Integration<br>
Currently the &ldquo;Assign Script..&rdquo; 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.
</ul>
<h3>Security</h3>
<ul>
<li><p>Digital Signing Support<br>
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.
<li><p>Packaging Format<br>
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.
</ul>
<hr>
Last Modified: Fri Nov 29 17:03:03 GMT 2002
</body>
</html>