Skip to content

BDD-141 — UX workflow : dossiers, fichiers, menu, Nettoyer, doc transformations, types mapper

1. User Story

En tant qu'administrateur, je veux une navigation plus claire, une meilleure gestion des dossiers/fichiers, des filtres Nettoyer plus fiables, pouvoir documenter mes transformations et des types de colonnes correctement hérités dans le mapper, afin de configurer mes workflows plus vite et éviter les erreurs de configuration.

2. Critères d'acceptance

#CritèreStatut
1Connexion dossier : afficher Entreprise — nom du dossier (y compris sous-dossiers, chemin complet si imbriqué)
2Nettoyer : la valeur de comparaison n'est pas limitée aux premières lignes ; saisie libre + suggestions élargies
3Entrée fichier : hiérarchie Entreprise / dossier / fichier, dossiers regroupés sous l'entreprise
4Navigation : menu dans l'ordre Dépôt → Workflows → Sources
5Transformations : bloc texte descriptif éditable + export documentation workflow
6Mapper : hériter les types amont (texte, décimal, date) et propagation aux blocs aval + publication Heriade typée

3. Périmètre fonctionnel

Dossiers workflow (critère 1)

  • GET /folders/workflow-options : tous les dossiers accessibles (tous niveaux), label Entreprise — chemin / complet.
  • Périmètre fichiers inchangé (BDD-139) : enfants directs du dossier sélectionné uniquement.

Fichiers dépôt (critère 3)

  • GET /workflows/depot-document-options : options groupées avec displayLabel (Entreprise / dossier / fichier).
  • Le sélecteur Entrée (mode fichier) affiche la hiérarchie complète.

Nettoyer (critère 2)

  • Champ Valeur de comparaison : q-select en mode combobox (use-input, new-value-mode="add-unique").
  • GET /workflows/:workflowUuid/upstream-column-values : valeurs distinctes amont (scan fichier dépôt ou staging), fusionnées aux suggestions de l'échantillon.
  • MainLayout.vue : ordre admin DépôtWorkflowsSourcesConnexions.

Documentation transformations (critère 5)

  • Nœud canvas text (annotation, hors exécution) : contenu éditable, lien optionnel vers un bloc (annotatesNodeId).
  • Export Markdown / HTML depuis la barre d'outils éditeur (workflow-documentation.export.js).
  • Migration : sql/tool_21_workflow_text_node.sql.

Types mapper (critère 6)

  • Front : WorkflowMapperPanel hérite col.type amont ; preview pipeline propage les types via workflow-traitement-output-columns.helpers.js.
  • Back staging : StagingHeaderMapping.types[] enregistré à chaque bloc ; workflow-traitement-type-overrides.util.ts pour les blocs qui transforment les colonnes.
  • Publication Heriade : colonnes dateTIMESTAMP, décimalNUMERIC, affichage Source en DD/MM/YYYY.

4. Endpoints API

MéthodeCheminDescription
GET/folders/workflow-optionsListe dossiers pour workflow (label, folderPath, enterpriseName)
GET/workflows/depot-document-optionsFichiers dépôt avec labels hiérarchiques
GET/workflows/:workflowUuid/upstream-column-valuesValeurs distinctes d'une colonne amont (nodeUuid, column)

Exemple GET /folders/workflow-options

json
[
  {
    "uuid": "…",
    "name": "Salaires_mensuels",
    "enterpriseName": "Heriade",
    "folderPath": "Heriade / Salaires_mensuels",
    "label": "Heriade — Heriade / Salaires_mensuels"
  }
]

Exemple GET /workflows/depot-document-options

json
[
  {
    "uuid": "…",
    "name": "janvier.csv",
    "enterpriseName": "Heriade",
    "folderPath": "Heriade / Salaires",
    "groupLabel": "Heriade / Heriade / Salaires",
    "displayLabel": "Heriade / Heriade / Salaires / janvier.csv"
  }
]

5. Migration SQL

ScriptDescription
sql/tool_21_workflow_text_node.sqlSupport nœud annotation text sur le canvas

Aucune autre migration schéma pour ce ticket.

6. Tests

CoucheFichiers
Back unitfolder-workflow-options.util.spec.ts, folder.service.spec.ts, workflow-depot-document-options.service.spec.ts, workflow-upstream-column-values.service.spec.ts, workflow-column-types.util.spec.ts, workflow-traitement-type-overrides.util.spec.ts, workflow-mapper-staging.service.spec.ts, workflow-heriade-publish.service.spec.ts, workflow-staging-sql-cast.util.spec.ts, workflow-date-cell.util.spec.ts, source-data-format.util.spec.ts
Front unitWorkflowDepotFolderSourcePanel.spec.js, WorkflowInputSourcePanel.spec.js, workflow-depot-document-options.*.spec.js, useWorkflowUpstreamColumnValues.spec.js, workflow-row-value-rules.engine.spec.js, workflow-traitement-output-columns.helpers.spec.js, workflow-traitement-preview.pipeline.spec.js, workflow-documentation.export.spec.js, workflow-text-node-config.spec.js, MainLayout.spec.js, folder-store.spec.js
Front e2e (mock)e2e/pages/admin/admin-workflow-bdd-141.spec.js — navigation, dossiers, fichiers hiérarchiques, Nettoyer saisie libre

7. Documentation technique