== Changes from v3.0 to v3.2 in the Sensoria Development Environment == '''Differing requirements''' * The SDE 3.2 requires the JDK 1.6, not the JRE, in order to convert JavaScript to Java. Note that the JDK 6 must be selected in Eclipse (Window > Preferences > Java > Installed JREs...) as default. * The SDK 3.2 requires Eclipse 3.4, at least milestone M5, to correctly convert parameter annotations in tools in the development plug-in (due to this bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=213509) '''New features in the core''' * Parameters and return types of functions may now have their own descriptions. This addition has resulted in a change of the core extension point – i.e., tool extensions in plugin.xml files need to be re-created using the dev tool. The old descriptions are still valid, though. * JavaScripts which include functions may now be converted on-the-fly to Java classes and used as normal tools. '''New features in the UI''' * The UI now shows the names of parameters of functions and a description parameters and return values (if they have been defined within tool definitions). * The invocation wizard is able to deal with Arrays and Collections as inputs. * The invocation wizard can now add files as various object types which the user may select in the UI. * The blackboard has been overhauled to show more meaningful labels of objects. For this to work, a tool must implement the ISensoriaModelHandler interface and the corresponding methods within. * Objects returned from scripts or from the black board may now be opened in editors. This function also requires implementing the ISensoriaModelHandler interface. * There is a new tool, the SensoriaUIService, which contains 9 functions for working with files in and out of the workspace. == Converting tools == Tools written for 3.0 will work in 3.2 without changes. However, to take advantage of the new functionality it is recommended to convert them as follows. * Make sure the tools run within Eclipse 3.4. * Update the tool annotations, adding new descriptions for return types and parameters. * Create new content for the plugin.xml from these annotations using the DEV plugin. * The ID of the core services has changed from ”eu.sensoria-ist.casetool. core.jsShell” to “SensoriaCoreTool”. Scripts or Java code which use this ID need to be updated. * Implement the ISensoriaModelHandler interface in your tool, handling your model objects. * Test your tool in the new SDE.