I'm re-designing a web wizard that lets an user to import a table through a CSV file.
The current steps are:
- file upload: the user upload a CSV file from the local file system.
- metada: the user fills information about the table like name, author, rights and so on.
- header definition: the user defines the table header. (i.e. Tell the wizard if they come from the CSV file or he edits it).
- summary: shows all the information edited by the user.
- done: shows a "done" message and ask to the user if he wants to import another table or go back to the main application.
I want to insert the import task between steps 4 and 5, maybe adding new steps.
The import task runs on the server side. The task is about parsing the CSV file and import it in the system. The task time depends on the CSV file dimensione, can be immediate or require some seconds. When the task terminates it produce a result and a report about the import. Both the result and the report have to be visualized to the user in the wizard.
How can I add this import operation to the current flow?
I have in mind two solutions:
Solution 1: a new step between step 4 and 5. In the step 4 the user click the next button (re-labeled "save"). The new step shows an infinite progress bar and when the task is complete shows the result with the report. In this case I will remove the "done" step and call the new step "import".
Solution 2: mask on step 4 and report on step 5. In the step 4 when the user click next the step is masked with a infinite progress bar. When the task is complete the wizard go to step 5 where the result and the report will be visualized.
What you think is the best solution? Any other idea?