LSPS documentation logo
LSPS Documentation
Release Notes

3.3.2092

Application-Theme

Improvements
  • Support for dynamic Vaadin themes was removed (LSPS-10788)

Server

Improvements
  • Login error after server start (LSPS-10797)

Standard Library

Improvements
  • The navigation.const file with the following constants “todoList”, “documents”, “runModel”, “settings” and “welcome” has been added in Standard library human module. (LSPS-9256)

3.3.2091

PDS

Fixed Issues
  • The duplicate error messages that appeared when server was disconnected durring debugging have been removed. (LSPS-10761)

3.3.2090

PDS

Improvements
  • Make debugger support textual files (LSPS-10222)
  • Create PDS side debug model (LSPS-10644)
Fixed Issues
  • Show details of a model instance correctly (LSPS-9728)

Server

Fixed Issues
  • The problem that caused error during upload of a model with a cycle in a flow that includes a looping task has been fixed. (LSPS-10603)

3.3.2088

Command-Line Console

Fixed Issues
  • savedTodoExport, exportRaw, modelUpdate from cli fail with SLF4J class-load failure (LSPS-9703)

Forms

Improvements
  • Widgetset was renamed to com.whitestein.lsps.vaadin.widgets.WidgetSet. Update your code accordingly. (LSPS-10641)

PDS

Improvements
  • Allow copy expression and result from history (LSPS-10609)
  • Adjust Designer to use aws repo to create new application (LSPS-10649)
Fixed Issues
  • Rename the form in the definition file when copying the file (LSPS-10314)
  • Cannot generate custom app on MacOS (LSPS-10656)
  • Copying and renaming of resource files have been improved. (LSPS-9779)

Packaging

Improvements
  • Nexus & Docker registry for LSPS & Customer projects (LSPS-10354)

Platform

Fixed Issues
  • Upgrade jQuery to 3.5.1+ (LSPS-10635)

UI

Improvements
  • Widgetset was renamed to com.whitestein.lsps.vaadin.widgets.WidgetSet. Update your code accordingly. (LSPS-10641)

Web Application

Fixed Issues
  • New custom application no longer contains empty folder "archetype-resources". (LSPS-10692)

3.3.2087

Forms

New Features
  • Add BrowserFrame method for sending message to inner iframe (LSPS-10553)
  • Add post message listener to BrowserFrame (LSPS-10554)
  • Add communication to parent UI (LSPS-10555)

Standard Library

Improvements
  • Functions that allow you to inspects the start status of model instances have been added to the Standard Library and commands that return such data have been added to the Command-Line Tool. (LSPS-10592)

3.3.2086

Forms

Improvements
  • The recalculateColumnWidths() method has been added to the Grid component: the method forces recalculation of column width in situations when the Grid fails to recalculate them automatically. (LSPS-10582)

Management Console

Fixed Issues
  • Opening the "Application Restart" view on the LSPS Embedded Server failed with an exception. (LSPS-10567)

PDS

Improvements
  • When form or gobpmn files were copied and renamed, their form and process internal name were not renamed (just the file name was changed), which caused a validation error. With this update, the internal form and process names are changed when copying and renaming the files as expected. (LSPS-9936)

3.3.2085.2

Web Application

Fixed Issues
  • Fix memory leak in ThreadLocal (LSPS-10746)

3.3.2085

Business Activity Monitoring

Fixed Issues
  • Fix warnings in flyway of the BAM (LSPS-10544)

Command-Line Console

Improvements
  • WP-086 Application restart - CLI (LSPS-10514)
Fixed Issues
  • Flyway migrations added by feature "application restart" fail (LSPS-10547)

Management Console

Improvements
  • WP-086 Application restart - Web MConsole (LSPS-10517)

PDS

Fixed Issues
  • If you ran PDS without the license file in the PDS home directory, the environment was started in the wrong perspective and failed to notify the user on the license file. (LSPS-10427)

Packaging

Fixed Issues
  • Security modules are not part of LSPS maven repo (LSPS-10552)

Server

Improvements
  • Security roles for control of the access to the monitoring of model-instance start have been added. (LSPS-10568)
Fixed Issues
  • Disabled user has allocated todos (LSPS-10141)

Standard Library

Improvements
  • WP-086 Application restart - Stdlib (LSPS-10515)

UI

Fixed Issues
  • Problems with CheckBox list component V8 (LSPS-10549)

Web Application

Fixed Issues
  • Only system repo used for application generation: M2_REPO is ignored (LSPS-10546)

3.3.2084

Forms

Improvements
  • The UploadButton was not displayed, when set as immediate (with the setImmediate() or setFieldStyle() method). (LSPS-10542)

PDS

New Features
  • The launcher for building a docker image for the LSPS Application is now added to the Designer when generating an LSPS Application. (LSPS-10533)

Server

Improvements

3.3.2083

Additional Libraries

Fixed Issues
  • The Flyway migration for BAM with the lsps-db-migration-bam-<VERSION>-full.jar failed with a SQLServerException on MSSQL and DB2 databases. (LSPS-10525)

Command-Line Console

Improvements
  • The CLI now has uses the following default values for the host, username, and password parameters when these are not specified:
    --host http://localhost:8080
    --username admin
    --password admin
    In addition, help information is printed when the user runs the cli without arguments, that is, java -jar lsps-cli-<VERSION>-full.jar. (LSPS-10494)
Fixed Issues
  • Add flyway for BAM changes (params as strings) (LSPS-10524)

Expression Language

Improvements
  • You can now obtain the error code and message of the error caused by code in the try block of try-catch with the getErrorCode and getErrorMessage() functions. (LSPS-10139)

Forms

Fixed Issues
  • Under certain circumstances, the binding value of a Input Text Field failed to be persisted though the correct value was shown in the field when the field was refreshed. (LSPS-10511)

Installer

Improvements
  • The installation binary is not longer available: new versions are installed by unzipping the designer zip archive. (LSPS-10478)
Fixed Issues
  • Under certain circumstances, PDS workspace used the Resources perspective as its default perspective, while the Modeling perspective should be used as the default perspective. (LSPS-10464)

Management Console

Improvements
  • When creating a new person in the Management Console, the ProcessExecutor security role is selected by default. This behavior corresponds to the Management perspective behavior. (LSPS-10501)

PDS

Improvements
  • When creating a new person in the Management Console, the ProcessExecutor security role is selected by default. This behavior corresponds to the Management perspective behavior. (LSPS-10501)
  • The Designer now sets the default workspace to a sub-directory in the Documents directory. (LSPS-10512)
Fixed Issues
  • Under certain circumstances, PDS workspace used the Resources perspective as its default perspective, while the Modeling perspective should be used as the default perspective. (LSPS-10464)

Packaging

