neos / neos-ui

Neos CMS UI written in ReactJS with Immutable data structures.
GNU General Public License v3.0
264 stars 136 forks source link

Indicator for the Workspace state #3803

Open bwaidelich opened 11 months ago

bwaidelich commented 11 months ago

TL;DR The Backend should provide an indicator of the current workspace state, especially when conflicts happened

A workspace in Neos 9.0 can have one of the following three states:

See WorkspaceStatus enum for more details.

The OUTDATED state means, that a rebase is required (Currently that is triggered by logging-out and -in again). In the OUTDATED_CONFLICT the current workspace can't be published. So new changes will be lost.

With 9.0 there won't be a (fully fledged) conflict resolution because that's very intricate, but we are considering ways to at least partially apply changes and/or be able to "stash" the pending changes so that they don't have to be discarded.

In any case, we should provide the user an early feedback of the workspace state, especially for the latter two cases.

bwaidelich commented 11 months ago

Some more UX/UI ideas (disclaimer: I'm not a designer, nor UX expert. at all.):

Two really rough suggestions just to communicate the direction (I guess an indicator should rather be a small badge/icon instead of this huge buttons, but I didn't want to overstress my Photoshop skills):

SCR-20231110-pags

SCR-20231110-payy

markusguenther commented 11 months ago

I like the idea that we see directly the current selected workspace, but the top bar becomes really overloaded. So if we put more information at the top, we should prioritize the most important stuff.

The state and the workspace are important, and the dimension and the publishing as well. As we need bit more space, we can maybe move the user menu to the drawer menu footer. The user menu is more or less just for the logout and bet the user impersonation and user settings are really seldom in use. So you will have just one more click to open the side menu and be able to log out. What do you think? Alternately, we could always use the small screen view and don't render the first and last name.

But I am also not a designer ;)

bwaidelich commented 11 months ago

the top bar becomes really overloaded

That's true. Maybe the indicator could just be a simple icon on the publish button with more details & options in the dropdown..

pKallert commented 11 months ago

I created a rough first draft of the feature here: https://github.com/neos/neos-ui/pull/3665

To avoid confusion I would suggest only adding a small button if the workspace is outdated. If the personal workspace is up to date the button would not do anything anyways.

The Icons is something I made up on the fly, but if an actual person who can do icons wants to have a go, feel free 😄

Also, the whole padding/sizes and newlines styling stuff is not finished, this is something like a mockup.

Normal status, personal workspace is up to date

Bildschirmfoto 2023-11-14 um 12 11 24

Personal workspace is outdated

Bildschirmfoto 2023-11-14 um 11 10 35

Clicking on the button opens a popup: Bildschirmfoto 2023-11-14 um 11 32 19

Personal workspace is outdated and in error state

Bildschirmfoto 2023-11-14 um 11 54 13

Clicking on the button opens a popup: Bildschirmfoto 2023-11-14 um 11 54 28

bwaidelich commented 11 months ago

I created a rough first draft of the feature

@pKallert You're amazing, I like the approach! From those modals one option should be to go to the workspace module, but we can always add that later

mhsdesign commented 3 months ago

Can this be considered closed as part of https://github.com/neos/neos-ui/issues/3742 ?

cc @grebaldi