LSPS documentation logo
LSPS Documentation
Release Notes

3.1.1031

Improvements

  • The tester project of the Process Application now contains the JbossDeploymentConfigTest that checks if the jboss-deployment-structure.xml contains all the required modules. Run the test as a JUnit test or as part of the build with mvn clean install -Dlsps.tester. LSPS-9172

Fixed Issues

  • Under certain circumstances, saving a modified data-type definition file after undoing changes could have failed with an exception. LSPS-9287
  • A to-do submit could have failed with a ConcurrentModificationException due to a bug in context handling. LSPS-9237
  • 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

3.1.1030

New Features

  • The Process Application remained unresponsive when the user clicked into a chart. LSPS-8990

Improvements

  • You can now resume all the Updated instances displayed in the Model Instances view by click the Resume All Updated in the context menu of the view. LSPS-9021
  • The Expression Evaluator REPL View has been added so you can test expressions on design time. LSPS-8920

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
  • 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
  • After database migration with the delivered scripts, Websphere servers failed on some operations with the message Authentication failed for processAgent. This occurred because the password for the user processAgent in the system database did not match the password in the configuration of the Websphere. The database initialization now updates the password to match the Websphere password as expected. LSPS-9114
  • Due to incorrect parsing of the muc file, model update performed with the command-line tool failed with an exception unless it explicitly specified the model instances to be updated. Now such a command is applied to all model instances of the original model. LSPS-9108
  • 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

3.1.1029

Fixed Issues

  • The browser context menu is now displayed on text boxes and labels inside Grid in Process Application. LSPS-8954
  • The browser context menu is now displayed in the Process Application unless overridden in the application code: the fix resulted in a change in the in the AppLayout.java class of the Process Application. Make sure to change your AppLayout.java class of your custom process application accordingly. LSPS-8936

3.1.1028

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

3.1.1027

Fixed Issues

  • Model instances of Modules created in LSPS 2.7 could have crashed with an exception during UI validation due to a backwards-incompatible change in the data structure of the UI-validation feature. The attribute has been adapted to be backward-compatible and the problem no longer occurs. LSPS-8926
  • The search-for-usages feature now returns also hits in the Refresh field of Listeners in the UI form definitions files. LSPS-8911

3.1.1026

Fixed Issues

  • Validation in dynamic Pop-ups failed with an exception saying that the data you are trying to access was not available on a higher execution level. LSPS-8895
  • When the user changed the value of a date variable, the variable was set to an incorrect date. LSPS-8875
  • 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
  • Related records with a primary key that is mapped to a foreign key of another record have the key set automatically when the related record is assigned. For example, if Parent has a relationship to Child and one of the Child's primary-key fields is mapped to the primary key of Parent, the field automatically adopts the Parent id:
    def MyParent p1 := new MyParent();
    def MyChild c1 := new MyChild(id -> 1, parent -> p1);
    LSPS-8603
  • Deployment how-to documentation has been moved to the Deployment and Configuration guide. LSPS-7931

3.1.1025

New Features

  • The functions addPersonToRole() and removePersonFromRole() have been added to the Standard Library. LSPS-8684

Improvements

  • The Text Area and Text Box components now throw a AsynchronousValueChangeEvent on every key stroke. The user can use the AsynchronousValueChangeListener to catch the events and define the required actions. LSPS-8718
  • To allow the user to save and restore the width and collapse state of a table column, the getColumnStates and restoreColumnStates functions have been added to the ui module of the Standard Library. The functions work with a new record TableColumnState which holds the state of the table column. The record contains also the columnId attribute which represents the column identifier as obtained from the UITableColumn.getColumnId() method. LSPS-8676
  • It is now possible to reassign to-dos from the Management perspective. LSPS-6927
  • You can now enable hibernate statistics on the server either in the server.properties of the application EAR or via an MBean from JConsole. You can find further information in the Runtime Suite documentation. LSPS-6579