Improvements
  • The Runtime Suite has been renamed and the resources are now delivered in lsps-tools-<VERSION>.zip file. The command line console has been rename fromlsps-mconsole-cl-<VERSION>-full.jartolsps-cli-<VERSION>.zip`. (LSPS-10502)

3.3.2082

Additional Libraries

Improvements
  • The parameter storage of the BAM library has been refactored to allow a better access to the parameters and improve performance. (LSPS-10449)

Application-Theme

Improvements
  • Minor fixes on the default application theme have been implemented, such as, responsive behavior of the Application Setting section on the Settings page. (LSPS-10373)
Fixed Issues
  • The Save and Cancel buttons have been moved to the top of the pages. (LSPS-10401)

Forms

Fixed Issues
  • The Link component now obeys the openNewTab parameter setting. (LSPS-10364)

Management Console

Fixed Issues
  • The Unlock button was enabled on accomplished To-dos and clicking it caused an exception. The button is now no longer available for such To-dos. (LSPS-10416)
  • The options for explicit setting of menu version (desktop, tablet, mobile) has been removed and the menu layout is adapted to the viewport size automatically as is usual in responsive web applications. (LSPS-10421)
  • The error popup displayed when the user uploads a invalid picture on their Settings page has been improved. (LSPS-10462)
  • When the user attempts to upload an incompatible image file as the avatar picture, the avatar and icon next to the upload button now retain the original picture. (LSPS-10467)

Packaging

Fixed Issues
  • In the zip with LSPS maven repository, the repository root folder has been added. (LSPS-10361)

Server

Fixed Issues
  • For 1:N relationships, the foreign key constraint failed to be added to the database table. (LSPS-10288)

UI

Improvements

Web Application

Fixed Issues
  • Links on the welcome page of the web application have been fixed. (LSPS-10362)

3.3.2081

Forms

Fixed Issues
  • The setNavigation() method call on a link or the Navigation property set to null caused that the form returned a java.lang.RuntimeException. (LSPS-10418)

3.3.2080

Expression Language

New Features
  • When defining a custom LSPS function with Java implementation, the Java implementation did not allow the method definition argument to be of a parent type. For example, if you passed a String argument from LSPS, the method did not accept it if it required a CharSequence argument. Now the argument of subtypes of the method arguments are accepted without the need to cast the arguments. (LSPS-10032)

Forms

Improvements
  • The FileUpload component can now be rendered as a single button, or input field with the file to upload and the upload button: use the setFieldStyle() method of the FileUpload component to set the property. (LSPS-10086)
  • The default lsps-valo style properties now follow the Vaadin valo properties. (LSPS-10088)
Fixed Issues
  • Navigation now allows you to navigate in a new tab or window using the openNewTab property of a Navigation object. (LSPS-10355)
  • If a form of a todo or document requests navigation in a new tab on submit, for example, { e -> Forms.submit(new UrlNavigation(openNewTab -> true, url -> "http://www.whitestein.com")) }, the navigation now happens always in the same tab so that no tabs that contains todos or documents in invalid states are left open. (LSPS-10366)

Installer

Improvements
  • PDS is now distributed and installed as a zip file. The installer files are now deprecated. (LSPS-10262)

PDS

Improvements
  • PDS now uses Eclipse 4.15 (2020-03). (LSPS-9466)

Packaging

Improvements
  • The file lsps-sdk-<VERSION>-zip with resources for the Maven repository has been renamed to lsps-repo-<VERSION>.zip to reflect the content more accurately. (LSPS-10430)

SDK

Improvements
  • The db-migration tools now use Flyway 5.2.4. (LSPS-9818)

Server

Fixed Issues
  • When a non-shared entity was storing a shared record, on deserialization, the shared record could have caused an entity clash if it already existed in the context of the model instance. (LSPS-10413)

UI

Improvements
  • The hint simulate-click-on-session-close has been added for the Button and Action Link components: when the hint is set to true the button is clicked right before the session expires. This allows you to define a hook before the expiration and, for example, save the form. (LSPS-10285)
Fixed Issues
  • If a form requests submit and navigation simultaneously, the navigation is always performed in the current tab: the openNewTab parameter of navigation is ignored so that no stale form remains displayed. (LSPS-10356)

Web Application

Improvements
  • The LSPS Application now contains a Welcome page with an overview of documents, to-dos, model instances, and models. (LSPS-10089)
  • Make it possible to remove proxy from proxy set (LSPS-10299)

3.3.2079

Standard Library

New Features
  • The function terminateModelInstance() which terminates the given model instance so it becomes finished immediately has been added. (LSPS-10369)

3.3.2078

Command-Line Console

Improvements
  • The modelList command now returns the model ID. (LSPS-10345)

Web Application

Fixed Issues
  • The BAM widget did not display any data due to security policy restrictions set for the LSPS Application. (LSPS-10344)

3.3.2077

Forms

New Features
  • The findByAttributeValue() and findAllByAttributeValue() methods have been added to the testing framework of forms so you can now get components of your forms by their HTML attributes in your automatic tests. (LSPS-10336)

Packaging

Improvements
  • Flyway has been upgraded to Flyway 4.2.0 to prepare for migration to higher Flyway version. The intermediate update had to be put in place due to backward-incompatible changes introduced in Flyway which are not taken into consideration in migration to higher versions.

    Important: When migrating your database from a version prior to 3.3.2077, migrate first to 3.3.2077 or 3.3.2078. Only then migrate your database to version 3.3.2080 or later.

    (LSPS-10343)

UI

New Features
  • The Navigation record now defines whether to open its target location in a new tab (Chrome, Edge) or browser window (Firefox). Use the openNewTab property of a navigation to set the behavior. (LSPS-10326)

Web Application

Fixed Issues
  • The following has been added to the testing framework of forms:
    • getHeaderCell(int rowIndex, int colIndex) to the LspsGrid
    • doubleClick() to all components
    • lsps-editor style class to all grid editors
    • lsps- prefix to the fields and button style classes in number filter popup (LSPS-10322)

3.3.2076

Forms

Fixed Issues
  • When a form called showDataErrorMessages() on a Grid, previously the operation performed purely on large Grids. (LSPS-10305)

Management Console

Fixed Issues
  • Process diagrams were not available in the model instance details. (LSPS-10296)

3.3.2075

Forms

New Features
  • The Search Combo-Box component of the forms module has been refactored to use Vaadin 8. (LSPS-10287)
Improvements
  • The setCaseSensitive() method has been added to the Search Combo-Box component so the options can be searched in case sensitive mode. (LSPS-10074)

PDS

Fixed Issues
  • If you set a server connection as default directly in the Server Connections > Select menu items, the connect is no longer reset after PDS restart. (LSPS-10213)

Standard Library

Fixed Issues
  • When some of the Standard Library modules contained errors and the modules were invalid upon import. (LSPS-10297)

3.3.2074

Forms

Improvements
  • Calling Forms.save() could have caused a NotSerializableException. (LSPS-10281)

Standard Library

Improvements
  • The XML mapping properties of records and their fields can now be defined as optional and nillable: this is reflected on the generated XML resources (xsds and wsdl's) so that the webservice server can sent empty or no tags for the given data structure. (LSPS-10279)

3.3.2073

Command-Line Console

Improvements
  • The modelList command of the Command-Line Console now returns the same data that is available in the Module Management view of the PDS Management perspective, that is, the module name and version, executable flag value, upload date, number of unfinished instances and hash code. (LSPS-10250)

Forms

New Features
  • The content security policy frame-ancestor and X-Frame-Option FrameAncestorFilter have been added to the application pages to prevent security issues (LSPS-10233)
  • Previously, only the action defined in the first setAppCloseListener() call was performed on tab close. Now, all the calls are performed as expected. (LSPS-10275)
Fixed Issues
  • Uploading a file from the Upload component caused a "Load denied by X-Frame-Options" exception in the browser. (LSPS-10245)

Installer

Improvements
  • During installation, the wizard has the version of the LSPS you are installing displayed. Also, the text in the setup wizard have been simplified. (LSPS-10255)

UI

Fixed Issues
  • The Javascript libraries lsps-jquery-ui.min.js, lsps-bootstrap.min.js, and lsps-jquery.min.js used by the Dashboard component have been upgraded . (LSPS-10270)

Web Application

Improvements
  • The information in the footer of the login pages of Management Console and application has been improved. (LSPS-10258)

3.3.2071

Application-Theme

Fixed Issues
  • On the login screen of the Application User Interface, the area for the credentials entry is now located in the middle and remains visible on mobile devices as expected. (LSPS-10175)

Forms

New Features
  • The getComponents() method has been added to the Grid component: the method returns the list of the components currently rendered in the grid. (LSPS-10221)
Improvements
  • To allow the user to work with the component rendered in a column cell for a row object, the getComponentInRow(rowObject) method has been added to the GridColumn component. (LSPS-10215)
  • You can now set the error message displayed on the Decimal Field when the user enters an invalid value with the setParseErrorMessage() method. Also to retain consistency, the method has been added to the Date and Local Date Fields so the message can be set with both the setCustomErrorMessage() and setParseErrorMessage() methods. (LSPS-10235)
Fixed Issues
  • The items in the RadioButtonList version Vaadin 8 became read-only in saved forms due to an issue in the underlying Vaadin framework. A workaround has been put in place to prevent the issue. (LSPS-10232)

Management Console

Fixed Issues
  • On the Roles page, the entire names of role parameters are displayed as expected. (LSPS-10184)
  • When the user set multiple filters in a grid, filtering could have failed with a QuerySyntaxException. (LSPS-10188)
  • The content of popups is now wrapped to reasonable lengths. (LSPS-10191)
  • It is now possible to finish a suspended model instance. (LSPS-10193)
  • Previously, it was possible to resend a model instance request from an exception multiple times. Now when you resend a request from an exception and another exception is thrown, the resend is no longer possible for the same exception. (LSPS-10196)
  • For users who do not have the Settings:Manage security right, the Settings menu item in the avatar menu is now disabled. (LSPS-10207)
  • Signals and Saved Documents table are now sorted correctly. (LSPS-10208)
  • Signals and Saved Documents table are now sorted correctly. (LSPS-10208)
  • The Performers filter have been removed from the table on the To-Dos page to restore the status from before the refactoring of the Management Console. (LSPS-10237)

PDS

New Features
  • When generating the LSPS Application, the package names of the application can now use upper-case letters. (LSPS-10128)
Improvements
  • The settings in server connections have been cleaned up to prevent redundant data input and the command-line console now takes the host url without the lsps-ws part of the server path. (LSPS-10225)

Web Application

Fixed Issues
  • Loading of pages with lists of items, such as the To-Dos view, could have taken too long and the request could have timed out due to broken lazy-loading. (LSPS-10234)

3.3.2070

Forms

New Features
  • A form component can now define timers which are triggered repeatedly in the defined intervals. (LSPS-10106)
  • The setAppCloseListener() method has been added to form components: the method allows you to define the action, which is performed when the browser window with the form is closed, reloaded, or has its URL changed. (LSPS-10174)
  • If you downloaded (exported) a save to-do or document and then uploaded (imported) it back, the HTML ids of form components were deleted, which could have caused the form to break. (LSPS-10195)
Improvements
  • The PopupCloseEvent now defines the closeButton property, which allow the user to identify whether the event was produced by clicking the "x" button of the Popup component. (LSPS-10087)

Management Console

Fixed Issues
  • The visualization of element status in the live diagrams has been restored. (LSPS-10189)

3.3.2069

Application-Theme

Fixed Issues
  • The caption of a Label was rendered incorrectly as a button when placed in a dashboard Widget.

    (LSPS-10144)

Command-Line Console

Fixed Issues
  • Previously, it was recommended to use LSPS database in MySQL with the deprecated utf8_general_ci encoding. The recommended encoding is has been changed to utf8mb4 and the migration scripts have been updated. For further information, refer to Frequently Asked Questions.

    (LSPS-10152)

Forms

Improvements
  • The getDataSource() method has been added to the Repeater component. (LSPS-10143)
Fixed Issues
  • Wildfly failed to serialize application data and reported the following NotSerializableException:
    Caused by: an exception which occurred:
            in field com.whitestein.lsps.vaadin.util.LspsUIBase.navigateToThreadLocal
    (LSPS-10150)

Management Console

New Features
  • The Management Console now uses Vaadin 8 as its underlying web-application framework. (LSPS-10151)
Fixed Issues
  • The Management Console now restores retains input data, such as, filter settings, when the user clicks the back button. (LSPS-10129)
  • When the user attempts to export the state of a todo which has not been saved, the Management Console returns the improved error message "Export failed: only previously saved To-dos can be exported." (LSPS-10159)

PDS

Fixed Issues
  • When the user attempts to export the state of a todo which has not been saved, the Management Console returns the improved error message "Export failed: only previously saved To-dos can be exported." (LSPS-10159)

Server

New Features
  • MySQL 8.0 is now supported. (LSPS-10167)

UI

Fixed Issues
  • Under certain circumstances, the drop-down combo box failed to display options in the drop-down list due a race condition. This has been fixed by upgrading the underlying Vaadin framework. (LSPS-10137)
  • Wildfly failed to serialize application data and reported the following NotSerializableException:
    Caused by: an exception which occurred:
            in field com.whitestein.lsps.vaadin.util.LspsUIBase.navigateToThreadLocal
    (LSPS-10150)
  • When the data count of a Lazy-Loading Combo Box does not match the data, an error message is returned. (LSPS-10160)
  • The ui::uploadFile component in Vaadin 8 forms now behaves as its Vaadin 7 version when in the immediate mode. (LSPS-10163)

Web Application

Fixed Issues
  • When the user hovers the mouse pointer over the LSPS logo, the cursor pointer changes the hand cursor to indicate the logo is clickable and redirects you to the home page. (LSPS-10142)

3.3.2068

Forms

Improvements
  • The height of grid rows now adapts to the row content as expected. (LSPS-10147)

Platform

Improvements
  • LSPS now requires Websphere version 8.5.5.11/12. (LSPS-9029)

3.3.2067

UI

Fixed Issues
  • When the user changed the Combo Box component value, the action could have resulted in a NullPointerException. This happened when the ValueChangeListener on the Combo Box attempted to refresh itself. (LSPS-10149)

3.3.2066

Command-Line Console

Improvements
  • The DB2 driver used by the migration tool has been upgraded to version 11.5.0.0. (LSPS-9755)

Forms

New Features
  • The gridstack library used by the Dashboard and Widgets has been upgraded to v0.4.0 (LSPS-10115)

UI

Fixed Issues
  • In the Vaadin 8 implementation of ui:Tree, expanding a node could have been ignored since no client-server request had been sent. The underlying problem has been fixed by Vaadin and resolved by upgrading Vaadin used in LSPS. (LSPS-10098)

Web Application

Improvements
  • The DB2 driver used by the migration tool has been upgraded to version 11.5.0.0. (LSPS-9755)

3.3.2065

Business Activity Monitoring

Fixed Issues
  • The BAM Dashboard example returned an NullParameterError exception on the dashoardIsPublic parameter when the user tried to create a new dashboard. (LSPS-10122)

Cloud

Improvements
  • The guest user has been removed to prevent potential security issues. (LSPS-9861)

Forms

New Features
  • The rendered of the Grid Column can now be set to render a Form Component. (LSPS-10080)
  • You can now resize widgets by pulling on either the right, or the left, or the bottom border, or by pulling one of the arrows in the lower corners of the widget. (LSPS-10117)
Improvements
  • You can now add a style class to a Grid Column with the setCellStyleGenerator() method, for example c.setCellStyleGenerator({ myRowObject:String -> "columnclass" }). (LSPS-10067)
Fixed Issues
  • Under certain circumstances, stylesheet added to a component with the addStyleSheet() method failed to be removed when the component was detached. (LSPS-10108)
  • Methods for working with a start index setStartIndex(), getStartIndex() and page size setPageSize() and getPageSize() have been added to the forms::Repeater component to allow implementation of paging features. (LSPS-10112)
  • When an editable Grid contained a button that deleted the underlying value object and the user clicked the button multiple times quickly, the Grid interpreted the clicking as a double-click, which was considered a request for row editing. However, since the value object was deleted already, the action resulted in an exception. Now once a button click is accepted, the Grid ignores any double-click edit request.

    (LSPS-10118)

  • Previously, a style sheet added with the addStyleSheet() method, did not behave correctly:

    • Such a style sheet failed to be removed if it was added before the component was attached.
    • Such a style sheet was not added after it was removed and added repeatedly, for example, after clicking the back button of the browser, when the stylesheet contained new lines or special characters and

    (LSPS-10123)

Management Console

Fixed Issues
  • When adding a new person from the Web Management Console, no security roles were available. (LSPS-10102)

PDS

Improvements
  • When the user creates a new form, the stub methods in the methods file no longer contain the keyword TODO to prevent cluttering of the Tasks view. (LSPS-9987)

UI

Improvements
  • The lazy-loading combo-box component, ui::LazyLoadingComboBox, has been upgraded to use Vaadin 8. (LSPS-10100)
Fixed Issues
  • If the value of the ComboBox binding was set to a value which was not available in the Options list, the component continued to display the previously selected value. Now the selected value is cleaned under these circumstances. (LSPS-10109)

Web Application

Improvements
  • The guest user has been removed to prevent potential security issues. (LSPS-9861)

3.3.2064

UI

Improvements
  • The UITree component is now implemented in Vaaadin 8. (LSPS-10083)
  • It is now possible to define additional properties of charts, such as, background color, tooltip properties, and border radius, in the Configuration property of the chart. (LSPS-10091)
Fixed Issues
  • The Configuration property, which allows you to define the chart background color and the legend background color, has been added to charts (LSPS-10084)

Web Application

Improvements
  • The default LSPS Application is now generated with the <YOUR_APP>-db-migration project. (LSPS-9731)

3.3.2063

Application-Theme

Fixed Issues
  • It was impossible to change the background image of the login header on the login page due to an !important directive. (LSPS-10064)

Forms

Fixed Issues
  • If the input of the addStyleName() method contained the sequence \f, it was escaped so the sequence was not recognized as a font character. (LSPS-10069)

UI

Improvements
  • The implementation of ui::MultiSelectList has been refactored to Vaadin 8. (LSPS-10066)
Fixed Issues
  • Refreshing of a ComboBox could have failed with an exception. This occurred under the following circumstances:
    • The ComboBox used as its options a record that had a field with the "Used for equals" option selected.
    • The ComboBox was a child of a ViewModel, which was cleared before the refresh. This occurred as part of migration of implementation the ComboBox component to Vaadin 8 and affected only the Vaadin 8 implementation. (LSPS-10071)

3.3.2062

Business Activity Monitoring

Improvements
  • The database tables of the BAM library are now version-controlled by Flyway. The migration scripts are available in the Runtime suite. (LSPS-9509)

Forms

New Features
  • The Vaadin framework used by forms and ui implementations has been upgraded to Vaadin 8.8.6 (LSPS-10053)
Fixed Issues
  • When an input component used infer validation with tags set to null, the newly entered value could have been deleted. (LSPS-10011)
  • In the forms::Grid component, a filter with an options filter could have been ignored in Internet Explorer. (LSPS-10050)

UI

New Features
  • The Vaadin framework used by forms and ui implementations has been upgraded to Vaadin 8.8.6 (LSPS-10053)
Fixed Issues
  • The immediate property was previously removed and no longer influenced the event processing: Any event triggered the event processing. This caused exchange of increased amount of data and represented a backward-incompatibility with the original behavior. With this update, the original behavior of immediate has been restored. (LSPS-10055)
  • Quick scrolling through a long lazy-loaded table in Firefox no longer scrolls further than expected. (LSPS-9979)

Web Application

Fixed Issues
  • When the user runs the LSPSLauncher, the launcher triggers Flyway migration as part of the launch. The Flyway migration previously ran BAM migration scripts and Flyway attempted to execute the scripts before LSPS migration scripts. As a result, the migration failed. The scripts have been excluded from the dependencies. (LSPS-10056)

3.3.2061

Installer

Fixed Issues
  • Migration scripts for BAM Library have been added to the LSPS maven repository so the user no longer needs to acquire the LSPS Runtime package to perform database migration. (LSPS-10052)

3.3.2060

Additional Libraries

Fixed Issues
  • The scaffolding_forms::EntityDetail and scaffolding_forms::EntityOverview components, could not define the value of the Caption property: Any attempt to define the value resulted in a validation error. This has been fixed and you can now define the caption of the components either in their Caption property or with the setCaption() method. (LSPS-10046)

Documentation

Fixed Issues

Forms

New Features
  • The onLoad() method has been added to forms::Form: The method is called when a form is restored after it had been saved. (LSPS-10001)
  • Font awesome has been upgraded to 5.10.1. (LSPS-10038)
Improvements
  • The token field style has been improved. (LSPS-10009)
  • You can now display a row with details with additional data about the object in the clicked row. (LSPS-10016)
  • The exception returned when filtering unsupported complex values in a Grid now contains information on the value provider that caused the exception. (LSPS-10026)
Fixed Issues
  • Previously, a front-end user with the right to perform form previews (the security right Form:Preview) could have executed an arbitrary LSPS expression. (LSPS-10007)
  • Using a Grid OptionsFilterConfig with the select parameter set to a value caused the following exception:
    com.whitestein.lsps.common.LspsRuntimeException: The type of the filter field does not match the type of the default filter value.
    (LSPS-10023)
  • When adding a style from a css file with the addStyleSheet() method, for example, c.addStyleSheet(toString(getResource(#"mod", #"my.css").content, #"UTF-8")), some special characters were converted to HTML entities when the file with the style used CR-LF ends of line. (LSPS-10025)
  • The error message displayed when filtering values of unsupported types in a Grid has been improved. (LSPS-10028)
  • Documentation now contain instructions on how to enable selection of multiple rows in a forms::Grid. (LSPS-9482)
  • The ui and forms JUnit tests in the <YOUR_APP>-tester project now by default use Chrome and pass in the default LSPS Application as expected (you still need to provide the chromedriver for your Chrome and run the server in debug mode before running the tests). (LSPS-9606)

Installer

Improvements
  • On installation, OpenJDK was not detected as a possible option for Java. (LSPS-10043)

Packaging

Fixed Issues
  • The structure of the generated LSPS Application sources has been improved: * a project for modules
    • a project for exported deployable zips with modules
    • git-related resources (LSPS-10008)

UI

Fixed Issues
  • Previously, a front-end user with the right to perform form previews (the security right Form:Preview) could have executed an arbitrary LSPS expression. (LSPS-10007)
  • If a component had the html-class hint with the value "l-no-text", the help text was incorrectly rendered as wrapped in a div element. (LSPS-10044)
  • The Single-Select List component has been refactored to use Vaadin 8. (LSPS-9998)

Web Application

Improvements
  • The login page login.jsp of the Process Application has been cleaned up. (LSPS-9375)
Fixed Issues
  • Populating of the VAADIN_APP_CONTEXT_ROOT variable in the tester SampleUIIT was populated incorrectly and caused the test to fail. (LSPS-9952)

3.3.2059

UI

Fixed Issues
  • Under certain circumstances, for a custom table that extended certain protected methods the data load could have worked incorrectly. (LSPS-9872)

3.3.2058

Forms

Fixed Issues
  • Icons added to the Upload component and to the MultiFileUpload component have been misplaced. The underlying component implementation has been changed to fix the problem. (LSPS-10005)

Web Application

Improvements
  • The LSPS Application EAR is now build with file version.txt with information on the underlying LSPS Application. (LSPS-9996)
  • Under certain circumstances, when the user opened a link to a to-do that was no longer allocated to them, the action failed with an exception and the application remained unresponsive. With this update, an error message with information about the problem is displayed and the application continues to work as expected. (LSPS-9997)

3.3.2057

PDS

Fixed Issues
  • After upgrade of the underlying plugin, the PDS Embedded server was not available in PDS. This happened due to an issue with the H2 database creation in the upgraded plugin. The older plugin has been restored and the PDS Embedded Server is available as expected. (LSPS-9995)

3.3.2056

Forms

Improvements
  • The downloadFile(FileResource resource*) function, which downloads a file, has been added. (LSPS-9951)
Fixed Issues
  • The select() method has been added to the forms::TreeTable component so a node can be selected programatically. (LSPS-9537)
  • If a parameter passed to navigation to a document (navigateToDocument(DocumentType documentType*, Map<String, Object> parameters) or to its Java version getNavigationUrl(RecordHolder navigation) ) had value null, it was incorrectly converted to a parameter with value "null". Now the parameter value is ignored as expected. (LSPS-9992)

UI

Fixed Issues
  • In the Vaadin-8 implementation, even if the options of a ComboBox did not contain an option with no label, an empty option was available. (LSPS-9989)

3.3.2055

Forms

Improvements
  • The Sampler that provided the Dynamic Themes feature (sources for custom themes for User Application Interface) has been removed due to its insufficient functionality. (LSPS-9931)
Fixed Issues
  • Clicking Save in a row of an editable Grid failed with a NullPointerException if the row contained a button. (LSPS-9944)
  • The NamedScreenshotOnFailure() JUnit rule has been added so it is now possible to take screenshots of multiple browsers on test failure. (LSPS-9953)
  • The UITester class can now specify the timeout parameters for page load, script timeout, and implicit wait for the clicker tests. (LSPS-9954)
  • When a Dashboard was hidden and re-displayed, for example, when switching between Tabs, the size of the Dashboard was not set correctly. (LSPS-9956)
  • The Single-Select List was rendered incorrectly when its data contained only one item. (LSPS-9960)
  • In the form definition, you can now add CSS rules to a form directly from a form component with the addStyleSheet(String sheet) and remove such rules with the removeStyleSheet(String id) method. The methods allow style-sheet changes in cases when the user works exclusively with a model without the LSPS Application. The style rules as applied and removed as the given component is attached and removed respectively: it is therefore recommended to define the rules on the uppermost form component. The feature is intended for prototyping and testing of style rules. Once you are happy with the styles, add them to your LSPS Application.
    c.addStyleName("unread-comment")
    def String cssId := c.addStyleSheet(".unread-comment { background-color:aliceblue }");
    c.removeStyleSheet(cssId)
    (LSPS-9968)
  • The LspsTabSheet test class could not open a tab if it was not visible due to too many tabs. (LSPS-9969)

Management Console

Fixed Issues
  • Previously, if the new password and its confirmation did not match, the application failed to display a notification on the mismatch (the new password was not saved). (LSPS-9924)
  • On the Settings page, Chrome previously populated the Password and Password Verification fields with the password saved for the current user. (LSPS-9948)

Other

Improvements
  • You can now deploy the LSPS Application to Wildfly 15 and 16. (LSPS-9930)

Server

Fixed Issues
  • When accessing the Person obtained in a joined todo (Join Todo List option) in a standard query, the call to the query failed with an exception. (LSPS-9959)

Standard Library

Improvements
  • You can now allow statements defined on multiple lines in the file passed to the executeSqlFile() function: to do so, insert a line with -- MULTILINE before such statements. To switch back to single-line statements, insert a line with -- SINGLELINE. (LSPS-9580)

UI

Improvements
  • The implementation of the File Upload (ui::FileUpload) component now uses Vaadin 8. (LSPS-9933)
Fixed Issues
  • The Radio Button List and Check Box List logged bogus debug messages. (LSPS-9941)
  • Vaadin 8 implementation of UIComboBox has been added. (LSPS-9958)

Web Application

Fixed Issues
  • On the Settings page, Chrome previously populated the Password and Password Verification fields with the password saved for the current user. (LSPS-9948)

3.3.2054

Command-Line Console

Fixed Issues
  • When unloading multiple modules, the modules were not unloaded following their dependencies and unload could have failed with an exception. Now the modules are sorted according to their dependencies and unloaded in the correct order. (LSPS-9888)

Forms

Fixed Issues
  • A Grid with an OptionsFilterConfig filter configuration could have returned an ErrorException. (LSPS-9877)
  • A Grid with an OptionsFilterConfig filter configuration could have returned an ErrorException. (LSPS-9877)

Management Console

Fixed Issues
  • Previously, the user could have disabled themselves which caused a runtime exception. Now, the user can disable only other users from the Management Console. (LSPS-9901)
  • The person's properties were not displayed on first display and after saving changes on the Settings page. (LSPS-9902)
  • After recent changes introduced to the Setting page of a user in the Management Console, changes introduced to the user data were ignored and some sections could not be edited. (LSPS-9904)

PDS

Fixed Issues
  • The data on the release commit in the About dialog of the Process Design Suite were incorrect. (LSPS-9922)

SDK

Improvements
  • When generating classes and interface for the data type models, you can now specify a common Interface for the generated Interfaces of each given module. (LSPS-9906)

Web Application

Fixed Issues
  • Previously, when the user run a model instance from the Run Model view, they were navigated away, while it seemed that the view remained focused. With this update, a notification about a new model instance is displayed and the view remains focused. (LSPS-9723)
  • Previously, missing version.properties files of the Application User Interface or Management Console cause an exception when the user opened the About dialog. With this update, the dialogs are populated with N/A values instead. (LSPS-9898)

3.3.2053

Forms

Fixed Issues
  • Setting the default filter value on a Table Column with a date interval caused an exception. (LSPS-9886)
  • The visible property of View Models was ignored. (LSPS-9893)

3.3.2052

Command-Line Console

Improvements
  • The lsps-db-migration-lsps tool now supports the info command, which prints the details and status information about the migrations. (LSPS-9882)

Forms

Improvements
  • The PDFViewer now logs a WARN Client side returned an error: Invalid or corrupted PDF file. when the resource is not displayed since it is not a PDF format. (LSPS-9830)
Fixed Issues
  • When you drop multiple files to a single Drop Zone component, the files are handled at once by a single callback. Note that the change is backwards incompatible since the upload result listener has now a list of files and a list of error messages as its input. (LSPS-9009)
  • The multiple options filter of a grid with a custom datasource returned its current value as an Object of a non-record type making it difficult to work with it in the Expression Language. This has been corrected so it now returns a list of Filter records. (LSPS-9889)

Management Console

Improvements
  • The user data on the Settings page now contains all relevant data and features, such as, substitution, and security roles data. (LSPS-9802)
Fixed Issues
  • If the user did not have the Log:Read security right, accessing logs of model instances in the Management Console caused an error. Now the message on insufficient access right appears. (LSPS-9878)

PDS

Fixed Issues
  • If the user that is used to establish the connection to the LSPS Server from PDS does not have the Management:Login security right, all management views in PDS now display the "Missing rights." message.

    (LSPS-9808)

UI

Improvements
  • The error dialog box displayed in forms is now centered when the detail information is expanded for the first time. Also the dialog can be resized. (LSPS-9887)

3.3.2051

Forms

Improvements
  • The value-change event (ui::ValueChangeEvent) now has the oldValue property with the value that was stored in the binding prior to the given value change event. Therefore, if the user is changing the value, it returns the last valid value. If the binding value was set programmatically, it returns the value from binding even if the value is incorrect. (LSPS-9863)
Fixed Issues
  • Previously, when editing a Grid entry with a Type value, the editing failed with a ClassCastException. (LSPS-9790)
  • In the testing framework for forms, Javadoc for openTabById(String id) of LspsAccordion has been improved. (LSPS-9833)
  • An empty forms::Repeater component caused an ErrorException. (LSPS-9840)
  • Filters with a filter configuration (`FilterConfig) on Grids could have failed on rendering with a RuntimeException. (LSPS-9864)
  • As part of changes due to the update of filters to Vaadin 8, filtering of grid columns with a property of a shared record did not work correctly and could have caused an ErrorException. (LSPS-9865)
  • The method findByTextContent() searched the entire form, not the subtree of the given component. (LSPS-9866)
  • An improved error message is returned when sorting a grid according to a collection of records. (LSPS-9868)
  • Errors when obtaining the count of the items in a grid data source were ignored which could result in incorrect filtering and sorting. (LSPS-9870)

