Mark Fortner has been exploring the capabilities of the Bean Scripting Framework (BSF) with JSR 223, and has found a number of items that could be improved. These include:
Whether these items are necessary in the scripting host, or whether the scripting languages own implementation should be used is debatable.
- Universal Scripting Host API - the JRunscript scripting host and the BSF Main class that serves a scripting host provide uneven support for Global functions. JRunscript has functions for listing directories, copying files etc. BSF does not. It would be really useful if we could have a single, open source scripting host with a number of global functions that could be called from any language.
- Support for XPath & XQuery functions within the scripting host. There needs to be universal way of fetching and extracting parts of XML-based documents.
Jar/Tar/Bzip/Zip support. These functions should be similar to the support that Apache Commons VFS provides. You can enter URLs like
tar:gz:http://anyhost/dir/mytar.tar.gz!/mytar.tar!/path/in/tar/README.txt
to extract a file from a tarball. Notice the multiprotocol support at the beginning of the URL (in bold).- Mail function within Scripting Host - it would be useful to send files from the scripting host or send email messages.
- Basic ImageIO capabilities including affine transforms, and file transcoding. We can currently use the ImageIO classes static methods as a starting point. If someone gets ambitious they could recreate the functionality found in ImageMagick.
- IDE support in Eclipse -- Currently Tkl and JRuby are supported but there needs to be more all-around support for scripting languages in Eclipse. The Javascript support seems limited to the browser compatible subset of the language. Since a lot of people will be trying to get their hands around scripting languages now, having code lookup capabilities will be essential to helping people learn the languages.