Fixed Issues

  • Relationships between an audited and a non-audited record which are excluded from auditing are no longer audited as expected. LSPS-8726

3.1.1024

Improvements

  • When migrating database with the migrate.sh script, the user can now use properties in for SQL databases. For example, instance=whitestein in databaseUrl:jdbc:sqlserver://localhost/lsps;instance=whitestein is now correctly handled as an instance name. LSPS-8663
  • The Single Select List can now define the size hint, which determines the size of the menu with options. LSPS-8632
  • The function resetTodo() for resetting to-do state has been added to the human module of the Standard Library. LSPS-8615
  • You can reset to-dos from the Web Management Console using the Reset button on the selected to-dos on the To-Dos page. LSPS-8614
  • You can reset a to-do from To-do List view of the Management perspective. LSPS-8613

Fixed Issues

  • When user's code required its own JQuery, it was overridden by the LSPS JQuery. With this update, the user's JQuery is used as expected. LSPS-8635
  • LSPS checks the names of database tables in a case-sensitive manner. However, MySQL handles table names inconsistently using upper-case names for database tables on case-sensitive file systems and lower-case names on case-insensitive file systems. This could cause that the second and later model uploads failed. With this update, LSPS handles the names of MySQL tables case-insensitively. LSPS-8604

3.1.1023

Fixed Issues

  • You can now define a message displayed in a table when no data is available due to filtering using the no-data-message presentation hint. LSPS-7504

3.1.1022

Improvements

  • The LSPS Server no longer includes the application-server log entries in its logs. LSPS-8560
  • The Exceptions page now contains the Model Instance column. LSPS-8534
  • You can now use the range (..) operator to create Lists of Integers, for example, 3..1 is equivalent to [3, 2, 1]. LSPS-8227
  • The for loop has been added to the Expression Language. LSPS-8099
  • The break and continue directive have been added to the Expression Language to allow better control in the while, for and foreach loops. LSPS-7862
  • You can now create an expression block, that represents its own namespace, with the begin and end directives. LSPS-7831
  • The LSPS server no longer logs warnings when reactivation of a Goal failed because the Goal was in a state, which does not enable reactivation. LSPS-6786

Fixed Issues

  • Form Preview no longer fails with a runtime exception. LSPS-8601
  • In the Management Console, the Expression Evaluator on the model instance page no longer contains expressions evaluated in other model instances. LSPS-8599
  • User activity tracking did not obey the USER_ACTIVITY_TRACKING and USER_ACTIVITY_TRACKING_TIMEOUT settings and even if no settings were specified, it logged with timeout zero, that is, always and immediately. LSPS-8590

3.1.1020

Fixed Issues

  • When a form contained a listener with a Save action closure, the model instance content was unnecessary serialized and set as the Document content when the closure was executed. Since the serialization could result in performance issues, this update removes the redundant serialization. LSPS-8574
  • The example BAM reports in SQL Servers contained incorrect time-related data. This occurred due to incorrect logic of a custom time-related database function, which is now fixed. LSPS-8570

3.1.1019

Improvements

  • In Wildfly 9, session bean pooling is disabled by default, which causes significant performance issues in LSPS. To remedy the situation enable pooling for session beans in ejb subsystem configuration in the configuration file (for example, standalone-full.xml):
    <session-bean>
        <stateless>
          <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
        </stateless>
    
    LSPS-8532

Fixed Issues

  • If a component is a child of a container component with visibility set to false, it is no longer refreshed. LSPS-8547
  • The user can now store and query revisions of shared Records as well as extend the revision data. LSPS-6585

3.1.1018

Fixed Issues

  • It is now possible to disable filtering or inferred filtering on a TreeTable component. The setting overrides the filtering settings on the columns of the TreeTables. LSPS-8492

3.1.1017

