| <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 <language> |
| 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 “Assign Script...” |
| dialogs.<br> |
| 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. |
| |
| <li><p>Support language selection in the “Assign Script...” |
| dialog.<br> |
| See what if any modifications are needed to support multiple script |
| languages in the “Assign Script...” 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 “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. |
| </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> |