New version of Simplicité
A change of digit implies great innovations, we are going to detail the most important ones in this blog post. Sit comfortably the Simplicité line makes a stop at the “Bonne Nouvelle” station.
From V4 to V5 there are no more patches
The first novelty of this V5 is the versioning. Exit the patchlevels, from now on the versions are more commonly called 5.X.Y . This way of naming should allow us to improve the readability of the new versions that we deliver:
- The number (here 5) is the number of the major version.
- The x corresponds to the minor version number (this is equivalent to the patch levels of older versions).
- The y corresponds to the revision number, it didn’t exist in previous versions (the Git commit ID was used to track revisions, which wasn’t very intuitive), it will be increased each time a revision is made.
Note that we will take advantage of this change in versioning to be more dynamic on the release of versions so V 5.0 being official, V 5.1 will be released only 1 to 2 months later, V 5.2 will follow the same timeline. There will be beta and releases more regularly to limit the risks related to upgrades.
Breaking change, mind the gap between the train and the plateform
Server side (back) :
Very important change in terms of technical platform: with version 5 there is no more support for JDK 1.8, to run Simplicité you now need to be at least on a version 11. But as always, it is better to use an up to date JDK, 15 at the time of writing these lines.
Also note the end of legacy components (Simplicité version 3.2) and the depreciation of “GrantHooks” in favour of a new shared “PlatformHooks” script.
Client side (front) :
Faithful to our leitmotiv of updating the components we use for the UI (User Interface). Bootstrap 4, Fullcalendar 4 and Jquery 3.5.1 become the standard.
If it is still possible to use the old versions of these third party components (except for jQuery) we strongly advise you to migrate your developments to these new versions. Older versions of these components will no longer be supported in the next major release.
This should be seen as helping the transition, but it does not dispense with the need to make this transition 🙂 .
UI & UX: An enriched interface, functionalities centred on the user and the designer.
Pixel is dead, go rem
The devil is in the details, you have to look at the CSS to find the first “big” change with the switch to bootstrap 4, exit the “px” welcome the “rem” (1rem=16px). This unit of measure offers a much better reactivity of the display according to the size of the screen. This has enabled us to include a very practical accessibility feature, a slider in the user’s hand allowing the user to zoom in and out at will.
The new features of Bootstrap 4 include the use of “flex” instead of the traditional “float”, which has enabled us to develop a compact or “aerated” mode. Very practical for screens with large forms as the field labels move to the left and the margins are reduced to save as much space as possible.
Access concurrency: finer management of access rights to the form
A new mode called “lock” allows you to block the opening of a form being updated. In other words, the first person who opens a form automatically places a lock on the form. The other users who open the same form will be read-only and will see the person holding the lock thanks to a small padlock in the avatar at the top of the form.
As a reminder, the other “timestamps” are :
- None: there is no timestamp at the base.
- Optimistic: it is the historical mode, in access competition it is the first one who passes who “wins”, the others have to synchronize later.
- Non-blocking: anyone can update and “overwrite” other people’s updates.
- (the new one) Lock
Uploading documents is no longer done in the singular
This was a recurring need of Simplicité users, to allow the upload of several documents on a single field (document type). Today nothing could be simpler, by setting up a “multi-doc” rendering on the document field, the user can upload N documents by choosing via the browser’s selector or directly by drag’n’drop.
As a little cherry on the upload, it is also possible to choose the preview that will be made: as a list or a thumbnail.
It is also possible to limit file types (MIME-types or extensions: pdf, image…) as well as to specify minimum or maximum sizes.
Improvement of predefined searches
It was possible to create predefined searches and save them for the end user to launch. In V5 “Bonne Nouvelle” we made a separation between reading and writing. In this way it is possible to create searches that are public and can be modified or not.
By default, read and write permission are enabled, but it is now possible to make these searches available as read-only.
Impersonate function and easy user changeover
New modes to help designers develop more quickly (and easily).
The “God mode”
It is a “super user” that allows you to reconnect, without a password, to any existing account. This mode is very useful for development, it allows you to change your profile without necessarily having all the passwords of all the users. It is possible to change users by just putting their login.
In production, this can be used for support functions to take control remotely and reproduce a problem.
Obviously to be reserved for named users, this flag will not be set globally on the platform.
The “Change user mode”
This new mode offers the possibility of logging in with all the accounts I have logged in with on the workstation (in local storage). This is a normal use that we can do in production if we have several hats instead of logging out and re-entering the password.
Pillbox of N-N links, and lists with counters (group by)
The representation of an object towards another evolves. The relation is no longer necessarily a list, but here thumbnails in the form of pillboxes that can be added or deleted. The action carried out will update the database.
Thus it is now possible to edit and search for this N-N relationship directly from the list. It will be here a “fulltext” search on the functional key. For example, my functional key is a list of countries, I will just have to type %Fra% to find France.
Another evolution on lists, the possibility to group the elements of a list with a counter. The use here will typically be to group families of products (in our demonstration we are talking about tablets, computers, smartphones…).
Simplified error management
Sometimes the forms are arranged in tabs. When an error appeared on another tab of the form, it was difficult to find your way around.
From now on, a simple click on the error (on the top of the page) allows you to access it thanks to the focus that will be made. Simple as Simplicité.
Smoother page loading and new input ranges
Conventional spinners give way to smoother skeleton loads (on lists, forms and treeview).
Also new in the input ranges:
- Stars to display “rates”.
- Counters in the menus (for status diagrams).
New renderings: notepad evolution and new fields
New richer rendering of the notepad, everything is stored in a base blob (in JSON format), but without any particular habilitation.
It is thus possible to have :
- A social function integrated into the notepad field.
- Use of markdown for rich content.
The use case is typically for operational follow-up of a file, the progress of a task or the management of files.
About the other new features :
- The “text-area” now automatically resizes itself according to the inserted text. This is a setting to be entered (h=0). Simplicité will translate this parameter as an autosize of the field. The component enlarges or shrinks depending on the content.
- Long text fields can now be rendered as a “grid“. This rendering is stored as a basic JSON array. When you switch to editing, each cell is editable.
- “Synthesis” and “voice recognition“, on simple texts it is possible to set up the voice synthesis that will allow the content of the field to be read by the browser (compatible with some browsers). As well as voice recognition to populate the said field. It is of course possible to manually edit the text afterwards.
Shortcuts on the home page for easier access to the application’s elements
Historically the shortcuts would be in the menu at the top right of the application header. This mode is still available, but it is now possible to additionally display these shortcuts on the home page (as a view) of the application.
These shortcuts also support tooltips.
Buffered exports, an important UX evolution at the border with the back-office
In V5, when uploading or downloading several files, everything can be buffered and by definition asynchronous. It is not the browser that makes a download but Simplicité that manages in the back-office.
When users process large files, there are no more blocking elements. The export instances are isolated in particular spaces to avoid any conflict with what is happening on the screen.
Components : New APIs
Slack, Trello et Docusign rentrent dans la danse des API
The new Simplicité V5 integrates APIs (class helper) to interact with Trello and Slack. As an example, these APIs are used in our demo for alerts (on state transitions). Alerts previously sent via email for example can be sent via Trello or Slack. Of course, these are uses that need to be adapted according to the problems of each application.
Docusign is now a native object with all libraries up to date. The document signing process is carried natively. This makes it possible to put an envelope that contains N-documents with initials and signature spaces as well as lists of recipients who can be known users of the platform or external users. Afterwards everything is sent to Docusign, the implemented webhooks allow Simplicité to know who has signed, everything is stored in the application.
Redesign of the Timesheet component
This component existed in previous versions of the platform, it is back in V5. Thus between two resources, for example, a person and a project, it is possible to assign tasks with data within this N-N relationship. This typically allows time to be allocated according to described tasks.
The timesheet can be defined per day / per week / per month. It is also possible to click on a task to change the view angle by contrast.
The news component is making a (big) comeback!
This component is used to warn users or for information :
- In the form of a popup when the user logs in
- Via articles in a new view or via a shortcut
- With horizontal scrolling in the footer (reloaded every 5 min).
Cross tables or pivot tables become editable
As soon as a cross table has editable rows it is possible to modify the cells by simply clicking on them. The case here will typically be for translations. It is therefore possible to click natively in a cell to be translated to directly edit the text and the value.
The save button allows you to send all translations “en masse”.
The use of this functionality for the translation matrix is an example that can, of course, be applied to other cases.
Expected developments for the mobile version
Still on the principle of the hybrid application (Cordova), this new V5-compatible application greatly facilitates the management of Upgrades (all static resources are downloaded locally).
It will update itself without going through the awning. Any Simplicité V5 application can connect with the applications deployed in the Apple Store and the Play Store.
New possibilities with Classloader
In order to limit the problems of incompatibility of our components Simplicité. It is now possible to load Classloaders of third-party components in a single Classloader (Classloader stack). No collisions are possible (e.g. with the Docusign component).
The monitoring has a new tab “ClassLoaders” allowing to debug all Classloaders independently of each other.
In addition, it should be noted that the Monitoring component is no longer an Iframe, it is now natively integrated into Simplicité.
A new code editor with easy access to resources
For designers who do not code in Eclipse, VScode or any other IDE, the code editor has been improved.
The code editor is equipped with an easy navigation to access the resources of the different modules more quickly. The tree navigation allows easy access to the different objects.
Improved language management
When logging in for the first time, users now choose their preferred language from among the languages known by the platform.
This information is then stored in a field (“preferred language”) for the user. The user will then be able to easily change this language on the fly if necessary.
A new “about” window
- Display of version title and scope
- Links to the T&Cs and the installed version of the platform
- New “ABOUT” resource (French and English)
It is a resource that can be modified if necessary to adjust or hide any of the information.
It is a resource that can be modified if necessary to adjust or hide any of the information.
Clearer display of module dependencies and more explicit “clear cache”.
There is now a real dichotomy between module dependencies and hierarchy. It is now much clearer for designer-administrators to find their way around.
And finally clearer information in the session clear cache:
- IU sessions
- API sessions (typically mobile access)
Here are the most important new features of this V5.0 – Bonne Nouvelle, but as this list is not exhaustive we advise you to read the complete release note here