New Features

  • It is now possible to track user activity in the Process Application in the LSPS_USER_ACTIVITY_TRACK table and access the data via the UserTrack shared record provided by the Standard Library. Note that the feature is disabled by default: set USER_ACTIVITY_TRACKING in the LSPS_SETTINGS table to true to enable the feature. LSPS-7051

Improvements

  • The processAgent user provided by default can no longer be disabled. LSPS-8418
  • Confusing description of the Null-Coalescing operator in the Expression Language document is now fixed. LSPS-8394
  • It is now possible to export Modules into a deployable ZIP file with Maven. LSPS-8367
  • In the Management perspective, the Profiler View can be now displayed from the Management Views menu in the main toolbar. LSPS-7888

Fixed Issues

  • Information on minimum size 650x490 of the Dashboard component in Forms has been added. LSPS-6985

3.1.1015

Improvements

  • Shared Records can now specify their database schema and catalog in their properties. LSPS-8356
  • The getModel() function has been added to the core module of the Standard Library. The function returns the model with the specified name. If there are several models with the same name, the most recently uploaded version of the model is returned. LSPS-8328

3.1.1014

Fixed Issues

  • Navigating to To-dos created on Document submit now works as expected. LSPS-8299
  • Validation failed to detect named types with type parameters in vertical bars or user-defined constants with type parameters in vertical bars as invalid. LSPS-8297

3.1.1013

Improvements

  • Database creation scripts have been substituted with the DbMigration tool, which is based on Flyway. The original scripts for database creation are no longer supported. LSPS-8279
  • The documentation is no longer delivered as part of the LSPS but is accessible online in the PDF, HTML, and single HTML format. LSPS-8278
  • void is a reserved key word. LSPS-8270
  • LSPS now uses Vaadin 7.6.6 for its applications. LSPS-8265
  • The PDF version of the documentation is now available on the documentation page. LSPS-7960

3.1.1012

Improvements

  • Handling of timer events has been improved so the LSPS server creates only one timer event even if multiple modeling elements create such an event. LSPS-8175
  • PDS now supports the Call Hierarchy feature. LSPS-8114
  • "LSPS Eclipse Help" has been changed to "LSPS Online Help", which navigates you to the official LSPS documentation page. LSPS-7961
  • Validation now correctly validates invalid hints on form components. LSPS-7857

Fixed Issues

  • Validation incorrectly required the % symbol in localization strings, which is rendered as %. LSPS-8246
  • The selectable hint of the type Boolean on the ui::Table component has been added so the user can select a table row by clicking it to increase readability in tables. Note that no event is fired upon selection. LSPS-8240

3.1.1011

Improvements

  • You can now use the following Java operators as an alternative to their original Expression Language versions: == (equals), ! (not), && (and), || (or) LSPS-8214
  • In the MUC editor, you can now override the hashcode of the source and target models. LSPS-8174
  • Users can now reset their cloud LSPS database. LSPS-7575

Fixed Issues

  • Previously, when a Module called a public variable from an imported Module, the resolution of the variable failed if another imported Module contained a variable with the same name and the private flag. LSPS-8185
  • When the user generated data types from an MS SQL schema, the primary and foreign keys were not generated. LSPS-6373

3.1.1010

Fixed Issues

  • A Model instance could fail with a java.lang.IllegalArgumentException on an ExecutionContext.setVariableValue() call or an ExecutionContext.getVariableValue() call due to incorrect context resolution in Module imports. LSPS-8181

3.1.1009

Improvements

  • You can now copy and paste the model update data in muc files. The feature is primarily intended to allow you to copy the update data for module imports in multiple models. LSPS-8167

3.1.1008

Improvements

  • The GUID of the failed constraint has been added to the constraint violation object. LSPS-8154
  • You can now flag listeners as Execute even if invalid components to enforce execution even if the form contains incorrect data. LSPS-8132
  • In the graphical form editor, you can now delete a parent component of a form component with the Shift Children Up command in the context menu. The feature is supported for layout components (vertical, horizontal, form) and panels in a layout or panel component. LSPS-7912
  • Debugging in the Cloud edition is now supported. LSPS-7850