Management Console

Improvements
  • Previously, when the version.properties files of the LSPS Application, either of the Management Console or Application User Interface, did not contain all the properties, displaying the About information caused an NPE. Now, the dialog is displayed with "N/A" as values of the missing properties. (LSPS-9832)

3.3.2050

UI

Fixed Issues
  • In a ui::TreeTable with Vaadin 8 implementation, when an input component attempted to access the tree item iterator of the ui::TreeTable, the form rendering failed with an app.lspsException saying that the input component could not be created. (LSPS-9817)

3.3.2049

Cloud

Improvements
  • The LSPS Cloud has been updated to LSPS 3.3. (LSPS-9829)

Forms

Fixed Issues
  • The options filters in Grid Columns now display the option for null option values when defined. (LSPS-9819)

Other

Improvements
  • When installing LSPS Cloud Edition, the installation reported a problem running a post-install step and a bogus bundles_info_temp folder was created in the installation folder. (LSPS-9831)

Server

Fixed Issues
  • A handleSystemException with the message Merging of model instance failed could have occurred when a record proxy was created over a record type, that is, without a proxied record and was later deleted. (LSPS-9836)

3.3.2047

Forms

Fixed Issues
  • When editing system records or complex data types in a Grid, the cells with such data are now read-only even when the column is set as editable and any changes are ignored. (LSPS-9806)
  • When the options of an OptionsFilter on grid columns hold SelectItems with collections, the options are now displayed as expected. (LSPS-9812)

