Define the user’s controls
Decide who can start a run, which inputs they can choose and who can see the output. An operation that changes shared records or calls an external service needs permissions at the server as well as in the screen.
The interface should distinguish waiting, running, completed and failed states. Users may also need to find an earlier run, download its result or cancel a request that has not started. These are requirements to settle before the screen is designed.
Give execution its own record
Separate file selection, command-line arguments and local configuration from the processing logic. The server can validate an interface request and call that logic while keeping credentials and execution permissions out of the browser.
For work that continues after the browser closes, keep a run identifier and status on the server. Record the input reference and processing version so the result can be found later. Decide who can retrieve output files and how long they should remain available.
Failure messages need to distinguish an input the user can correct from an execution problem requiring investigation. Keep the technical cause in the run record and explain the available next action in the interface.
Decide what a second click does
A repeated request may be accidental or a deliberate attempt to recover a failed run. Define how the application tells those cases apart. A run identifier, input check or execution lock can help prevent duplicate changes.
Test interruption after part of the work has completed. The recovery instructions should say what was changed and whether a new run resumes, starts over or waits for review. The same rules also apply when two users start overlapping work.
Navigation