Fixed Issues

  • Due to absent sorting, 2.7 table components caused errors on the server. LSPS-8145
  • From the Management Console, it is no longer possible to activate substitution without selecting a substitute. LSPS-8098

3.1.1007

Improvements

  • The Gauge chart form component can now define data series names in the Detail tab (the series names are displayed on mouse hover over the chart segment). LSPS-8115
  • If a Start Event in an inline sub-process used data from the context of the sub-process, for example, a subprocess variable in the Condition expression, PDS validator did not detect the violation breach (such data is evaluated in the parent context, the sub-process context is not created at the moment when the expressions are evaluated). LSPS-8078
  • The LSPS cloud machine is created during installation of the LSPS Cloud Edition, not during registration. LSPS-7800

3.1.1006

Improvements

  • static is a reserved key word. LSPS-8049
  • Collection values on non-shared Records initialized from a shared Record via a Relationship were incorrectly initialized to null. Now, such values are initialized as empty collections. LSPS-8044
  • The initial-focus set to True failed to apply in pop-up components in forms. After upgrading to Vaadin 7.5.3. the problem no longer occurs. LSPS-8032
  • The DatePicker form component now supports the definition of a set of acceptable date formats. LSPS-8028
  • Table column components in forms now support a hint that disables the column collapsing, the disable-collapsing hint. LSPS-8020
  • The Embedded LSPS Server failed with the following exception if it defined multiple data sources and the application attempted to work over any other but the first datasource: dataEjbTransactionUtil.handleSystemException: Unable to lookup JNDI name [jdbc/DATASOURCE_NAME] LSPS-8013
  • The LSPS Embedded Server could fail to start with the following error due to incorrect date class sent to the Quartz service: SEVERE QuartzScheduler Error while notifying SchedulerListener of scheduled job. LSPS-8012

3.1.1005

Improvements

  • The event TablePageSizeChangeEvent and its listener TablePageSizeChangeListener have been added so forms can perform the required action when the user changes size of paged Tables. LSPS-8010
  • The option to export and import profiler-related data as XML has been added into the Profiler view. LSPS-8002
  • Command-line tools from the Runtime package and all libraries are now part of SDK so the user can use the cli tools directly from their Java code. LSPS-7999
  • Navigating to definitions by clicking Ctrl + Left click now navigates to the respective definition also in expression editors opened from UI component properties. LSPS-7990
  • When in mobile mode in the Default Process Application, the menu collapses after the user clicks into a Document or To-Do form. LSPS-7973
  • Using the test suite, you can now detect that the Document or ToDo is invalid; access the opened item type, and its title; and get data about the Documents of the current user, such the number of documents in their list, availability of a document, etc. LSPS-7968
  • The LspsPopup class that provides support for testing of popup form components has been added. LSPS-7959

Fixed Issues

  • The findAliveTodosForCurrentUser() function in the JUNIT test API is now deprecated. Use the findAliveTodosForCurrentUser() function instead. LSPS-7982

3.1.1004

Fixed Issues

  • Invisible form components are no longer refreshed. LSPS-7923

3.1.1003

Fixed Issues

  • Automatic migration of the field shown of ui:TableColumn components in 2.7 models has been removed since the migration caused errors in running model instances. Table columns now contain both, the shown and the visible fields. LSPS-7940

3.1.1002

Improvements

  • A how-to document with instructions on deployment and configuration of LSPS on WildFly has been added to the LSPS Runtime Suite documentation. LSPS-7901
  • The PDS Profiler view now contains a button for text export. LSPS-7884
  • Under certain circumstances, the underlying application server logged ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (http-/0.0.0.0:8080-1) ISPN000136: Execution error: java.util.ConcurrentModificationException caused by a race condition. The race condition has been fixed. LSPS-7844
  • The LSPS Embedded Server now uses WildFly 9.0.2. instead of GlassFish. LSPS-5513