Management Console

Improvements
  • The layout of the General Settings view has been improved. (LSPS-9814)

3.3.2045

Management Console

Improvements
  • The Management:Login security right, that governs the ability to log in to the Management Console and access data from the Management Perspective has been added. (LSPS-9491)

Navigation Engine

Improvements
  • The Management:Login security right, that governs the ability to log in to the Management Console and access data from the Management Perspective has been added. (LSPS-9491)
Fixed Issues
  • The navigation call could have failed with an exception due to a concurrency problem during file upload. (LSPS-9782)

3.3.2044

Forms

Improvements
  • You can now listen for sorting and filtering on Grid with the setSortListener() and setFilterChangedListener() methods. (LSPS-9793)
  • The clearBinding() convenience method for <componentWIthBinding>.setBinding(null as ObjectBinding) has been added. (LSPS-9798)
Fixed Issues
  • Error messages on components can be added as validators (addValidator()), custom messages (setCustomErrorMessage()), the infer validation feature (inferValidator()), or showing constraint violations (showConstraintViolations() and showDataErrorMessages). Previously, only one set of the error messages was displayed resulting in missing error messages. (LSPS-9691)
  • The error popups in the Application User Interface now contain the full call-stack with precise information about the error cause. (LSPS-9786)
  • Previously, the server returned an exception when the user attempted to edit an enumeration in an editable grid. This update adds the editor for enumerations and the enumerations in the scenario become editable as expected. (LSPS-9789)
  • When filtering a grid, the selection retained items that were no longer visible. (LSPS-9791)
  • When a Grid Column had the value provider set to Property path and the record had value null, the server returned an NPE. With this update, a non-editable row is rendered. (LSPS-9794)

UI

Fixed Issues
  • The input components of UI Vaadin 8 returned an NPE when they refreshed themselves or their parent. (LSPS-9800)

3.3.2043

Forms

Improvements
  • You can now set the order of columns in a Grid or Table with the setColumnOrder() call. (LSPS-9759)
Fixed Issues
  • When the user set a SubstringFilterConfig on a Grid Column, the configuration of the substring value of the configuration was not applied on form initialization. (LSPS-9783)

3.3.2042

Forms

Improvements
  • You can now define the value providers for sorting and filtering for grid columns and that either in their Properties on the Sorting and Filtering tab or as parameters of the addColumn() method. (LSPS-8953)
  • The PDFViewer component is now by default rendered with a non-zero width and height. (LSPS-9683)
Fixed Issues
  • The setFiltrable(false) method did not work correctly and resulted in, the filter was displayed on all columns, even if you set it to disabled on a column. (LSPS-9582)
  • Methods for sorting Grid Columns setSorted(), isSorted() and isSortAscending() have been added. (LSPS-9770)
  • Drag-and-dropping of Grid Columns is now supported: the feature is enabled and disabled by the setColumnReorderingAllowed() method. To allow the user to check if the feature is active, the isColumnReorderingAllowed() methods have been added. The getColumns() method has been adjusted to return column in the current order with the possible changes introduced by dragging-and-droppping of columns and to include any hidden columns; (LSPS-9771)
  • You can now select all items in a grid in multiselect (MULTI) selection mode with the Select All check box. Note that by default the check box is not available. The availability of the check box is set with the setSelectAllCheckBoxVisible(Boolean) method. When you use the select-all feature, all items in the datasource are loaded into memory therefore make sure not to use the feature on large data sources. (LSPS-9776)

Management Console

Improvements
  • When the user did not have the security right to change their own password, their password fields were still editable on their detail when accessed from the Persons page. After an attempt to change the password, the operation failed with an error. This also prevented the user from changing other details and setting on this page. Now the password fields are read-only under these circumstances. (LSPS-9754)
Fixed Issues
  • Previously, when editing the security rights of a person, all the rights were unset and therefore removed from the person on save. This was caused by Vaadin update and has been fixed. (LSPS-9766)

SDK

Improvements
  • In addition to generating a Java class for a record, you can now define for each Record whether to generate Java interfaces with the required properties and, the property getters and setters. (LSPS-9773)
  • When generating Java classes for your data types, you can now map an existing Java class to your Enumeration types: the setting is available on the Java tab of Enumeration properties and prevents the enumeration classes from being generated. (LSPS-9774)
  • When generating classes for records, you can now specify the target project and package for the generated Java sources for each module. (LSPS-9775)

UI

