Avanteam Process Studio v23.4
Objet
Installation et contenu du pack v23.4.
Domaines d’application
La migration exige que les applications AVANTEAM soient en version .Net :
- v21.21
- v23.3
Procédure d'installation
Lancer AutoUpgradeTool.exe v2.1 en tant qu’administrateur et appliquer la mise à jour.
Correctifs
Synctool
APS-4706 Correction d'un import SyncTool
Lors de l’import d’un paramétrage avec synctool, un message d’erreur s’affichait :
Erreur d’exécution de la requête :
ExecuteNonQuery : la propriété CommandText n'a pas été initialisée
Cette anomalie est corrigée et il est maintenant possible d’importer un paramétrage contenant des tableaux de détails et des tables custom.
ImportDocs
APS-4723 Nettoyage des extensions de fichier via ImportDocs
Une correction a été implémentée dans ImportDocs afin de permettre aux utilisateurs de ne pas avoir à retravailler les fichiers d’import. En effet, anciennement si l'administrateur spécifiait des noms de pièces jointes contenant des espaces après leur extension dans son fichier d’import, les pièces jointes étaient correctement importées mais il n’était pas possible de les prévisualiser. Dorénavant ce problème est corrigé.
Process Studio
APS-4445 Champs fichier dans les modèles bureautiques
Une anomalie nous a été remontée concernant le paramétrage des champs de type "fichier" lorsqu’ils sont proposés dans le paramétrage des signets d’un modèle bureautique. En effet leur sélection faisait apparaitre un message d’erreur. Dorénavant aucune erreur n'est produite lorsqu'un champ fichier est sélectionné dans un signet de modèle bureautique. De plus si un champ fichier est inséré dans un modèle bureautique, alors le nom du fichier (avec son extension) est représenté à la génération. Ces corrections s’appliquent aussi pour le champ image.
APS-4759 Problème avec l'agent cacheCleaner
Le fonctionnement de l’agent cache cleaner livré par défaut dans le produit a été retravaillé. En effet celui-ci supprimait les fichiers du plus récent au plus ancien, or il semblait logique que la suppression se fasse du plus ancien au plus récent. Nous avons donc remanié le code afin d’appliquer un comportement cohérent.
APS-4141 Création intempestives de vues
Une anomalie a été remontée concernant la génération systématique de vues templates alors qu’un nettoyage des éléments obsolètes a pu être réalisé.
Ces vues étaient (re)générées à la publication du formulaire associé.
Nous avons corrigé ce problème pour ne générer des vues templates que si un navigateur est sélectionné lors de la publication.
Enfin un toolttip est maintenant disponible pour détailler le mode de fonctionnement de la publication dans un navigateur :
-2612f8f03304de77543fb16942d95150.png)
Interface web
APS-4761 Contenu de document décalé
Lorsque plusieurs sections contenant des vues intégrées étaient présentes dans des onglets de tables d'un document, on pouvait constater que l'affichage du contenu de mon document était décalé. Cette anomalie est corrigée et l’on constate que l'intégration de plusieurs vues intégrées dans des sections à l'intérieur d'un onglet ne décale pas le contenu d’un document.
APS-4325 Personnalisation de la page de login
Une régression est apparue avec la version majeure v23. En effet, la page de login n’était plus personnalisée en fonction du paramétrage réalisé dans la partie administration. Cette anomalie est corrigée et dorénavant la page dispose de deux thèmes clair et obscur. Ces thèmes correspondent à ceux paramétrés dans la page de personnalisation de l’application. Lorsque l’on modifie l’un de ces thèmes, depuis l’éditeur de thème ou la page de personnalisation, la modification se retrouve bien sur la page de login. Enfin les autres paramètres de personnalisation (logos et messages) s’affichent également dans la page de login.
APS-4732 Erreur lors de la prévisualisation d’un PDF
En v23, le module de prévisualisation des pièces jointes a évolué, offrant plus de possibilités. Néanmoins, dans certaines conditions, la prévisualisation de pièces jointes rencontrait des problèmes. L’ensemble de ces conditions doivent être vérifiées pour reproduire le problème :
- Utiliser un navigateur Chrome
- Le site web utilise le protocole
http, pashttps - Le site web a un nom de domaine (différent de
localhost)
Il s'agit d'une limitation (volontaire) de Chrome qui n'accepte pas les contenus compressés avec Brotli en mode http, ce qui n’est pas le cas en mode https.
Pour corriger le problème, nous fournissons dorénavant dans la solution le fichier PDFNetCWasm.gz.wasm, qui permet de bénéficier de toutes les ressources de fallback.
APS-4763 Oracle - changement d'étape de WF KO
Sur une instance Oracle, on pouvait constater que pour un document créé dans l’interface web ET assigné à un workflow, il n’était pas possible de faire un changement d’étape de workflow pour le document en question depuis l’outil d’administration de changement d’étape, un message d'erreur était affiché.
Cette anomalie est une régression introduite en v21.19 et v23.0. (APS-4303 Changements d'étapes entre workflows intégrés)
-2ccad91913da5f0d2e6ce8d6817f77bb.png)
APS-4760 Bug sur champ ressource contenant une parenthèse
Jusqu’à présent on constatait que l’outil d’administration de mise à jour en masse des documents fonctionnait mal lorsque l’on souhaitait modifier la valeur d’un champ de type "ressource de l'annuaire" configuré avec un picker filtrant les utilisateurs sur le rôle dont le nom (DN) contenait une parenthèse. En effet le picker s'ouvrait sur une liste vide. Cette anomalie est maintenant corrigée.
APS-4738 Pas d’ombre autour de map designer
Le container du map designer n’avait pas tout à fait le même aspect que celui qu’il a dans d’autres pages de l’application web (Vues, Personnalisation de l’application, etc.). Une ombre portée a donc été ajoutée.
| Avant | Après |
|---|---|
![]() | ![]() |
APS-4780 DN à caractères spéciaux lors de la diffusion
Une révision complète de la diffusion aux ressources contenant un & (esperluette) dans le nom technique a été réalisé.
En effet, dans le cadre des services et des personnes lors de la préparation de la diffusion électronique, si l'une des ressources contenait un caractère &, elle n’était pas ajoutée à la liste de diffusion.
En ce qui concerne les groupes de diffusion, la situation était différente. Si l'on sélectionnait un groupe dont le dn_name contenait un caractère &, il n’était pas inclus dans la fenêtre contextuelle après réouverture.
De plus, si on sélectionnait d'autres groupes de diffusion en plus de celui qui contenait ce caractère spécial, les autres groupes disparaissaient également de la fenêtre contextuelle, contrairement aux services et aux personnes.
Ces anomalies sont maintenant corrigées et l’ajout d’une ressource avec un & (esperluette) est fonctionnel.
Fonctionnalités
Interface web
APS-4079 Clôturer/déclôturer un workflow
Des besoins métier n’étaient pas couverts jusqu’à présent par des solutions du standard produit :
- Le client a utilisé par erreur le bouton "Changement d'étape" sur un doc archivé ou valide ; il faut clôturer sans valider l'étape
- Un ensemble de documents est obsolète mais toujours en workflow, ils relancent ou ne peuvent être archivés (car ils sont en workflow), il faudrait pouvoir les clôturer.
Afin de répondre à ces problématiques, nous avons mis en place une évolution permettant depuis un document, dans le menu "Outils" > "Workflow" de proposer une nouvelle entrée "Clôturer" permettant de clôturer le document consulté en choisissant une étape de fin de workflow.
Les droits de fin de workflow sont alors appliqués et une nouvelle entrée de menu permet de "Déclôturer".
-f995657e22be8d653a2501913320bce4.png)
APS-3610 Déclôturer le workflow des documents en masse
Afin de répondre à un besoin de déclôture en masse de documents, nous avons ajouté dans la fenêtre de modification en masse, une nouvelle entrée afin de déclôturer les documents sélectionnés.
Si tous les documents sélectionnés n'utilisent pas le même workflow alors une Infobulle s'affiche sur l'action grisée indiquant : "Les documents sélectionnés ne suivent pas tous le même workflow".
APS-4338 Désactivation des emails d'administration
Le produit donne maintenant la possibilité de ne plus envoyer d'emails lors d'un incident produit à
l’adresse d’administration renseignée durant la phase d’installation de la solution (clé AdminEmail).
Ces incidents étant toujours journalisés en base, afin de ne plus générer d'emails systématiquement la valeur d'AdminEmail est dorénavant optionnelle (un message dans l'installateur le mentionne). Si la valeur d'AdminEmail est vide, aucun mail n'est envoyé.
Cette évolution permettra de ne pas surcharger la boite mail par défaut « trashavanteam@gmail.com ».
APS-4663 Ouvrir un document depuis un lien
Plusieurs remontées clients ont demandées l'amélioration du lien généré pour ouvrir un document. Ces liens ouvraient le document / pièce jointe dans la solution Avanteam, mais il n'était pas possible de naviguer dans l'application une fois le document consulté. Afin d’améliorer l’expérience utilisateur, il a été convenu que le document communiqué par lien serait ouvert dans le premier "big menu" visible de l'utilisateur (généralement le portail d'accueil). Des informations complémentaires concernant cette évolution sont disponibles sur la base documentaire d'Avanteam.
Sécurité & technique
Technique
APS-4758 Supprimer une clé de localisation inutile
Pour donner suite au traitement du ticket APS-4269, une clé de localisation a été supprimée car elle ne présente plus d’utilité. Il s’agit de WarnCompilationModDebug.
APS-4715 Livraison des dll en dépendance
Le standard produit propose l'utilisation de l'agent Avanteam.Application.Agents.Import.Document.DocumentImportAgent.
Lors de l'exécution manuelle de cet agent, une erreur apparaissait. En effet le chargement de la licence fait référence à toutes les dlls Aspose. Or elles n’étaient pas forcément présentes.
Afin de corriger le problème, nous avons mis à disposition les dll nécessaires.
Sécurité
APS-4750 V1_HIGH_XSS 1
Nous avons sécurisé les headers de nos formulaires afin d’empêcher l’interprétation de code à l'intérieur. Il n'est pas possible d'exploiter de faille XSS pour introduire un script malveillant dans les formulaires.
| Avant | Après |
|---|---|
![]() |
APS-4766 V1_HIGH_XSS 3
Nous avons sécurisé nos URL afin d’empêcher l’introduction de code à l'intérieur. Il n'est pas possible d'exploiter de faille XSS pour introduire un script malveillant.
APS-4751 Mise à jour de librairies JS vulnérables
Afin de corriger des problèmes de sécurité identifiés dans des versions de librairies JS utilisées, nous avons remplacé le package jquery-ui-dist par jquery-ui et réalisé une montée de version de :
jQuery UIMoment.js
Concernant jQuery Validation, étant une dépendance de Microsoft.AspNetCore.Identity.UI, la version des packages Identity est montée de 6.0.19 à 6.0.25. Cette action a permis de mettre à jour jQuery Validation de 1.17.0 à 1.19.5.
APS-4768 Faille XSS par l'intermédiaire de fichier SVG
Une faille de sécurité portant sur les fichiers au format SVG a été corrigée. En effet les scripts potentiellement contenus dans des fichiers .svg ne sont plus exécutés lors d’actions sur les pièces jointes.
Breaking change
APS-4663 Ouvrir un document depuis un lien
La réalisation de cette évolution a entrainé plusieurs modifications du code exposé :
SetTabTitle
Les deux fonctions APScore.Window.SetTabTitle et APScore.Controller.SetTabTitle sont devevenues asynchrones.
Voici comment transformer un code existant si un développement spécifique fait référence à ces fonctions :
| Ancienne version | |
| Nouvelle version utilisant Promise | |
| Nouvelle version utilisant await | |
GetQueryStringAction
La méthode Avanteam.Kernel.Web.ApsPageManager.GetQueryStringAction() ne retourne plus un string, mais une valeur de l’énumération Avanteam.Kernel.Web.AspxDistributer.DocumentAccessMode.
HttpNameValueCollection
La classe HttpNameValueCollection a été remplacée par une surcharge de NameValueCollection avec une méthode Avanteam.Kernel.Web.Extensions.SerializeToUrlQueryString.
Voici un exemple de migration de code existant dans le cas où un développement spécifique utiliserait cette classe :
| Ancienne version | |
| Nouvelle version | |
-282493e253b64bc372c1f50206dc7da7.png)
-86246497b09539395125d4062b67ebcf.png)
-431f6a6cf0932da105f12f1aeec2d2e1.png)