Fixed Issues

  • The Execute task now resolves names of such objects as Goals, Plans, Roles, etc. to the object with the given name that appear in the "closest" context available, that is, if not found in the current context, the system gradually searches through the parent contexts for such objects. LSPS-7920
  • If an object used in the GenericView component contained an instance of a list of Records with a Field of a Record type, the system returned an exception on runtime. LSPS-7914
  • If the Generic View component contained a map with keys or values of a simple data type, the front-end application returned an error on rendering. LSPS-7910
  • Test facilities have been split so that tests that do not test the UI no longer require Vaadin TestBench lincense: the SampleNonUITests class, which does not depend on Vaadin TestBench, has been created. LSPS-7877

3.1.1001

Improvements

  • The ID of the failed constraint has been added to the constraint violation object. LSPS-7864
  • break and continue are reserved key words. LSPS-7858
  • Localization Editor now displays the Description area for localization identifiers. LSPS-7841
  • The Localize action available in the context menu of a selected String expression can now concatenate expressions to parameterized localization identifiers. LSPS-7840
  • The reserved word begin has been added to the Expression Language. LSPS-7834
  • Standard library documentation now includes documentation of constraint types. LSPS-7463

Fixed Issues

  • When creating a new instance in a Collection of shared records from the Generic View, the system displays a pop-up with a button that confirms the creation. The Generic View does not support override of this button: the Submit expression of the Generic View does not apply to it since the button requires another logic. To distinguish this button from the Persist button, the button now has the label OK & Persist. LSPS-7809
  • When calling a function with the arguments in the form argument -> value, PDS did not detect if the same argument was defined multiple times. LSPS-7796
  • The Roles page in the Management Console now displays Runtime Roles with parametric values on a separate tab. LSPS-7722

3.1.1000

New Features

  • To provide support for agile processes, the following has been added:
    • Inline Event Sub-Processes, Error Start Event, Escalation Start Event, and No Exit End Event
    • Execute task type LSPS-7685
  • The createInstance() function, that creates a record instance based on a record, has been added to the Standard Library. LSPS-7675
  • The LSPS Debugger now opens the target location on double-click; and, in debug mode, diagrams display the current debugging point. LSPS-7568
  • The escalation mechanism and related BPMN elements have been implemented. LSPS-7332

Improvements

  • It is now possible to evaluate expressions in different contexts in the Expression Evaluator of the Management Console. LSPS-7783
  • In the Management Console, the Showcase preview now contains a preview part with test data so the user can see the preview of their margin settings. LSPS-7737
  • It is now possible to create reflection types of all task types available in the Standard Library. LSPS-7732
  • Live diagrams in the Management Console now contain a legend with color of element statuses. LSPS-7718
  • When deactivating or reactivating a goal from the Management Console, the application now requires confirmation of the action. LSPS-7717
  • The Assignments expressions were ignored in the post-processing phase of model update. LSPS-7697
  • The Jetty embedded server used for running of the LSPS Application has been substituted with TomEE. LSPS-7656
  • The Scaffolding library with resources for the GenericView custom component has been added to the PDS. The custom component allow a prompt creation of CRUD component over object for prototyping purposes. LSPS-7618
  • The Custom component editor now displays the properties which the component inherited from its parent data types. LSPS-7586
  • The user can now create and preview a custom CSS theme for Process Application from Process Management Console using the Theme Sampler under Dynamic Themes. LSPS-7561
  • The getPropertyReference() function, that returns the reference to the object defined by its property parameter, has been added to the Standard Library. LSPS-7500
  • The context roots of the Process Management Console and Process Application and their occurrences have been changed so they no longer reference the underlying Vaadin framework. LSPS-7477
  • The Welcome page has been re-designed and updated. LSPS-7461
  • The error construct has been removed from the Expression Language and the corresponding function in the core module (generic.funcs) of the Standard Library has been created. LSPS-7353
  • In PDS, the user can now select in the Expression Evaluator view of the Management perspective the context for the expressions so they can evaluate expressions in the context of a module, process, or sub-process. By default, the global model context is used. LSPS-7222
  • If the user uses a table iterator outside the table, the usage is reported as a Warning problem. LSPS-7160
  • Tasks can now log their messages with low priority so as to prevent unnecessary blocking of pool resources. LSPS-7136
  • The JSF versions of Process Application and Process Management Console have been removed. Only their Vaadin version is now delivered and supported. LSPS-7097
  • In PDS, disabled persons in the Persons View are now shown in grey and in italics. LSPS-6757
  • The suffix on the UITextBox component is now rendered only when used. LSPS-6746

