Bonjour,

Nouvelle release, nouvelle newsletter pour les développeurs !

Pour votre information, la plateforme Simplicité version 4.0 P23 Release Candidate a été mise à disposition sur la branche Git pré-version du template et comme image beta Docker.

Si aucune question et/ou blocage n’est soulevé d’ici le 01 Mai  2019, cette version sera considérée comme la version P23 release.

Merci par avance pour votre aide dans le processus final de validation de cette version.

Interface utilisateur quoi de neuf ?

  • Refonte de l’éditeur de code pour une interface utilisateur réactive avec de nouvelles fonctionnalités :
    • Onglets qu’il est possible de déplacer par Glisser-Déposer

  • Aller directement à la définition de l’objet depuis l’éditeur de code pour modifier ce dernier.

  • Module/Object/Sources sont directement accessible depuis la gauche de l’écran. De cette façon vous avez accès directement au code de votre application.

  • Comparaison des fichiers lorsque la source a changé côté serveur. Vous pouvez comparer les différences de codes en fonction de ce qu’il est enregistré en local ou sur le serveur. De cette façon plus de raisons d’écraser les modifications sur des versions partagés.

  • Enregistrer tous les onglets. Comme son nom l’indique, vous permets  d’enregistrer d’un seul coup toutes les ongles de l »éditeur de code !
  • Modeleur SVG:
    • met en place des ponts lorsqu’il y a des croisements sur les liens.
    • suppression des liens morts lors d’un rechargement complet
    • s’assure que le menu contextuel soit visible
    • menu contextuel du champ enum : liste des valeurs et copie du code dans le presse-papiers
  • Chargement de moment.js au démarrage (à utiliser en cas de contraintes fronts)
  • HTMLTool.getCrosstabURL(obj, inst, crosstab) est maintenant englobé dans un crosstab réactif.
  • Optimisation de la taille des colonnes dans la liste d’édition (booléen, date… pour s’adapter à la longueur du champ et pas 200px par défaut).
  • Navigation vers l’objet associé sur le lien N,N avec le rendu du pillbox.
  • Le flux de travail supporte maintenant le filtrage sur les champs joints dans l’activité de recherche.
  • Maintient de la session en vie sur le formulaire, la liste d’édition et l’éditeur (pour éviter l’inactivité côté serveur et la déconnexion pendant la mise à jour).
  • Ajouté 2 rendus sur Integer et Float :
    • Number : pas d’espacement, ex’2019′.
    • Monetary : identique à l’affichage par défaut avec séparateur de milliers, ex’1,234,567.89′ (anglais) ou’1 234 567,89′ (français)
  • Rafraîchissement du compteur de badges sur l’onglet lorsque l’utilisateur effectue des recherches.
  • Ajout d’un trigger ui.loaded pour personnaliser l’interface utilisateur lorsque le moteur est chargé mais avant le rendu de la page d’accueil.
  • 3 modes d’affichage de l’objet interne sont maintenant supportés comme paramètre de panels (objets liés) :
    • onglets vertical (par défaut)
    • onglets horizontal
    • panneaux rallongés = split
    • collapsed et accordion ne sont pas supportés
  • L’éditeur de modèle permet d’ajouter un champ joint d’objet référencé.
  • Hack pour assurer la date et l’heure et enum picker visible sur la liste d’édition.
  • Pas de sous-menu lorsque le domaine ne contient qu’un seul élément (page d’accueil, workflow, objet interne ou externe).
  • USE_SEARCH_INDEX=no est maintenant supporté pour supprimer la boîte de recherche de l’en-tête.
  • LOADING_PAGE : ressource HTML personnalisable pour la disposition responsive. (le chargement de la page est ici ralenti volontairement pour montrer l’animation).

  • Nouveau mode d’édition sur la liste avec toutes les fonctions du CRUD :
    • Ajouter plusieurs nouveaux enregistrements
    • Mettre à jour les lignes sélectionnées
    • Supprimer les enregistrements si l’action est autorisée
    • Sauvegarder globalement les modifications

Dorénavant le TreeView  supporte les liens réflexifs, une nouvelle arborescence apparaît sur la liste enfant lorsque l’objet a un lien réflexif.

De nouvelles icônes système pour mieux identifier les fonctionnalités au sein de la plateforme.

