web-dev-qa-db-fra.com

Comment visualiser un résultat de processus et un rapport comme étape finale dans un assistant

Je repense un assistant Web qui permet à un utilisateur d'importer une table via un fichier CSV.

Les étapes actuelles sont les suivantes:

  1. téléchargement de fichier: l'utilisateur télécharge un fichier CSV à partir du système de fichiers local.
  2. metada: l'utilisateur remplit des informations sur la table comme le nom, l'auteur, les droits, etc.
  3. définition d'en-tête: l'utilisateur définit l'en-tête du tableau. (c'est-à-dire, dites à l'assistant s'ils proviennent du fichier CSV ou s'il le modifie).
  4. résumé: affiche toutes les informations éditées par l'utilisateur.
  5. done: affiche un message "done" et demande à l'utilisateur s'il souhaite importer une autre table ou revenir à l'application principale.

Je souhaite insérer la tâche d'importation entre les étapes 4 et 5, en ajoutant peut-être de nouvelles étapes.

La tâche d'importation s'exécute côté serveur. La tâche consiste à analyser le fichier CSV et à l'importer dans le système. Le temps de tâche dépend de la dimension du fichier CSV, peut être immédiat ou nécessiter quelques secondes. Lorsque la tâche se termine, elle produit un résultat et un rapport sur l'importation. Le résultat et le rapport doivent être visualisés à l'utilisateur dans l'assistant.

Comment puis-je ajouter cette opération d'importation au flux actuel?

Je pense à deux solutions:

Solution 1: une nouvelle étape entre les étapes 4 et 5. À l'étape 4, l'utilisateur clique sur le bouton suivant (rebaptisé "enregistrer"). La nouvelle étape affiche une barre de progression infinie et lorsque la tâche est terminée affiche le résultat avec le rapport. Dans ce cas, je supprimerai l'étape "terminé" et j'appellerai la nouvelle étape "importer".

Solution 2: masquez à l'étape 4 et rapportez à l'étape 5. Dans l'étape 4 lorsque l'utilisateur clique sur suivant, l'étape est masquée avec une barre de progression infinie. Une fois la tâche terminée, l'assistant passe à l'étape 5 où le résultat et le rapport seront visualisés.

Quelle est selon vous la meilleure solution? Une autre idée?

1
Fedy2

Je choisirais la solution 2. Chaque étape nécessite une certaine activité utilisateur. Cela signifie que l'utilisateur effectue certaines actions et passe à l'étape suivante.

Dans la première version, ce que vous insérez n'est pas une étape pure, c'est plutôt une transition entre les étapes. L'utilisateur n'est pas impliqué dans le processus, il observe simplement passivement les progrès. De plus, comme cet écran ne contient que la barre de progression, l'utilisateur peut perdre le focus sur le flux de tâches (car l'écran est sans contexte).

La solution 2 est donc plus préférable. De plus, s'il n'y a pas autant de métadonnées (étape 2), vous pouvez combiner l'étape 2 et l'étape 3. Trop d'étapes peuvent apporter une expérience ennuyeuse.

1
Alexey Kolchenko