Fixed Issues

  • When displaying a pop-up component on button click in a form, an empty line appeared in the document. LSPS-7755
  • Sample Tests have been improved to work over the Default LSPS Application and detailed comments have been added to the example code. LSPS-7753
  • In the Management Console, check boxes for security-role selection were missing in security roles view; hence it was not possible to delete security roles. LSPS-7729
  • It was not possible to assign a role to multiple persons. Now you can do so from the Role detail view. LSPS-7721
  • In PDS, the main menu in the Debug perspective now contains the Runtime Connections menu item so the user can change the Embedded Server properties directly from the Debug perspective. LSPS-7688
  • After model update, it was not possible to submit a saved to-dos even if structure of the relevant part of the model was unchanged since the to-do was bound to old model instance. LSPS-7671
  • Presentation hints were ignored on custom components implemented in the Expression Language. LSPS-7669
  • If a global, automatically instantiated Process contained several Activities which had no incoming Sequence Flows, each Activity was instantiated in its own Process instance. Such Activities are now instantiated only once in one such Process. LSPS-7653
  • Under certain circumstances, when running LSPS with the LSPS Launcher of the Sample Application, LSPS used the rights of the admin user to load to-dos or documents instead of the rights of the logged-in user. Hence the user saw an incorrect list of to-dos or documents. LSPS now uses a new launcher and the correct user is used when accessing the resources. LSPS-7637
  • The unary increment (++) and decrement (--) operators have been added to the Expression Language. LSPS-7611
  • A non-boundary Conditional Intermediate Event could cause that the process workflow remained hanging. This occurred when the execution passed through the event twice while the condition remained true. LSPS-7577
  • When generating a web service from Records, the node name definition was ignored and the Record field name was used. LSPS-7525
  • The Vaadin framework that is used by forms has been upgraded to 7.5.0. LSPS-7522
  • The human::HumanInteraction task type and the human::FormItem data type and all its subtypes used by the JSF forms have been removed from the Standard Library, since JSF forms are no longer supported. LSPS-7407
  • In PDS management, editing of an attribute value of a record failed with an exception. LSPS-7291
  • Module and shared record names could not contain characters which enforced usage of single quotes to escape such characters when generating the discriminator value (for example, `'module-name'\:\:sharedRecordName`). Such characters included a single quote (') or a hyphen (-). LSPS-7265
  • Sample System Tests for the Default LSPS Application have been added. LSPS-7076
  • The Model Update Editor detected modifications in layout as modifications relevant for model update. Such modifications are now correctly ignored. LSPS-6657
  • When a model-update process contained an assignment on a Flow element, the assignment was ignored. The issue has been fixed and such assignments are executed in the relevant model update phase as expected. LSPS-6645
  • Previously, the Transformation Editor failed to validate the old() function calls. The bug has been corrected and the function call is now considered valid. LSPS-6642
  • If an invalid component existed in the tab of a form and the user switched to another tab, the init events were not triggered and the tab contents was not nitialized. LSPS-6485