Skip to main content
Version: Next

Avanteam Process Studio v23.15

Objet

Installation et contenu du pack v23.15.

Domaines d’application

La migration exige que les applications Avanteam soient en version .Net :

  • 23.14

Procédure d'installation

Lancer AutoUpgradeTool.exe v2.4 en tant qu’administrateur et appliquer la mise à jour.

Correctifs

Scheduler

APS-5486 L'archivage par copie est interrompu

Lors de la synchronisation d'une base applicative avec une base archive, il était possible que la copie soit interrompue en cas d'inconsistance des données dans la base archive. Ces inconsistances sont maintenant gérées et n'interrompent plus le processus de réplication des données.

Interface Web

APS-5365 Bug lors du changement d’intervenant

La pop-up de changement d'intervenant d'un workflow présentait une anomalie : la sélection d'un utilisateur ne fonctionnait pas correctement. Lorsqu'un choix était fait depuis la recherche, celui-ci n'était pas pris en compte dans le champ du formulaire. Ce ticket corrige ce dysfonctionnement.

APS-5458 Erreur lors de la restauration depuis une fédérée

La restauration d'un document depuis une corbeille ne fonctionnait pas si la corbeille était dans une application fédérée.

APS-5496 Mode dégradé : erreur TeamConnect

Si aucun champ obligatoire n'était déclaré au niveau du formulaire, mais seulement au niveau du workflow et que le module TeamConnect était publié, alors la vérification des champs obligatoires au changement d'étape d'un enregistrement générait une erreur. Cela était dû à la désactivation du cache. image.png

Message d'erreur généré en console

APS-5533 Ordre dans le widget indicateur

Dans le portail, lorsqu'un indicateur était modifié au sein d'un widget indicateur du portail, celui-ci était automatiquement déplacé en deuxième position au sein même de la liste du widget. Ce ticket corrige ce comportement.

image.png

La liste des widgets avant la modification d'un indicateur

image.png

La liste des widgets après la modification d'un indicateur

APS-5518 Problème Widget Graphique

Depuis un portail de l'application, si un utilisateur souhaitait ouvrir une vue depuis un graphique, puis un enregistrement présent dans cette vue, alors l'action générait une erreur et empêchait à l'enregistrement de s'ouvrir.

image.png

Les erreurs générées en console

APS-5541 Visibilité PJ convertie en PDF KO

Lors de l'action de conversion d'une pièce jointe au format PDF dans un champ fichier par :

  • action réalisée par un utilisateur
  • action automatique dans une étape de workflow

Un nouveau fichier au format PDF était bien généré, mais était par défaut non visible.

Le ticket reprend le comportement du module bureautique sur le champ fichier. Ainsi les pièces jointes générées sont par défaut visibles.

image.png

Invisibilité de la pièce jointe par défaut après la conversion en pdf

image.png

Visibilité de la pièce jointe par défaut après la conversion en pdf

Fonctionnalités

Scheduler

Log des erreurs de chargement des DLL

Les logs d'erreur pouvant être remontés lors de l'exécution de tâches planifiées contiennent maintenant un message d'erreur détaillé en plus du nom de l'assembly qui était déjà remonté. Cette fonctionnalité aide à comprendre pourquoi une tâche ne s'est pas exécutée correctement.

Process Studio

APS-5000 Fenêtre de sélection de l'application masquée

A l'ouverture de Process Studio, il était possible que la fenêtre de sélection de l'application passe derrière l'écran de chargement (i.e. splash screen) si la sélection de la fenêtre active avait été changée entre temps. L'écran de sélection de l'application reste maintenant toujours accessible depuis la barre des tâches.

Interface web

APS-5431 Champs Fichier : revue des sections du menu

Afin de proposer un meilleur rendu sur le champ fichier, des améliorations UI ont été apportées.

image.png

Avant

image.png

Après

APS-5519 Pas d'email de relance aux utilisateurs désactivés

Les notifications automatiques de relance paramétrées dans un workflow ne sont plus distribuées aux utilisateurs dont le compte est désactivé.

APS-5537 Ajout de logs dans la visionneuse Apryse

Les actions d'impression, de téléchargement et de sauvegarde d'un fichier depuis la visionneuse de la solution génèrent maintenant un log afin de tracer ces actions utilisateur.