Les changements du « coeur » de la plateforme

  • Ajout de la sous-classe RESTServiceExternalObject de ExternalObject dédiée à l’implémentation des services web REST.
  • Ajout PDFDocumentExternalObject sous-classe d’ExternalObject dédiée à l’implémentation de la documentation PDF
  • Ajout de la sous-classe ExcelDocumentExternalObject de ExternalObject dédiée à l’implémentation de la documentation Excel®.
  • Ajout d’un mécanisme de pool d’objets métier pour le terminal de l’API pour une meilleure gestion des appels simultanés massifs.
  • Nouveau hook objet getSocialShareShareData pour personnaliser les données partagées
  • Ajout du post init dans le grant hook (postPlatformInit)
  • Exporter la liste vers Excel à l’aide de POI : format float + rendu de la devise (euro et dollar).
  • Ajout de la prise en charge de plusieurs méthodes d’authentification et de plusieurs fournisseurs d’identification (par ex. 2 fournisseurs Oauth2 et 3 fournisseurs SAML)
  • Ajout de la prise en charge du code partagé SQL dans l’éditeur et de l’exportation GIT
  • L’exportation/importation XML et CSV utilise la saisie complète des champs (l’ancienne syntaxe avec input tag est toujours supportée mais obsolète)
  • DOC_DIR peut être modifié dynamiquement :
    • du BLOB au disque (chemin dbdoc ou chemin absolu) avec sérialisation des documents de m_document au disque
    • du chemin physique vers BLOB avec importation complète dans la table m_document
    • dans le cas d’un renommage de chemin, le concepteur devra déplacer le répertoire dbdoc manuellement
  • Ajout d’une aide à la saisie dans la colonne liste (pour expliquer la définition des champs), l’aide précédente est utilisée dans le formulaire (pour expliquer les règles de saisie).
  • Classement des actions dans l’objet.
  • Compatibilité avec le JDK 11
  • Ajouté la validation syntaxique pour les objets système :
    • Activé en réglant le paramètre système SYNTAX sur true et en ajoutant un préfixe au niveau du module.
    • Disponible pour les objets, fonctions, groupes, domaines et actions
  • Ajout d’une méthode reOrderObjectFields sur ObjectInternal pour l’organisation et l’ordonnancement automatique des ObjectField.
  • Ajout d’une action de module pour générer une documentation de module Objet de démarque
  • Les codes d’icônes FieldArea peuvent être évalués comme des expressions, par exemple pour faire référence à l’icône d’un objet [EXPR :[OBJET:MyObject].getIconCode()].

Corrections de bugs

  • Correction d’un cas de contenu JSON lors de la publication webservices (un JSON était encodé comme une chaîne JSON, ce qui était moins pratique, maintenant il est ajouté comme JSON simple).
  •  Correction du tableau croisé et des arborescences dans les schémas OpenAPI.
  • Filtre not in et not like au sein des fields.
  • Menu fixe en cas d’héritage d’un modèle d’états.
  • Correction de l’analyseur SAX avec concaténation de morceaux.
  • Module diff fixe avec fichier XML et génération de patchs.
  • Correction de createLink sur la copie.
  • Correction des noms des publications des modules.
  • Correction de l’unicité de la clé utilisateur en cas d’avertissement pendant le preValidate.
  • Correction d’une copie de l’objet dans un état avec des champs en lecture seule.
  • Des sous-classes fixes ont été ajoutées aux modules JAR.
  • Correction du compteur des group-by sur PostgreSQL.
  • Correction de postgreSQL checkColumn et checkTable quand DIRECT_TRANSACTION=yes
  • Correction des données d’image SVG URI sur chrome (72.0.3626.81) et firefox (64.0.2).
  • Correction d’un filtre de badge d’affichage des champs cachés dans la liste.
  • Correction d’un champ d’affichage sur le sélecteur de référence lorsqu’il n’est visible que dans la liste.
  • Correction d’une erreur sur le nom donné d’un document.
  • Correction de la réinitialisation des ids sélectionnés sur le panneau lorsque l’objet parent a changé.
  • Correction de la recherche d’index avec le contexte à appeler initRefSelect
  • Correction d’un débordement potentiel de pile au démarrage dans certains cas particuliers (après le chargement de modules de configuration cassés/incomplets par exemple).
  • Correction de l’absence d’options d’horodatage et d’inline sur l’exportation d’objets XML/ZIP
  • Correction de la structure JSON du document (nom manquant).
  • Correction d’un objet parent lors de la création d’une liste.
  • Correction de l’URL par défaut de l’alerte de changement de mot de passe.