Fixed Issues
  • The UI Vaadin 8 implementation of the text box component with a date has been added. (LSPS-9740)
  • The UI Vaadin 8 implementation of the local-date text field has been added. (LSPS-9742)
  • The UI Vaadin 8 implementation of the text area component has been added. (LSPS-9752)
  • The UI Vaadin 8 implementation of the radio-button list component has been added. (LSPS-9757)
  • The UI Vaadin 8 implementation of the check-box list component has been added. (LSPS-9763)
  • When the user tried to sort a table column that contained a record, the action resulted in a NullPointerException, which occurred as a result of a ClassCastException. Now, the column content is sorted according to record ids. (LSPS-9767)
  • API for UI Vaadin 7 and UI Vaadin 8 component factories is now exposed via the createV7Factory(connector) and createV8Factory(connector) methods to allow easier factory customization. (LSPS-9777)

3.3.2041

Command-Line Console

Improvements
  • The db-migration tool used an outdated SQL Server driver. Since the driver was no longer maintained, hibernate errors could have occurred. The Microsoft JDBC driver for SQL Server driver is now used.

    (LSPS-9732)

Forms

Fixed Issues
  • If a table column contained a multi-select options filter, the filter fired events that caused redundant loads of the table data source. (LSPS-9737)

PDS

Improvements
  • You can now easily define count queries for HQL queries directly in the query definition. Note that count queries of HQL queries with group by do not work correctly. (LSPS-9727)
Fixed Issues
  • You can now use parameters of HQL query in the start index and count parameters of the query. (LSPS-9726)

Server

Fixed Issues
  • Local variables of Inline Event Subprocesses failed to be initialized correctly. (LSPS-9729)

UI

Fixed Issues
  • The Vaadin 8 implementation of the UITextBox has been added: note that switching to this implementation introduces backwards incompatible changes and hence requires thorough testing. (LSPS-9734)
  • The UI Vaadin 8 implementation of the check-box component has been added. (LSPS-9736)
  • The LSPS Application has been adjusted to allow switching between Vaadin 7 and Vaadin 8 implementations of UI forms. This requires you to adapt existing LSPS Applications so that they use one of the new component factories: in the DefaultLspsAppConnector class or your custom class that extends it, adjust the getComponentFactory() method so it returns the required UI factory implementation:
    • UIComponentFactoryV7Impl to retain the current implementation, originally called UIComponentFactoryImpl.
    • UIComponentFactoryV8Impl to use Vaadin 8 implementation.

      With this factory, component implementations in Vaadin 8 will be used if available (The implementations will be provided gradually). Note that new implementations will not be backwards compatible and your forms will require thorough and full testing.

          @ Override
          public UIComponentFactory getComponentFactory() {
                      //original content:
              //return new UIComponentFactoryImpl(this);
              return new UIComponentFactoryV7Impl(this);
          }
      

      (LSPS-9756)

Web Application

Improvements
  • The db-migration tool used an outdated SQL Server driver. Since the driver was no longer maintained, hibernate errors could have occurred. The Microsoft JDBC driver for SQL Server driver is now used.

    (LSPS-9732)

3.3.2040

Command-Line Console

Improvements
  • The db-migration scripts now takes an optional comma-separated list of key-value pairs managed by Flyway. The list is provided as a parameter in the format keyname1=keyvalue1,keyname2=keyvalue2. To use the key value in your SQL script, use the syntax ${keyname}. (LSPS-9720)

Forms

Fixed Issues
  • The table column method isCollapsed() no longer requires parameter. If you used the method with a parameter in your models, make sure to adjust the calls. (LSPS-9717)

3.3.2039

Command-Line Console

Fixed Issues
  • The db-migration and lsps-cli tools available in the LSPS runtime package have been reworked to provide a more consistent experience: they are now provided as jar files and delivered in the cli-tools directory of the runtime package. (LSPS-9596)

Forms

Improvements
  • The table failed to detach some of the components that were no longer needed. Later these were detached automatically and the event was logged as a warning. This has been fixed and the logs are no longer cluttered. (LSPS-9483)
  • The modeling ID defined on a Reusable Form component in the calling form is now preserved on runtime. Also the findByFormId method that returns the components created by the reused form has been added to the test bench. (LSPS-9682)
  • To provide better support for the sorting feature of tables, the following methods have been added to table columns:
    • setSorted: sorts the column in the ascending or descending order and deactivates sorting
    • isSorted: returns whether the table is sorted by the specified column
    • isSortAscending: returns true if the sorted column is sorted in ascending order (LSPS-9688)
Fixed Issues
  • In the testing suite, the getId() on components with no ID defined now returns null and no longer fails with an exception. (LSPS-9697)
  • Previously, in Pdf Viewer, pressing Enter did not produce a change event in Internet Explorer: as a result, when the user entered a page number into the page-number field and pressed Enter, the document failed to navigate to the page. (LSPS-9713)

PDS

Fixed Issues
  • When defining constraints in the text editor, validation now checks if the used constraint property, tags, and constraint types exist. (LSPS-9718)

UI

Improvements
  • The table failed to detach some of the components that were no longer needed. Later these were detached automatically and the event was logged as a warning. This has been fixed and the logs are no longer cluttered. (LSPS-9483)
Fixed Issues
  • The icons were not displayed due to incorrect HTML. (LSPS-9690)

Web Application

Improvements
  • When attempting to perform an action over finished model instances, the server threw an exception, which was logged with its stacktrace into logs leaving them cluttered with generally irrelevant data. Now, the server logs a brief warning into the logs and the details are added to error logs. (LSPS-9711)

3.3.2038

Command-Line Console

Fixed Issues
  • The db-migration tool from the LSPS Runtime 3.3.2037 failed to run. (LSPS-9687)

Management Console

Improvements
  • A new security right, Log:Read, that governs access to Logs created by the Log task and log() function has been added. (LSPS-9657)

Web Application

Fixed Issues
  • Maven used by PDS has been upgraded to a newer version, which tracks the source server of artifacts instead of only checking their name and groud id. As a result, when generating the LSPS Application, some artifacts fetched from other repositories were ignored and the generation failed. After this upgrade, the maven build of the LSPS Application is run with -Dmaven.legacyLocalRepo=true which restores the original behavior. (LSPS-9609)

3.3.2037

Forms

Improvements
  • The setOnValidValue() method has been added to input components. The method runs after the value has changed and the isValid() call has returned true. (LSPS-9629)
  • Input components now have the getUserText() method, which returns the content of the input field even if the input does not meet the requirements of validators. Also, the setNumberFormats(List<String>) method has been added to the DecimalField so that you can now define multiple input format. (LSPS-9635)
Fixed Issues
  • It is now possible to clear binding of a component by passing the null parameter to the setBinding() method, for example, myTextField.setBinding(null as Reference). (LSPS-9584)
  • In testbench, the selectBySubstring() method has been added to the combo-box components so you can select an option that contains a substring. (LSPS-9586)
  • Under certain circumstances, an expandable Text Area could have lost the scroll bar. (LSPS-9616)
  • The robustness of data serialization has been improved to prevent potential security exploits. (LSPS-9640)
  • The property DataSeriesItem.itemColor that defines the color of the given data item has been added. Also, the DataSerieItem.color property, which has never been applied on the data item, is now deprecated. (LSPS-9671)

PDS

Improvements
  • You can use an expression to define the BLOB size in data type models, such as, 1024*1024 //evaluates to 1048576. The BLOB expression must return an Integer and cannot access any constructs or variables from higher contexts. (LSPS-9541)
  • Textual definitions of constraints now support auto-completion. (LSPS-9560)
  • The Filtered roles field of the Modeled Roles dialog for a person no longer overflows to the drop-down with its values. (LSPS-9619)
  • When inserting a record import onto the canvas in the data-model visual editor, the Select Record Type popup with a tree of available modules is displayed. Previously, the modules were collapsed so it was not possible to immediately use the find feature (CTRL+F). (LSPS-9627)
  • The methods file of forms is now generated with the non-parametric constructor stub. (LSPS-9672)
Fixed Issues
  • The support for tags used by constraint validation has been added to the Expression Evaluator of the Model Instances detail. (LSPS-9563)
  • In the forms visual editor, it was not possible to change a horizontal split panel to a vertical split panel. (LSPS-9599)
  • The Model Upload popup displayed when uploading modules from the Management perspective has been renamed to Module Upload to reflect its purpose more accurately. (LSPS-9620)
  • The icon displayed in the run configuration item has been updated. (LSPS-9658)

Standard Library

Improvements
  • The extension methods of functions that take Person as its required parameter have been created. (LSPS-9618)

UI

Fixed Issues
  • The robustness of data serialization has been improved to prevent potential security exploits. (LSPS-9640)

3.3.2036

Expression Language

Improvements
  • You can now create a reference to a record property using the safe-dot operator ?., for example, &person?.name (LSPS-9654)

Forms

Fixed Issues
  • In Internet Explorer, the RichTextArea component failed to fire value change events while the component had the focus. (LSPS-9636)
  • If the user requested PDF files faster than the PDF Viewer managed to load, the action resulted in an error. (LSPS-9647)

Server

Fixed Issues
  • When persisting a to-do with a ui::form that contained multiple View Models, the entities from the resulting lower evaluation levels were not rebound correctly. As a result, the entities on higher evaluation levels could have ended up using wrong values. (LSPS-9641)

Web Application

Fixed Issues
  • Previously, it was possible to run commands on the server with LSPS Application using the API of the LSPS Server. (LSPS-9655)

3.3.2035

Command-Line Console

Improvements
  • The schemas parameter that defines, which schemas are managed by Flyway, has been added to the db-migration script. (LSPS-9631)

Forms

Improvements
  • The setClickShortcut method has been added to the Button component. If the end-user presses the shortcut defined by the method, the button click action is performed. (LSPS-9623)
  • You can set the error message displayed on a Date Field or Local Date Field when the entered date is not in an allowed format with the setParseErrorMessage(String message) method. (LSPS-9624)
  • When opening a PDF in your browser, the browser saves data about the currently open page, applied zoom, and sidebar position. Previously, the PDF Viewer component always applied this data when it was available. Now you can enable or disable this behavior with the setRestorePdfStateOnLoad() method. (LSPS-9626)
  • The isConvertible() method of components that hold a value has been deprecated. Equivalent functionality is provided by the isValid() and getErrorMessages()methods. (LSPS-9634)

PDS

Improvements
  • In property paths, the use of dot access (.) operator is now validated as a warning when preceded by the safe-dot (?.) operator since the safe-dot access is rendered ineffective. For example, person?.address.street is considered invalid since the street access could return a NullParameterError. (LSPS-9632)

Server

Improvements
  • LSPS now logs messages about database schema update when a model with a modified schema is uploaded. (LSPS-9638)
Fixed Issues
  • When uploading a model with an updated data model and the upload strategy set to Updated database schema and a conflict between the schemas arose, the upload failed with the SqlExceptionHelper error violated - child record found. This occurred due to incorrect order when deleting the model data. (LSPS-9617)
  • If a to-do with a binary was persisted multiple times, the binary ID could have been used by another object: This could have resulted in a ClassCastException or use of an incorrect object or incorrect data. (LSPS-9630)

3.3.2034

