[MGNLUI-2600] Saving form should not be possible while an upload is in progress Created: 17/Jan/14 Updated: 09/Mar/21 |
|
| Status: | Open |
| Project: | Magnolia UI |
| Component/s: | dialogs, forms |
| Affects Version/s: | 5.2.1, 6.2 |
| Fix Version/s: | 5.2.x |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Joerg von Frantzius | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | ux | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Template: |
|
||||||||
| Acceptance criteria: |
Empty
|
||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||
| Date of First Response: | |||||||||
| Description |
|
When uploading a large ZIP file, the Save and Cancel buttons are enabled and still have a mouseover that indicates something would happen when clicking on them. It is undefined what should happen when clicking on the Save button during an ongoing upload, so it better shouldn't be possible at all. While I think both Save and Cancel should be disable during upload, and there should be some other and more obvious way to cancel the ongoin upload? Updated: Also, it shouldn't be the Dialog Cancel button that cancels the upload, as that would mean that it changes its meaning (from canceling the dialog to canceling the upload and back). Maybe starting the upload could put a semi-transparent layer covering the dialog, containing both a progress animation and its own "Cancel"-button? |
| Comments |
| Comment by Mikaël Geljić [ 20/Jan/14 ] |
|
Hi Joerg, thanks for your feedback. Currently, if you press Save and the upload field is required, it'll trigger a validation error until upload is complete. If the field is not required, it will abort the upload while the dialog is being destroyed. Same as if you press Cancel. Besides, one can still abort an ongoing upload by hitting the cross next to the progress bar. We'll take a further look at this issue and comment again with our results and decisions. |
| Comment by Mikaël Geljić [ 23/Jan/14 ] |
|
Here are our conclusions as discussed in UX group:
|
| Comment by Joerg von Frantzius [ 30/Jan/14 ] |
|
Why enable a button that will only show a warning that it shouldn't be clicked? That's kinda funny. Show a button, user clicks it, and then tell him he shouldn't click it. Ideally IMHO there should be an upload animation going on that makes it clear why save and cancel aren't enabled, even if user is jumping between tabs. |
| Comment by Andreas Weder [ 07/Feb/14 ] |
|
Ok, so I've put some more thought into this. Here's my proposal. Signal ongoing uploads
I'm thinking disabling the save button is a good thing, after all, if:
Leave "Cancel" enabled at all timesI would still leave the "cancel" main button enabled. To ensure consistent behavior, however, clicking it always cancels both all running uploads and the dialog itself. This is similar to how we (should) abort a main action in other instances as well. In the example below, where I show an asset chooser UI performing an upload, the actual upload can be cancelled by clicking on the "x" inside the alert reporting the progress. But you may also cancel the entire action plus the ongoing upload by clicking on "cancel". Like this, "cancel" always works as expected and canceling the main action remains easy, even if several uploads are ongoing. I want to avoid asking the the user to go hunting for uploads to cancel only to enable that "cancel" button.
Signaling failed uploads
On more of a side note, if an upload fails, this is shown in the upload field itself as defined in the defining concept of a media upload field (see mockup 5b). In addition:
For required upload fields, this should work well, if a user presses save:
|