backdrop / backdrop-issues

Issue tracker for Backdrop core.
144 stars 38 forks source link

[UX] Add "Save" and "Save and continue editing" buttons to the "Manage blocks" and "Configure layout" forms #5061

Open bugfolder opened 3 years ago

bugfolder commented 3 years ago

When you are configuring a layout on the "Configure Layout" tab (e.g., /admin/structure/layouts/manage/home/configure), the two buttons at the bottom are "Save Layout" and "Cancel".

image

Clicking "Save Layout" saves your changes and then immediately redirects you to the "Manage Blocks" tab (/admin/structure/layouts/manage/home).

image

I think that "Save Layout" should save the layout and then leave you on the Configure Layout page.

I can see a reason for the current redirection: in many cases, the next thing you will want to do is manage blocks, so why not go straight there? But the current behavior is counter to the behavior of nearly every other configuration page in Backdrop. In most places, when you save a bunch of settings, you get taken back to the same settings page that shows that the values you just entered are now the defaults.

Furthermore, this redirection is most confusing to people coming from Drupal who are new to Layouts and are exploring this new area. If someone tentatively makes a change to a layout configuration, they're going to expect to see the result of that change, not an entirely new page, where they have to scramble around (or use the Back button and reload) to see the results of their save.

I note that the Manage Blocks page follows the usual model: clicking "Save Layout" leaves on you that page; it doesn't take you to some other page that might be next in the development flow.

So I would like to suggest that we follow the UX model of "saving a bunch of settings leaves you on the settings page" that applies to so many other settings pages.

For the power users who really do want to save and go straight to the Manage Blocks page, there's a simple solution: add one more button:

[Save] [Save and Manage Blocks] [Cancel]

(I might also suggest that since Configure Layout always precedes Manage Blocks chronologically that the Configure Layout tab belongs on the left, but I can see the argument that Manage Blocks gets visited repeatedly so it deserves the prime position.)

klonos commented 3 years ago

Layouts is not the only example where we redirect people to another page:

I think that there is a patter there.

bugfolder commented 3 years ago

Nice examples. For content type, file type, custom block, menu, and vocabulary, saving the object takes you to a list of similar objects. For all of those, saving the object takes you "up a level" in the hierarchy {list of objects}->{configure object}->{list of stuff that goes inside of object}. So following that pattern, saving a layout configuration should take one to the list of layouts, rather than to Manage Blocks for the particular layout.

So, yes, there is indeed a pattern there; but it's also different from what Configure Layout does.

I like the concept that "selecting Save shows you the results of what you saved", but going up a level (as in those examples) would still be preferable to "going down". Closest example seems to be saving a new vocabulary, but even there, saving an existing vocabulary doesn't take you to the list of terms (which would be analogous to what Configure Layout does).

klonos commented 3 years ago

I have to think the UX in all this a bit more before I'm able to make further comments πŸ€” ...in the meantime, let's see what others think.

ghost commented 3 years ago

For those of us too lazy to go looking through an actual site to see what you're talking about, can someone please add screenshots to the OP of the two pages referred to there?

UPDATE: And then I find myself at a computer with nothing better to do πŸ˜„ So I did it.

ghost commented 3 years ago

I'm kind of ambivalent about this.

In most places, when you save a bunch of settings, you get taken back to the same settings page that shows that the values you just entered are now the defaults.

In this case though, from what I saw, there aren't a 'bunch of settings', just one (the layout template), So I can't really see the benefit of staying on the same page. Indeed, I imagine most people will, after changing the layout template, want to see the new template in action and the blocks assigned to the different regions (or at least confirm that the blocks are where they're meant to be)...

bugfolder commented 3 years ago

In this case though, from what I saw, there aren't a 'bunch of settings', just one (the layout template),

Also the title, the path, the contexts, visibility conditions, (and now) the relationships.

I admit that I was influenced by the behavior in 1.18.x noted in https://github.com/backdrop/backdrop-issues/issues/5072, that saving didn't always save one's settings; so I wanted to come back to the settings page to see whether the changes actually "took". But with the change in behavior in 1.19.0 (fixing that issue), that incentive is lessened.

It does seem, though, that Configure Layout is different from other similar Configure <something> pages in not returning to the listing.

Looking at the listings in the Admin > Structure menu, they differ in where Configure occurs in the Operations list:

It seems like there'd be value in having these listings all behave similarly, with "Configure" always being the first item in Operations, and using "Configure" uniformly (or "Configure <this thing>") uniformly.

klonos commented 3 years ago

How we solve similar UI issues is by placing a set of two submit buttons, one that saves and redirects to the listing + another that saves and edits.

Perhaps we could solve this UX issue here using the same pattern: a "Save configuration" button + another "Save and place blocks" button. Thoughts?

ghost commented 3 years ago

Also the title, the path, the contexts, visibility conditions, (and now) the relationships.

Oh OK. I was looking at the default layout. I guess other layouts have more settings... Someone feel free to update the screenshot above then.

klonos commented 3 years ago

Someone feel free to update the screenshot above then.

Done πŸ‘πŸΌ ...good opportunity to point out that the "Cancel" button in that form should be rendered as a link instead (for consistency with other forms).

klonos commented 1 month ago

This UX issue was discussed during the Design/UX meeting earlier today. The discussion was not for the "Configure layout" page specifically, rather than about the "Manage blocks" form instead (and it was surfaced because of the discussion around workflow for #2894). But this is actually the same problem, and we should solve it holistically here for the forms that the Layout module provides.

If you wanna watch the relevant discussion, it is 21:47 into the recording. Here: https://youtu.be/l2SAcL907AQ?t=1307

...and then at 24:43 into the recording, what I had proposed in my earlier comment in this thread here back in May 2021, is being discussed and there seems to be consensus that it would be a good idea (for all forms where we are making assumptions on where people might want to be redirected to): https://youtu.be/l2SAcL907AQ?t=1483

I'd like to take a stub at this, so assigning the issue to me.