Forms

Fixed Issues
  • When the user entered text into a text area, the page stopped responding due to an infinite loop in the text area. This happened, due to a conflict in an HTML attribute and CSS style rules of the text area. (LSPS-9615)

3.3.2033

Forms

Fixed Issues
  • When throwing an exception after calling the hide() method on a popup, the popup lost the path to the global exception handler and the exception failed to be handled. (LSPS-9612)

Installer

Fixed Issues
  • Generation and building of the LSPS Application from PDS failed. This was caused by an outdated Maven version included in the PDS. The correct Maven version is now included in PDS. If you keep experiencing issues when building the LSPS Application after PDS upgrade, please, delete the maven repository, <home>/.m2/repository by default. (LSPS-9594)

Server

Fixed Issues
  • When a parent record has the O-R mapping set to "Each record to own table", the tables of its child records hold only values for not-inherited fields: parent's fields are stored in the parent table. When the child inherited the ID from the parent, previously, the database did not contain a constraint that would restricts the foreign-key value in the child to be identical with the primary key of the parent. (LSPS-9610)

3.3.2032

Command-Line Console

Improvements
  • The flyway:clean, flyway:repair, flyway:migrate options have been added to the migration tool for LSPS database initialization and migration tool to allow to define the flyway run (the migration is run by the migration.sh and migration.bat script). (LSPS-9605)

Forms

Fixed Issues
  • The stream resources (files) sent from the server, for example, streams displayed in PDFViewer, now contain the "no-cache" headers to prevent caching by the browser. (LSPS-9604)

PDS

Improvements
  • Validation now checks whether exclusive gateways have a default outgoing flow. By default, a missing default flow is marked as a warning. (LSPS-9603)

3.3.2031

Forms

Fixed Issues
  • When a model used a version of the standard library that did not have the forms::setModelingId() method, the model compilation, which is performed either right after model upload or when a model is first requested, failed with a ModelUploadException. This caused backwards incompatibility of models. Models with such standard libraries are now compiled without calling the setModelingId() method and the models are compiled successfully. (LSPS-9601)

Navigation Engine

Improvements
  • The errors in server log now include information about which gateway was involved when applicable. (LSPS-9597)

3.3.2030

Forms

Fixed Issues
  • In the testing framework, the cast of element to Text Area test bench element did not work. (LSPS-9577)
  • The tabChangeListener() value of a TabSheet component was lost during the save and restore of a todo or document. (LSPS-9593)

3.3.2029

Forms

Improvements
  • Support for Accordion has been added to the testing framework. (LSPS-9588)
Fixed Issues
  • Under certain circumstances, the restoreState() call of a table failed with a NullPointerException. (LSPS-9591)
  • The Form.save() call failed with an exception on forms with an input field with a validator. This occurred due a recursion in an internal call referencing the input field itself. (LSPS-9592)

3.3.2028

Forms

Improvements
  • The setter and getter methods, setModelingId() and getModelingId(), have been added to all form components. (LSPS-9575)
Fixed Issues
  • Input values failed to be validated on refresh and hence were not marked as being invalid. (LSPS-9581)
  • After a refresh() call, the component validation and on-change actions were executed in an incorrect order. This caused that the on-change actions used the previously validated component value, which could have resulted in a NullPointerException or inconsistent data. (LSPS-9583)

PDS

Improvements
  • The setter and getter methods, setModelingId() and getModelingId(), have been added to all form components. (LSPS-9575)

Web Application

Improvements
  • The createUserMenu() method has been created and exposed in the DefaultMainMenu class to simplify customization of the Main Menu of the LSPS Application User Interface. (LSPS-9571)

3.3.2027

Expression Language

Improvements
  • You can now define Integer literals as hexadecimal in the format 0x<code>. (LSPS-9552)
Fixed Issues
  • Previously if a string literal was defined by a code which was out of range, the PDS validation failed with a NumberFormatException. Now validation correctly reports such a situation. (LSPS-9553)

Forms

Improvements
  • The Drop Zone component now allows to set the minimum and maximum number of dropped files with the setMinFiles(Integer numberOfFiles) and setMaxFiles(Integer numberOfFiles) methods. (LSPS-8751)
  • The Button, ActionLink, Label and Link form components can now contain HTML in their captions: call setCaptionMode() method to enable or disable the feature. (LSPS-9410)
  • The TableColumn.getComponentInRow() method has been added to allow you to obtain the content of a table cell easily. (LSPS-9523)
  • The TableColumn.getComponentInRow() method has been added to allow you to obtain the content of a table cell easily. (LSPS-9523)
  • In the testing frameworks, javadocs of methods for acquiring modeling components by their ID have been improved and the findByPrefixIId() method has been added. (LSPS-9559)
  • The getCellComponent method has been added to the table cell of the testing framework. Also the openUrl(String url, By anyElementId) method has been added to app tester as a convenience method for easier ad-hoc testing. (LSPS-9562)
  • The LspsCaption class that represents a form component caption and methods isRequired(), getCaption(), inputComponent(), hasClassName(), and getClassNames have been added to the form components testing framework. (LSPS-9565)
Fixed Issues
  • Support for FontAvesome 5 has been added. (LSPS-9238)
  • Calling setOptions() on a combo box, single select list, etc. failed to set the option caption correctly. (LSPS-9532)
  • The Repeater modeling ID is now rendered on the layout component created by the repeater. (LSPS-9558)
  • TextArea now displays the required indicator (*) when applicable. (LSPS-9566)

Management Console

Improvements
  • When the login name of a user changed or a user is disabled while the user is logged in, the application displayed a stacktrace and the user could not invalidate the session. Now the session is invalidated and the application is loaded on reload as expected. (LSPS-9539)

Navigation Engine

Fixed Issues
  • The maintain condition of a Maintain Goal was not checked after the persist() function call. (LSPS-9561)

PDS

Improvements
  • When the login name of a user changed or a user is disabled while the user is logged in, the application displayed a stacktrace and the user could not invalidate the session. Now the session is invalidated and the application is loaded on reload as expected. (LSPS-9539)
  • Constraints can now define metadata. (LSPS-9554)

Web Application

Fixed Issues
  • The global message area is now displayed correctly when the application uses the horizontal layout setting. (LSPS-9572)
  • The NoRightsPage class in the <YOUR_APP>-vaadin project has been renamed to SingleMessagePage. (LSPS-9573)
  • Since the support for font awesome has been deprecated by Vaadin, it is now delivered as part of the extensions of the vaadin project. If you are using your custom style, include the @include lsps-extensions-at-root; statement in your styles.scss. Failure to do so will result in missing font-awesome icons.
    @import "../../../VAADIN/themes/<my_theme>/wtpdfviewer.scss";
    @include lsps-extensions-at-root;
    (LSPS-9574)

3.3.2026

Forms

Improvements
  • Constructors of data series are now variadic. (LSPS-9512)
  • The code of the Settings page has been refactored to allow easier customization of the page. (LSPS-9540)
Fixed Issues
  • When using the Scaffolding Library and displaying an Entity Detail from the Entity Overview form component, the component allowed editing of Entity Details even though the Entity Overview was read-only. (LSPS-9426)
  • The RecordOption.maxRecursionDepth property for a Record on a scaffolding component was ignored. This happened when the property was defined also on a nested component. (LSPS-9427)
  • In the scaffolding_forms module of the Scaffolding library, the field PropertyOptions.propertyCustomForm of closure type was incorrectly described as having the current Record value as its input parameter, while the record property to be rendered is passed. (LSPS-9530)

Management Console

Improvements
  • The Server Settings view has been added to the Management Perspective and Management Console. From the view, you can set the exposed execution and database related settings. (LSPS-9502)
  • The icons from the deprecated FontAwesome have been substituted with Vaadin icons in the Management Console. (LSPS-9527)
  • It is now possible to change the login name of a person after it was created. (LSPS-9529)
Fixed Issues
  • Under certain circumstances, saving of a person's details failed silently. (LSPS-9531)

PDS

Improvements
  • A Form Preview button has been added to the main menu of the Forms editor so you can preview forms quicker. (LSPS-8900)
  • The auto-completion visualization has been improved:
    • The proposal popup displayed when the user presses Ctrl+SPACE while writing code now retains its size on next display.
    • The popup with description displayed when the user selects an item in the proposal popup wraps the content. (LSPS-9418)
  • The Server Settings view has been added to the Management Perspective and Management Console. From the view, you can set the exposed execution and database related settings. (LSPS-9502)
  • The Module Dependency view has been improved. (LSPS-9524)
  • It is now possible to change the login name of a person after it was created. (LSPS-9529)
  • Validation now detects unused process and subprocess variables. (LSPS-9533)
  • You can now use Search > Find Unused Modeling Elements to find unused private module variables. Note that the validation of unused private module variables has been hence removed. (LSPS-9534)
  • Record constraints can now be defined in a text editor using specific syntax. (LSPS-9536)

Server

Fixed Issues
  • The deserialization of the core::File field of a shared Record no longer fails with a NulllPointerException. (LSPS-9549)

Standard Library

Fixed Issues
  • New JSON functions that handle parsing to existing data structures and provide more flexibility when working with JSON have been added to the Standard Library. (LSPS-9519)

3.3.2025

PDS

Improvements
  • The content assistant in decision table in SFEEL has been improved and now offers the time() and duration() conversion functions. (LSPS-9144)
  • You can now rename a custom component and its component property from the context menu of their declaration in the formComponents definition file. (LSPS-9394)
  • The context menu of finished model instances contained the restart button. Since the restart operation is not an operation allowed on finished model instances, the button has been disabled. (LSPS-9488)
  • The elements from organization models are now included in the autocompletion of the expression evaluator in the Management perspective. (LSPS-9489)
Fixed Issues
  • Due to a memory leak, PDS slowed down gradually and could have potentially crashed. (LSPS-9522)

Server

Improvements
  • A Signal Start event could have used only references to parent context data to store its Signal. Now it can now use a reference to variable from its own context in its Signal parameter. (LSPS-9517)
Fixed Issues
  • Accessing a deleted Internal Record property sometimes failed with an NPE. Such access now consistently finishes with an LspsEntityNotFoundException. (LSPS-9511)

3.3.2024

PDS

Improvements
  • It is now possible to disable parameters on roles and role units in organization models. (LSPS-9487)
  • The disabling of presentation hints was not applied. (LSPS-9510)
Fixed Issues
  • In the Java perspective, running a Form Preview caused a null pointer exception. (LSPS-9497)

Server

Fixed Issues
  • Merging a record that is created and deleted on a non-base level and deleted on the same level has been improved to prevent missing context data after merge. (LSPS-9507)
  • An internal issue in EvaluationLevelUtils.attachEvaluation has been fixed. (LSPS-9513)

3.3.2023

Forms

Fixed Issues
  • The API method setCloseable() and isCloseable have been added to the dashboard widget: the methods allow to hide and display the close button. (LSPS-8786)

Server

Fixed Issues
  • Binding of expressions, which is used, for example, when working with levels of ui forms, model update data, etc. failed to load, which could cause failures on ui reloads. (LSPS-9493)

UI

Fixed Issues
  • The refresh of lazy tables now works as expected. (LSPS-9496)

3.3.2020

