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.

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.

La liste des widgets avant la modification d'un indicateur

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.

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.
Invisibilité de la pièce jointe par défaut après la conversion en pdf

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.

Avant

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
foreachsur 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()