- Added Headless client plugin: allows the execution of methods in headless clients started on the Application Server
- Added onResize event on Forms
- Added .isValid() function on JSserver node of Maintenance plugin
- Added media:/// url support in PDF_Output plugin
- Added fullscreen parameter to application.showFormInDialog
- Added date format mask support
- Added input validation on integer/number fields
- Added .addHeader() on Poster class of HTTP Plugin
- Added option to set the body of a HTTP Post by setting a parameter withkeyvalue "body" on Poster class of HTTP Plugin
- Native SplitPane support in Smart and Web Client: Tabpanel element orientation property is extended with values "split_horizontal' and 'split_vertical' for resizable split pane support
- Merged Kiosk, Kiosk, MenuBar & PopupMenu plugin functionality into Window plugin, deprecating the Kiosk, MenuBar and Popup menu plugin
- Enhancement: foundSet.add/removeFoundSetFilterParam will return false when there are unsaved records that cannot be saved
- Enhancement: added option to showFileSaveDialog and showFileOpenDialog methods to specify the title of the dialog
- Improved Foreign Type Suggestion dialog in Serclipse: better suggestions, option to exclude entries from future suggestions
- Organized JS Lib node: moved functions and properties to correct location, added missing nodes, added missing functions and properties
- Improved property editor for field format property
- Renamed "Form Design" perspective to "Servoy Design"
- Added exception property on JSRecord node
- Enhancement: Added Connection Profiles to the Application Server
- Enhancement: Added Socket tunnel option to the Application Server
- Enhancement: Added option to start Application Server in Socket & HTTP tunnel mode
- Kerebos authentication support for HTTP tunnel
- Improved Smart Client startup time (related to number of modules and usergroups)
- Added actual RMI port info to the Admin pages
- Added links on admin page to enable/disable Tracing
- Enhancement: better message when closing solution in Smart Client when solution browsing is turned off.
- Enhancement; better error message in Smart Client with connection issues: "Error loading related data| instead of "Error in relation"
- Field formatting support in Web Client
- Text field input length check
- WebClient File plugin support:
The File plugin operates mainly server-side when used in the Web Client, due to limitations of browsers to interact programatically with the file system on the machine on which the browser is operated. The following functions do work client-side in the WebClient:
- writeTXTFile, writeFile & writeXMLFile: When used in a Web Client and specifying null or a String for the file parameter, the file will be streamed to the browser. Depending on the browser settings, the browser will present the user with a File Open/Save dialog or will open the file directly in the appropriate application. When streaming the file to the browser, the file plugin will try to determine the type of file and set the content type accordingly, so the browser can recognize the type of file and open it with the appropriate application.
Prior to 5.1, the syntax write&File(null/String,....) would write the file serverside, in 5.1 and beyond it will trigger the streaming behavior to the browser as described above.
When during method execution the writeXxxFile function is called multiple times, this will result in only streaming the file specified in the last call to the browser. All previous calls to the writeXxxFile function will be discarded.
- showFileOpenDialog: When used in a Web Client, the user will be presented with a media upload dialog, on which the user can click a button to open the actual File Select dialog.
The media upload dialog will only be shown to the user when the method execution that triggered it has finished. This means that when the code "showFileOpenDialog" is executed, it immediately returns null and the method continues to execute.
In order to retrieve the file the user has selected, the showFileOpenDialog has an additional parameter to specify a callback method that will be triggered when the user has selected and uploaded a file. The callback method will receive as first argument an Array with as first entry the file object as a JSFile. On that object, all relevant functions of the JSFile class and other functions that take a JSfile as argument are supported.
|Smart Client behavior when specifying the callback method parameter|
When the callback method parameter is specified when operating in a Smart Client, the File Open Dialog will still show immediately and halt execution of the method until closed. When the method finishes, the callback method will be called as well.
As mentioned above, in the Web Client the media upload dialog will be shown to the user after the method that called the showFileOpenDialog function has finished and when the user has selected the file, the callback method is called with the selected file as a argument of type JSFile.
When during method execution the showFileOpenDialog function is called multiple times, this will result in only the last media upload dialog being displayed. All previous calls to the showFileOpenDialog function will be discarded.
As browsers do not allow to show the File Select Dialog through scripting, but only by the user clicking the browse button on a input field of type file, the media upload dialog is mandatory.
As browsers do not allow control over the File Select Dialog, the 'selectionMode', 'startDirectory' and 'filterarray' parameters of the showFileOpenDialog function are discarded. The File Select Dialog will open in a default directory determined by the Operating System and the selectable files cannot be filtered.
For more detail, see New in this release