Forms

Improvements
  • The Text Area now supports automatic vertical resizing to fit its content: use setExpandable(true) to activate the feature. (LSPS-9226)

UI

Fixed Issues
  • Lazy tables now display scrollbars when applicable as expected. (LSPS-9177)

Web Application

Improvements
  • The refreshBadges() method, which sets the numbers in the badges of navigation items, now calls the getBadge() method. This makes customizing the calculation of badge values simpler. (LSPS-9484)

3.3.2019

Expression Language

Improvements
  • Validation now detects identical case value in a switch statement as a problem. (LSPS-9464)

Forms

Fixed Issues
  • A grid component could have experienced performance problems. This was resolved by upgrading the underlying Vaadin 8. (LSPS-9469)

Server

Improvements
  • The flushAndRefresh(<sharedRecords>) function that reloads shared records from the database has been added to the standard library. This function serves to fetch the shared records from the database in cases when they might have been modified by custom objects or third-party systems. (LSPS-8577)
  • The TodoListCriteria type used by the Join Todo List of standard queries has been extended with the includeRejected and includeAllStates fields so that it is now possible to query todos that are no longer alive. (LSPS-9357)

3.3.2018

Forms

Improvements
  • The LocalDate renderer has been added to the Grid renderers. (LSPS-9322)

PDS

Fixed Issues
  • Management views now support sorting by column values. (LSPS-9453)

Server

Improvements
  • The LSPS_SETTINGS.VALUE column with database LSPS settings has been changed to VARCHAR(2000) to accommodate longer parameter values.

    (LSPS-9461)

Fixed Issues
  • When a model instance was created but its model has not been loaded yet, for example, on application server restart, the changes on shared records in the modeling instance were not persisted. (LSPS-9452)
  • If a record is changed on different levels in the same transaction, the server no longer returns an optimistic lock exception. (LSPS-9459)

UI

Fixed Issues
  • When the list of options in a combo-box changed on runtime, the options were not displayed in the correct order. (LSPS-9458)

3.3.2017

Management Console

Fixed Issues
  • If the user submitted changes on a person multiple times from the same page, the submit failed with the com.whitestein.lsps.os.exception.PersonStaleException since the server failed to fetch the updated person from the database. (LSPS-9400)
  • The substitution section listed the substitutes in a lazy-loaded table with the active substitutes selected. The error occurred when a user who was not listed yet was an active substitute since the select failed. With this update, the token field is used instead of the table. (LSPS-9447)
  • Missing German translations have been added. (LSPS-9449)

Server

Fixed Issues
  • As part of model update, all goal and plan assignments were executed anew as the goals and plans were set to their target status in the updated model instances. This resulted in the repeated execution of the assignments since these were already executed in the original process instance. With this update, the goals and plan are set to their target status without executing their assignments. (LSPS-9455)

Web Application

Fixed Issues
  • The LSPS launcher for the SDK Embedded Server continued even if the OpenEJB launch failed. With this update, the launcher stop and reports an error. (LSPS-9451)

3.3.2016

Forms

Improvements
  • The showContextMenu() method which displays a context menu has been added to forms components. Also the ClickEvent now contains data on the coordinates of the click. This allows you to display the context menu at the clicked position, for example, { e:ClickEvent -> panel.showContextMenu(e.x, e.y)}. (LSPS-9270)
