This first one is a little special – this is our first newsletter dedicated to developers!

We told you about it during our last user club and many of you wanted it, so here it is before your eyes.

We intend to bring you all the latest news about the run-of-river platform. This newsletter is based on the releases available on the simplicite.io website..

For your information, the Simplicity platform version 4.0 P21 Release Candidate has been made available on the Git branch pre-version of the template and as a Docker beta image.

Any feedback on this version is welcome. If no questions and/or blockages are raised by October 12, 2018, this version will be considered as the P21 Release version.

Thank you in advance for your help in the final validation process of this version. It is only logical that following this release we will move on to the development of the P22.

[For all intents and purposes, we recommend that you always visit the release notes page to get the most “up to date” information.]

Support and maintenance of Simplicity version 3.1 (December 2018) will soon be completed.  We recommend that you consult the version summary page for more information.

  • Updated 3rd party libs
  • Added a configurable LDAP-based authentication mechanism (along with OAuth2, SAML, …) using a new LDAPTool helper class
  • Added configurable service object for LDAP entries
  • Populate the foreign-key during create activity data mapping
  • Improved ExcelPOITool to be able to choose to generate either legacy .xls or .xlsx workbooks
  • Improved Tool.readUrl to automatically set content type header when data is a JSONObject or JSONArray + improved redirect handling
  • Improved & simplified RESTTool helper class for REST/JSON calls
  • Allowed additional path elements in URI after external object name (e.g. to build custom REST services such as GET /ui/ext/MyExtObject/123?format=json)
  • Included Stripe Java client lib
  • Added GDPR-related classification to the Field configuration object

  • Change of field name is automatically updated into related UI templates/areas (data-field attribute)
  • Custom Java library in shared script to allow external tools integration
  • Optimization based on refactored inlineDocuments parameter:
    • true : inline all files and images with contents (large objects)
    • false : send documents rowId only (very small but no info)
    • 'images' : inline full images but other files info only (useful on forms)
    • 'infos' : inline files and images infos only (no file contents, useful on lists)
    • 'field', ... : inline all contents of specified fields only
  • Optimization based on refactored inlineThumbnails parameter:
    • true : inline all image thumbnails (large objects)
    • false : no thumbnails
    • 'field', ... : inline thumbnails of specified fields only
  • Optimization based on refactored inlineObjects parameter:
    • true : inline all object fields
    • false : get only the field value objectName:rowId
  • Management of I forgot my password on local OAUTH2 login form
    • Logon form asks for the user email
    • The platform sends an email (see alert UserForgotPassword) with an unique token (stored in FORCE_CHANGE_PASSWORD = <key>#<timestamp>)
    • Landing page to change the password if the token is valid (valid 24h by default or use parameter FORGOT_PWD_DELAY in seconds)
    • New parameter USE_FORGOT_PWD set to yes by default
  • Changed object/process/field names validation to prevent using a number in first position (this caused issues in XML exports/imports)
  • Stripped HTML fields export in CSV/XLS/PDF
  • Added actions in business objects’ OpenAPI schemas
  • Git export module (with Java code) now produces a Maven pom.xml file with dependencies to avoid exporting 3rd party libs
  • Removed legacy UI components (e.g. ObjectList) from default packages imported in Rhino scripts (if you use some of them you should add an explicit package import statement importPackage(Packages.com.simplicite.webapp) or an individual class import statement (e.g. importClass(Packages.com.simplicite.webapp.ObjectList)
  • New methods to build direct URL to object list or form obj.getDirectURL and static HTMLTool.getDirectURL
  • New tiny URL to access
    • object form ?f=object;id (used in post notification, [DIRECTURL] substitution and shared URL)
    • or list ?l=object with optional filters (URL encoded ex: ?l=User&usr_login=a%25 to search logins starting with “a”)

What’s new in the user interface?

  • All standard Excel exports moved from legacy .xls to .xlsx files
  • Link translation with plural syntax “label|labels”
  • Floating action bar: show custom actions in “plus” button

  • The calendar time will use the time meridians (AM/PM) for the English language only.
  • Documents are now supported in the mass update.

Do you want to change fonts easily? Google fonts are now automatically loaded. Just enter his name in your theme and hop! The font is displayed (after a small emptying of the cache, of course).

•    New download dialog box. No more endless spinner, now when the recording action is too long ( >3seconds), the load runs in the background task. This way you can continue working while the file is uploading!

•   New feature allowing to share via email or social networks, the deep link, titles, images or texts of an object. This functionality is based on the parameter SOCIAL_SHARE .

•  Changed shortkeys of UNDO = CTRL-SHIFT-Z and REDO = CTRL-SHIFT-Y (to preserve default CTRL-Z/Y behavior on input fields to cancel typing)

Réparation : – bugs + de plaisir

  • Fixed state model objects’ tray and dashboard availability conditions
  • Fixed list item’s actions row ID bindings in responsive UI
  • Fixed redundant actions on list items
  • Fixed scopes based on declared user responsibilities only
  • Fixed broken simple Ajax action result (without metadata)
  • Fixed joined field parsing in activity data syntax: [step.Field.refObjectId__joinedField]
  • Fixed Ace editor full screen when work is expanded
  • Fixed expression [VALUE] [OLDVALUE] substitution by typed value
  • Fixed copy with a parent object (getParentObject not null)
  • Fixed bulk update and export all rows on list with group-by fields
  • Fixed double action confirmations and broken execution on legacy UI lists
  • Fixed BusinessObjectTool return value for search method
  • Fixed JSON body and path parsing error is some cases for REST services
  • Fixed hour picker for time fields
  • Fixed insert an existing field in template editor
  • Fixed loading spinner on group-by
  • Fixed loosing group-by on sort thru dialog + pagination
  • Fixed naming of phone num wrapper class (from PhoneNumTools to PhoneNumTool)
  • Fixed menu with domain in lang ANY
  • Fixed access to bulk deletion on UI
  • Fixed double message on empty required FK
  • Fixed more fields button on list
  • Fixed pivot table JSON formats in particular cases
  • Fixed links on import SVG models
  • Fixed delete area on template editor
  • Fixed help popover on date field
  • Fixed bad source name mapping in case of cross-domain business object inheritance