Sécurité et technique

Sécurité

APS-5065 V8 Test de cloisonnement des utilisateurs

Le contrôle des droits utilisateur a été renforcé sur les actions de la solution côté serveur afin de garantir qu'elles ne puissent être lancées par des utilisateurs n'ayant pas les permissions suffisantes.

APS-5510 VLN_02 Mutiple stored and reflected XSS

Un renforcement du traitement des données est en place au niveau du portail afin de s'assurer qu'aucun script malveillant ne puisse être exécuté.

APS-4916 Unrestricted file upload

Si un utilisateur joint un fichier PDF contenant un script, la solution s'assure que ce script n'est pas exécuté lors de sa visualisation.

APS-5547 Eml vulnérable aux attaques Path Traversal

La sécurité de module de supervision des mails envoyés par l'application a été renforcée pour assurer que seule la consultation des mails soit exposée.

APS-5532 Implémentation de SCIM

L'implémentation de SCIM permet de simplifier et automatiser la gestion des comptes utilisateurs sur une application ou un service. Cela renforce la sécurité et évite les accès non autorisés.

Technique

Général

De nombreux tickets techniques sont inclus dans cette release faisant partie du chantier de la refonte de l'accès aux données. Le scope de la v23.15 inclut la manipulation des données :

  • De l'annuaire
  • Des chronos
  • Des documents
  • Des formulaires de recherche
  • Des listes de valeurs
  • Des vues
  • Des scripts

Breaking changes

APS-5527 Support des transactions avec IRawDbDataSource

Dans les environnements SQL Server, l'erreur suivante peut se produire.

There is already an open DataReader associated with this Connection which must be closed first.

Cette erreur intervient lorsque deux requêtes utilisent la même connexion vers la base de données par l'utilisation de la fonction SQL_ExecuteScalarCollection. Si le code générant cette erreur a été développé pour un client spécifique, voici les alternatives afin de la contourner :

  • Complétez l'utilisation de la fonction par un .ToList() ou .ToArray() lorsque le but est de récupérer les résultats de la requête :
var results = managerWrapper.SQL_ExecuteScalarCollection<string>(query).ToArray();
  • Dans le cas où il s'agit de savoir si la requête renvoi au moins un résultat, privilégiez l'utilisation de .Any()
  • Pour connaître le nombre de résultats retournés : .Count()
  • Pour seulement récupérer le premier résultat : .First()
  • Si une requête est imbriquée dans une boucle d'une autre requête, réaliser un foreach sur l'ensemble des résultats avant d'exécuter une seconde requête
  • Dans les autres cas, il vous faudra matérialiser les résultats de la requêtes avant d'appliquer d'autres opérations en mémoire

Cette erreur intervient lorsque les bonnes pratiques suivantes n'ont pas été suivies :

  • Matérialiser (lancer la requête en base de données pour aller récupérer ses résultats) au plus tard, avant toute requête subséquente
  • Intégrer les opérations de contrôle et de traitement de l'information directement dans la requête (filtres, tri, groupement, ...)
  • Exploiter les opérations LinQ en mémoire avant de matérialiser pour optimiser les performances
  • Pour les requêtes retournant de grandes quantités d'information, envisagez les méthodes de pagination

APS-5065 V8 Test de cloisonnement des utilisateurs

  • Les méthodes suivantes vérifient que la personne a bien accès en lecture au document référencé :
    • GetFieldValue()
    • AddFavorites()
    • GetLastSaveDate()
    • GetConcurrencyTokens()
  • Les méthodes suivantes vérifient que la personne a bien accès en écriture au document référencé :
    • SetFieldValue()
    • DeleteDoc()
    • BuidReference()
    • UnLock()
    • ArchiveRestore() ; cette méthode vérifie aussi que le site web est bien une base archive (ArchiveWebSite=true)
  • Les méthodes suivantes vérifient que la personne appartient à la même société dans le cas d'un mode multi société (ModeOrga=2) :
    • GetDirectoryResourceInfos()
  • Les méthodes suivantes ont été supprimées :
    • GetAppSettings()
    • SendMail()
    • GetConcurrentcyTokens()