Fixed Issues
  • The underlying Vaadin components have been upgraded to use Vaadin 8. This upgrade results in the following API changes of the LSPS Application 3.3 as opposed to its 3.2 version:
    • In the LspsFormComponentFactory class:
      • The createEditor() method has been substituted by the createEditorBinding(() which returns a BindingBuilder object
    • The Renderer implementation has been changed to com.vaadin.ui.renderers.Renderer (LSPS-9339)
  • When the user dropped a file into a drop zone, the action failed with a java.lang.RuntimeException as the upload result listener of the drop zone was called. (LSPS-9429)
  • The setAcceptedMimeTypes() method of the forms::Upload button failed to set the accepted mime types. (LSPS-9434)

PDS

Improvements
  • When designing a form, you can now add columns to a grid or table component from its context menu. (LSPS-9412)
Fixed Issues
  • When a module contained multiple enumeration types with the same name, a warning was logged and validation was not working correctly. (LSPS-9446)

Standard Library

Improvements
  • The deprecated UI components, ui::TreeTable and ui::Tree, have been removed from the standard library. (LSPS-9122)

UI

Fixed Issues
  • The setAcceptedMimeTypes() method of the forms::Upload button failed to set the accepted mime types. (LSPS-9434)

3.3.2015

Navigation Engine

Fixed Issues
  • Binary values were registered on an incorrect evaluation level since they were registered prematurely before the evaluation-level assignment. This resulted in a NullPointerException. (LSPS-9428)

PDS

Improvements
  • On a process, when the user unselects the Executable option, the Instantiate automatically option is now automatically disabled since it does not apply. (LSPS-9414)

3.3.2014

Packaging

Fixed Issues
  • The BAM library is now available from the LSPS maven repo. (LSPS-9415)

Server

Improvements
  • The support for Cross-Origin Resource Sharing (CORS) has been added. The response for the OPTIONS requests can be customized in a properties file. (LSPS-9423)

3.3.2013

Forms

Fixed Issues
  • On a Table, the getComponents() method failed to return components. (LSPS-9407)

3.3.2011

Forms

Improvements

Server

Improvements
  • When a BPMN error or escalation occurs, all interrupted tasks are notified by the call ExecutableTask.terminate(TaskContext, TerminationReason): The call now contains the error code from TerminationReason for errors, and escalation code and payload for escalations. (LSPS-9406)

Standard Library

Fixed Issues
  • A model instance created by the createModelInstance() function called from a process now has the parent model instance set correctly.

    (LSPS-9409)

Web Application

Fixed Issues
  • The server returned a NullPointerException when a user without the required security rights attempted to log in. (LSPS-9384)

3.3.2010

PDS

Improvements
  • Validation now detects a problem on form variables, that are never read and on form variables that are never assigned a value.

    (LSPS-9367)

Fixed Issues
  • Rendering of the toolbar in the comparison editor has been fixed. (LSPS-9402)

SDK

Improvements
  • The LspsRemote class has been refactored and now takes the user and password as its arguments. Note that the class API has changed as a result. (LSPS-9398)

Server

Fixed Issues
  • Proxy sets were not saved when a model instance was persisted. (LSPS-9403)

3.3.2009

Management Console

Fixed Issues
  • Adding a property to a person resulted in an ServerRpcManager$RpcInvocationException or in an incorrect property value. The underlying problem has been fixed and person properties are stored correctly. (LSPS-9399)

3.3.2008

PDS

Improvements
  • The H2 database used by the PDS and SDK embedded servers has been upgraded. (LSPS-9364)
  • Validation now detects a problem on local variables that are never read or are never assigned a value. (LSPS-9368)
  • Validation now detects unused function parameters. (LSPS-9369)
  • Validation now detects unused ui-forms parameters. (LSPS-9387)
  • The settings of validation have been reordered. (LSPS-9396)
  • You can now search for all modeling elements based on their modeling ID. Note that the ID serves to identify elements from the server logs. (LSPS-9397)
Fixed Issues
  • The content assistant of the expression evaluator in the Model Instance Detail now contains the decision table records and methods. (LSPS-9382)

Server

Fixed Issues
  • The required parameters and returned errors of the RecordProxySet methods have been modified to resemble the functions in proxy.func. (LSPS-9378)

3.3.2007

Other

Fixed Issues
  • Infinispan of the JBoss and Wildfly servers returns the ISPN000299: Unable to acquire lock after 15 seconds due to a failed Vaadin heartbeat attempt. To fix this problem, the following has been done:
    • The underlying Infinispan setting acquire-timeout has been increased on the embedded servers. Consider increasing your acquire-timeout setting as well.
    • The heartbeat interval has been increased to prevent such situations. To increase the interval in your application, adjust the Application User Interface as follows:

      In the web.xml file, set heartbeatInterval to 300s

      <param-name>heartbeatInterval</param-name>
      <param-value>300</param-value>
      

      (LSPS-9358)

PDS

Improvements
  • You can now set proxy server for PDS LSPS connections in Preferences > General > Network Connection. (LSPS-9360)
Fixed Issues
  • When a visual function definition with more than one metadata key-value pair was converted to the textual function definition, the metadata key-value pairs were not separated with a comma. (LSPS-9373)

Server

Fixed Issues
  • When fetching an instance of an audited shared record, the fetching could have failed with an error due to an infinite loop in some cases. (LSPS-9376)

3.3.2006

PDS

Improvements
  • When generating data type model from a database schema, the following improvements have been introduced:
    • If a type already exists in the module, it is detected: a new type is no longer generated under such circumstances.
    • Relationships between new types and existing types are generated.
    • Fields are generated in the order of database columns.
    • If the database table mapped to an existing type contains additional columns which are not in the existing type, the columns are not added to the existing type. (LSPS-8831)
Fixed Issues
  • A validation warning is detected when the user defines a property of a custom form component as "Property is displayed in editor" on a component that is a child from a component which defines such a property already. (LSPS-9343)
  • If a process that starts with a task is used as a reusable subprocess, validation no longer detects an error. (LSPS-9355)

Server

Fixed Issues
  • The server returned an LspsRuntimeException when a RecordProxySet merge call with optimistic lock check attempted to merge a proxy to its versioned record instance that was deleted. With this update, the server correctly detects a conflict. (LSPS-9350)

3.3.2005

Forms

Improvements
  • You can now search for read and write access to form and popup variables from their context menu in the Outline view. (LSPS-9356)

PDS

Fixed Issues
  • On shared-record fields, the Exclude from optimistic lock option is now disabled if the Version or Primary key options are selected (previously, on such fields, the Excluded from the optimistic lock option was ignored). (LSPS-9338)

Server

Improvements
  • Additional HealthCheck MBeans have been added to the LSPS Server to provide further monitoring details. (LSPS-7969)
Fixed Issues
  • If the version field of a shared record was of the type Date, the server returned an org.hibernate.engine.jdbc.spi.SqlExceptionHelper error. (LSPS-9347)
  • The count query for queries with the distinct option ignored the distinct option when used by the table and grid components to facilitate paging. (LSPS-9353)

3.3.2004

PDS

Improvements
  • When creating a form definition, the default setting of the Use FormComponent-based UI option now depends on the imported modules. (LSPS-9311)
Fixed Issues
  • When you renamed a module and changed its path in the data types information in a REST webservice definition, the Generate action ignored the new module name. (LSPS-8866)
  • In some cases, the right-hand side of an expression with a compound-assignment operator (+=, -=, etc.) was not validated. (LSPS-9328)

SDK

Improvements

Server

Improvements
  • Validation failed to detect a problem when the condition of a conditional start event used a local variable of the process, although the variable cannot be used since it is not initialized at the moment the condition is checked. (LSPS-9257)
  • Functions that check for conflicts when merging proxies of versioned records have been added. (LSPS-9332)
Fixed Issues
  • Model update failed on forms types update. Now, forms are excluded from model update as expected. (LSPS-8948)
  • A proxy merge could have overwritten a record that was changed by another proxy on a versioned record. (LSPS-9315)
  • For a shared record with optimistic locking, if a proxy and the proxied instance were changed in the same transaction, no conflict was detected. (LSPS-9334)
  • The TypeValue.getType(), TypeValue.getCompiledType() methods returned incorrect types. The method implementation has been fixed. (LSPS-9344)

Standard Library

Improvements
  • The functions date() and formatDate() that take the locale argument have been added. (LSPS-9323)

3.3.2003

Additional Libraries

New Features
  • The scaffolding_forms module for the forms module with resources for prototyping of CRUD components has been added to the Scaffolding Library. (LSPS-8352)

Command-Line Console

Improvements
  • The updatePerson command that allows you to change your password has been added. (LSPS-9316)

Documentation

Improvements
  • The Process Application, front-end web application for end users, has been renamed to Application User Interface to reflect the actual purpose of the application. (LSPS-9319)

Expression Language

New Features
  • The LocalDate data type, which represents the java.time.LocalDate, has been added. Note that related functions have been added to the Standard Library as well. (LSPS-9299)
Improvements
  • The compound-assignment operators +=, -=, *=, /=, %= have been added. (LSPS-9243)
Fixed Issues
  • Data types now define their visibility as public or private. (LSPS-2865)

Forms

New Features
  • The forms::Slider component has been added. (LSPS-8854)
Improvements
  • The select components Combo Box, Single Select List, Multi Select List, Check Box List and Radio Button List can now define their options as a collection: the label for the options is calculated as the value returned by the toString() call on the collection item. (LSPS-6170)
  • Previously, if you wanted to insert an icon from the vaadin font into your form, you had to insert a piece of html code with the required classes set into a Label component. You can now use the vaadinIicon() function to do so. Also, to get a list of the available icons, you can use the allVaadinIconNames() function. (LSPS-9227)

Installer

Fixed Issues
  • If the user did not select the Create desktop shortcut option, the process resulted in a corrupt installation. (LSPS-8934)

PDS

Improvements
  • The select components Combo Box, Single Select List, Multi Select List, Check Box List and Radio Button List can now define their options as a collection: the label for the options is calculated as the value returned by the toString() call on the collection item. (LSPS-6170)
  • The underlying Eclipse has been upgraded to Eclipse Oxygen. (LSPS-9163)
  • You can now enter the @Disabled annotation into a method definition file before the record name to exclude all the methods from validation. (LSPS-9182)
  • It is now possible to copy and paste the properties in the Custom Form Component editor. (LSPS-9183)
  • The method visibility is now visually indicated on individual items of the Outline view. (LSPS-9230)
  • The PDS content assist now correctly offers public and protected methods of the supertypes for super. (LSPS-9234)
  • The Expand All and Collapse All buttons have been added to the model instance tree in the Model Instance view. (LSPS-9244)
  • LSPS supports WildFly 11, which is now also used as the PDS Embedded Server. (LSPS-9261)
  • If you adjust the position of an end of a flow element, such as, a data-type relationship, process flow, etc. you can reset the position of the end back to the default from the flow's context menu. (LSPS-9289)
Fixed Issues
  • Previously, the PDS Embedded Server returned the following bogus error, when initializing its H2 database:
    Exception to find schema version.: org.h2.jdbc.JdbcSQLException: Table "LSPS_SCHEMA_VERSION" not found;
    This occurs due to a missing table with the data on the database schema, which is not required by the PDS Embedded Server. With this update, the PDS Embedded Server returns a warning. (LSPS-8946)
  • The GO-BPMN Search allows you to define whether to search for functions, methods, or constructors. (LSPS-9222)
  • If an HQL query used the keyword distinct in its select, the query failed with a com.whitestein.lsps.lang.exception.ValidationException error. (LSPS-9271)
  • In an HQL query, select can now use property path as well as an alias. (LSPS-9272)
  • In an HQL query, a property of a record was resolved incorrectly when used in the with clause and the query failed with an org.hibernate.hql.internal.ast.ErrorCounter error. (LSPS-9274)
  • Under certain circumstances, saving a modified data-type definition file after undoing changes could have failed with an exception. (LSPS-9287)
  • In the Expression Evaluator, pressing CTRL+Enter inserted a new line character \n into the evaluated expression. The key combination now send the expression for evaluation as is as expected. (LSPS-9302)

Platform

Fixed Issues
  • Previously, it was necessary to replace the javassist of the WildFly and JBoss server with a custom LSPS javassist and modify the jboss-deployment-structure.xml accordingly. With this update, these changes are incorporated in the jboss-deployment-structure.xml, which renders these steps unnecessary. (LSPS-9097)

Server

Improvements
  • The server now logs information on incorrect LSPS database schema version. (LSPS-8187)
  • The change proxy mechanism has been reworked to provide a more flexible and safer way of working with shared records.

    • It is now recommended not to merge your proxies directly but adding them to a RecordProxySet object and merge the set.
    • You can now define whether the server should perform an optimistic-locking check on the records on merge.
    • The merge functions mergeProxiesDeep(RecordInstance1, ..) and mergeAllProxiesDeep(List<RecordInstances>) have been removed. The same functionality can be achieved with the merge call of a RecordProxySet. (LSPS-9215)
  • The HealthCheck MXBean with attributes related to monitoring of the LSPS Application has been added and is accessible from JMX monitoring tools such as JConsole. The MXBean can be used for integration with Nagios. (LSPS-9242)
Fixed Issues
  • If, during model update, a transformation of a global variable that was added in the new model used the old() call, the update could have failed with a NullPointerException on the call. (LSPS-9191)
  • Native queries previously failed to map Boolean database type to a record property when running on a MySQL database. (LSPS-9221)
  • The BinaryHolder type is now serializable. (LSPS-9288)

Standard Library

Improvements
  • The notifyModelInstance() function that allows you to invoke a model instance has been added to the Standard Library. (LSPS-9095)
  • The function and extension method getProperty() has been added: it takes a Record and a String name parameters and returns the property of the Record with the name or null if such a property does not exist. (LSPS-9211)
  • The function sortByKey() has been added: it takes a collection of objects to be sorted, the keyExtractor closure that retrieves the keys to use for sorting and returns a list of elements sorted by the keys produced by the given keyExtractor. (LSPS-9214)
  • The groupBy() function, which aggregates a collection of items into groups with particular classifiers, has been added. (LSPS-9224)
  • The getRecordSupertype() function has been added: it takes a record type and returns its supertype.

    (LSPS-9241)

  • The function toInteger(String string, Integer radix) that allows the user to parse numbers with different bases has been added. (LSPS-9255)
  • The function isReadOnly(PropertyPath) and its extension method have been added. (LSPS-9265)
  • The functions for checking properties isPrimaryKey(Property property), isAutogenerated(Property property), isVersion(Property property) have been added. (LSPS-9266)
Fixed Issues
  • Previously, a record could have had two fields with the same name where one was inherited from its supertype and the other field was defined on the record. Such a situation now renders the model invalid. (LSPS-9180)

UI

Improvements
  • The Navigation Link component is now considered an action component. (LSPS-9304)
Fixed Issues
  • The Link component failed to navigate to the target location due to incorrect logic in history storing. (LSPS-9301)

Web Application

Improvements
  • When you generated the LSPS Application, PDS previously created the maven build configuration and application launch configuration as local files in the current workspace. These launcher configurations are now created in the <YOUR_APP>-embedded project so they can be easily shared and version-controlled as part of the application. (LSPS-9223)
Fixed Issues
  • The technical user processAgent can no longer log in to the Process Application via the login page. (LSPS-9200)

3.3.2002

Expression Language

Fixed Issues
  • If the iterator of the foreach loop was changed via its reference from the loop, write access was successful. Such write access now causes an error on runtime. (LSPS-9159)

Forms

Fixed Issues
  • A NullPointerException that occurred when saving documents with ui forms has been fixed. (LSPS-9154)

PDS

Improvements
  • You can now create queries in HQL. (LSPS-9000)
  • The Module Management view of the Management perspective now displays the module hash code and the number of unfinished model instances if applicable. (LSPS-9030)
  • If you declare a function with no parameters as an extension method, the validation now detects the missing required parameter as an error. (LSPS-9131)
  • TODO markers in task parameters are now detected and displayed in the Task view. (LSPS-9142)
Fixed Issues
  • When the user defined a UI listener in the Listener dialog and then selected Listener is defined by expression, the generated expression did not contain the executionContext field and the listener was executed in the top level context. (LSPS-9136)

Standard Library

Fixed Issues
  • An exception could occur when the user attempted to open or submit a saved to-do. This happened due to inconsistencies in the context of objects returned by the makeCopy() method of model instances and the synchronize(ModelInstance original, ModelInstance toBeSynchronized) of EvaluationLevelUtils. The calls now return objects with correct context. (LSPS-9174)

UI

Fixed Issues
  • When the user defined a UI listener in the Listener dialog and then selected Listener is defined by expression, the generated expression did not contain the executionContext field and the listener was executed in the top level context. (LSPS-9136)

3.3.2001

Expression Language

Improvements
  • Closures which reference only their arguments and global variables are executed more efficiently. (LSPS-8878)
  • The memory footprint of contexts related to closure and function invocations has been significantly diminished. (LSPS-9082)

PDS

Improvements
  • The Expression Evaluator REPL View has been added so you can test expressions on design time. (LSPS-8920)
Fixed Issues
  • When you changed the name of an element in the Properties view and a diagram with the element was displayed, the name in the diagram was not refreshed immediately. (LSPS-9069)

Standard Library

Improvements
  • The getAllSubGoals(Goal goal) and getSubGoals(Goal goal) functions and their extension methods that return the immediate and all sub-goals of a goal have been added. (LSPS-9103)

3.3.2000

Forms

New Features
  • The LSPS Application now uses Vaadin 8. This has the following impacts:
    • Internet Explorer 8, 9, and 10 are no longer supported.
    • Java 8 is required.
    • Connecting classes of custom form components that use Vaadin implementation might need adjusting if their Vaadin API changed. (LSPS-9340)

Other

Fixed Issues
  • After installing LSPS Cloud Edition, PDS failed to connect to the server due to a certificate unsupported by older Java versions. Now the installer as well as PDS will warn the user that a newer Java version is required. The Java bundled with the installer has been upgraded so the certificate is now accepted by this Java as well. (LSPS-8849)

PDS

New Features
  • Support for decision tables has been added: you can now design decision tables with your business rules in PDS, display and edit them in the Application User Interface, and use them to obtain decision results based on the rules. (LSPS-8834)

SDK

Improvements
  • If an implementation Java class of a task was not available on the server, the system failed to detect the problem. The system now logs the full stack trace in such cases so it is easier to identify the problem.

    In addition, you can now upload models created in LSPS 3.0 and older and check whether a task implementations is missing. This was previously not possible because the HumanInteractionTask was removed in LSPS 3.1. On execution, the task throws an exception. (LSPS-8929)

UI

New Features
  • The LSPS Application now uses Vaadin 8. This has the following impacts:
    • Internet Explorer 8, 9, and 10 are no longer supported.
    • Java 8 is required.
    • Connecting classes of custom form components that use Vaadin implementation might need adjusting if their Vaadin API changed. (LSPS-9340)