Nouvelles fonctionnalités
12 min
1. Génération et validation des vues
1.1 Commande views:gen
Une nouvelle commande a été introduite pour fiabiliser la gestion des vues :
npm run views:genObjectifs
- Vérifier que chaque vue dispose d’un fichier de transitions valide.
- Générer automatiquement le fichier views/views.mjs, utilisé pour la navigation entre les vues.
1.2 Commande associée views:build
npm run views:build- Génère le code des vues à partir des fichiers YAML.
2. Data Collector piloté côté back-end
Le Data Collector bénéficie désormais d’une logique de pilotage côté back-end.
2.1 Fonctionnement
- Des règles sont définies côté serveur pour déterminer quand envoyer la trame projet au Data Collector.
- Cela permet de centraliser la logique métier et de réduire la complexité côté OAV.
2.2 Exemple
- Lors d’un changement de statut du projet, le back peut automatiquement envoyer la trame complète du projet au Data Collector pour mise à jour ou historisation.
2.3 Bénéfices
- Moins de code côté OAV.
- Meilleure cohérence des envois de données.
- Synchronisation alignée sur les processus métier.
3. Refonte de la gestion des tâches (Tasks)
Le système de tâches a été repensé pour plus de modularité et d’automatisation.
3.1 Workflows configurables
- Il est possible de définir des workflows de tâches.
- Dans un workflow, une tâche ne démarre que si toutes les tâches qui la précèdent sont terminées.
3.2 Définition des tâches
Chaque tâche est définie dans un fichier indépendant au sein du dossier tasks/.
Exemple d’arborescence :
tasks/
├─ create-project-task.yml
├─ validate-entity-task.yml
└─ send-to-collector-task.yml3.3 Bénéfices
- Organisation plus claire des processus métiers.
- Possibilité de réutiliser des tâches dans différents projets.
- Alignement front/back simplifié grâce à une typologie centralisée.
4. Gestion unifiée du contexte (ctx)
Les mécanismes de récupération du contexte client (ctx + ctxPolicy en v3) sont désormais unifiés via la propriété ctx (voir page Conventions & outils pour le détail).
Cette évolution :
- simplifie la configuration,
- propose plusieurs stratégies intégrées (local-storage, session-storage, url, shadow-crm, etc.),
- permet de passer directement un token ou un projectId.
5. Autres apports notables
- Centralisation de la logique d’authentification client (Tokens non exposé).
- Rationalisation du routing et des pages d’erreur (Router views={…}, errorPages).
- Signature plus explicite des handlers de navigation (onNext, onPrev) via transitionData et resolvedViewData.