Hi,
I’d like to brainstorm about how we’d implement introducing progress bar for exports. Exports can take a long time depending on the export type and what is exported (exporting a full wiki to HTML for example can take quite long).
These are my current ideas/notes.
Principle:
- Progress bars/jobs require client and server code
- The server code perform the code to export and notify the Job Progress Manager about the status
- The client code displays the progress bar, calls the server code and updates the progress bar
So my idea ATM would be to do the following:
- Modify the existing
export.vm
by introducing a query string param to display progress. - Once the user clicks the “Export” button in the export modal we render this export template (by using the export action as we currently do)
- We introduce a new export script service (and a new Export component) in charge of performing the export, in a new
xwiki-platform-export
module. Theexport.vm
uses this script service to trigger the export. - Once the export is finished, the
export.vm
displays a link to the export in the UI and the user just have to click on it to get the result.
WDYT?
Thanks