New release, new newsletter for Simplicité developers!
For your information, the Simplicité platform Release 4.0 P24 Release Candidate was made available on the Git pre-release branch of the template and as a Docker beta image.
If no questions and/or blockages are raised by End of November 2019, this version will be considered as the version P24 release.
Thank you in advance for your help in the final validation process for this release.
If you wish, you can simply read this email and click directly on the button below to (re) watch the webinar which presents all the news.
Happy reading!
What are the highlights of this new version?
(Open) JDK
Starting at this patch level (24), the platform is compiled with the current OpenJDK 12 forced into JDK 1.8 compatibility mode. This is necessary because some dependencies are no longer compiled with a JDK 1.8 (for example Docx4J).
This means that the recommended (Open) JDK to run the platform is now an (Open) JDK 12 or newer.
However, being compiled in JDK 1.8 compatibility mode, the ready-to-use platform will still run on a JDK 1.8 (Open).
But if, in your custom code, you use one of the optional third-party libraries that require a newer (open) JDK, using a 1.8 (open) JDK will no longer be appropriate.
A “lightweight” variant of the platform is also provided, excluding some third-party libraries:
— Docx4J — Tika — jClouds — Google API libraries
This “light” variant is fully JDK 8 compatible.
Note: All of our Docker images are now shipped with OpenJDK 12
jQuery
The jQuery® version is now a 3.4.1 version (it was a 2.2.4 version until P23).
Depending on how you wrote your custom code on the client side, changes may be required due to some deprecation removals in jQuery 3, see the jQuery 3 upgrade guide for more details.
Compatibility Breaking Changes
The following changes require your attention and may require reworking your custom code.
Deleting old JSPs pages. Be sure to refactor any hard-coded URLs involving these old JSP pages in your code and/or configuration. (note that you should avoid hard-coded URLs anyway).
Revision of rejection clauses. For code quality reasons, the overly generic exception clauses in some public Simplicité APIs have been replaced by launch clauses using exception subclasses (for example, PlatformException or IOException). In some special cases, the Java compiler may complain about the inconsistency of the launch clauses of your override methods.
User interface what's new?
Possibility to use a light version (without Docx4j clients, Tika, Google APIs, jCoulds,...)
Update of third-party libraries (including on major components: Rhino, HSQLDB, Apache POI, Docx4J,...)
Added visibility of the authentication provider on the provider choice page (using “visible”: <true|false> in AUTH_PROVIDERS entries)
Improvement of the Maven repository to add the Javadoc Simplicité dependency to validated Java modules
Inheriting linked lists
New session history in the operation menu
persist per user the dates/duration of sessions and user rights
to replace the previous SESSION logs and the AppLoggerLogon object
the last session date is now stored in m_user (to search for a user who has been inactive for a long time)
see LOG_SESSION system parameter
The History property has been changed to track updates:
In the mirror table of the object
through the object's social posts
in the new redolog storage (m_redolog and/or log4j)
New RedoLog storage:
trace the actions of objects in sessions
limited to objects with historical ownership
see LOG_ACTIVITY system parameter
Addition of unit properties on the cross table axis:
Scale factor: to multiply/divide the values of the axes (ex: convert seconds to hours, ko to MB...)
Unit function: round, scale, divide, divide, divide, divide, sqrt, log10... to change the main scale of the axis.
The unit label should be shown on the chart when the scale has changed.
Allows you to search for a document by file name and display the document name in the list.
Added lots of system object icons
Add autofill attribute names in the template editor
Added [OBJECTICON:] expression for field area icon fields
Add the action Reorder fields to trigger the automatic reordering of fields.
Add indexing of inherited fields belonging to the indexable object
GetParentObjectReffield is now evaluated in CONTEXT_REFSELECT, CONTEXT_DATAMAP, and CONTEXT_ASSOCIATE
Addition of datamap inheritance
User preferences:
Date format was added to replace the default format determined by the user's language.
Added time zone to translate all dates on the user interface
Added the DD.MM.YYYY date format for our Swiss friends
URI syntax support for accessing scopes. Ex: /ui/scope/MyHome is the same as /ui? scope=myhome
Generates a skeleton when creating the SCRIPT resource of the management object
Area with sorting specification:
None: no command access on the user interface (new!)
Code: sorting based on the value of the DB (default)
Value: sort enum codes by label (in the user's language)
Order: sort by order of enumeration codes
Added support for Gradle® with Apache Maven® modules for Java (until now only Apache Maven® was supported).
Addition of subdomains with order in the menu.
New currency: Delivered in Swiss francs CHF and exported to Excel.
The composite function key for the internal object with a “nullable” field is now supported.
Short texts have been increased to support 4000 characters (previously 255 due to limitations of the old MySQL engine).
Google Drive permissions with configurable email notifications
The action of the data export module now exports a data set.
Module exports now include data sets.
Exports and imports using standard JSON and YAML formats (as well as standard XML).
The action with the URL like javascript allows access to the app, obj and grant in scope. Example: