Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Left Menu (Admin & UX/UI) #159

Comments

@srenault-meeds
Copy link
Member

srenault-meeds commented Sep 20, 2024

Rationale

Currently, it is possible to use the left menu to access sites, recent spaces, detail space panel & personal settings
We can customize our personal experience:

  • make it still opened (or locked)
  • set your personal home

Problems are multiple:

  • Hovering the burger icon opens the left menu. Sometimes, it is too long and we click to the profile
  • Personal Home option is sometimes hidden using CSS for enterprise context
  • Users don't know it is possible to lock the menu opened while it can be interesting for them
  • Only 7 spaces can be listed in the recent spaces part

Plus, we have brought and we will brought new way to list spaces.
Hence, we aim to:

  • provide options for admins to customize their left menu
  • ease the access for users to spaces depending their type
    In addition to modernize the UX to list the menu.

1. Functional Requirements

Top User Stories

Administration of the left menu

As platform administrator, I can customize the navigation experience thanks to a new entry in the admin site:
"Topbar & Left menu"

From there, I can customize both items of the platform navigation.

1. Topbar
Thanks to a preview of the current branding and of the first site of the platform, I can decide to not display:

  • the company name
  • the site name

In addition to this, I can rearrange/edit the topbar options provided to users

  • default options: search, notification, favorite, appcenter
  • For each option, I can decide to deactivate it to not display it
  • Or I can decide to not provide it when using mobile
  • And finally, I can review the sort or the options thanks to move up / move down options

NB: Description is used for the browser tooltip when hovering the option.

image

2. Left menu
Before reviewing the items organization of the left menu, I can identify options for users:

  • option for users to set their personal home (default value: true)
  • option provided for users to use their left menu. One option minimum must be selected:
    • Hide option (left menu is closed)
    • Icon View option (left menu is minimized - we can see icons of sites, types, and spaces)
    • Keep Menu Open (left menu is locked and so, still opened)
  • default display of the left menu (if proposed to users). Depending on the choice, new users only will see this default display of menu
    • Hide (default value)
    • Icon View
    • Keep Menu Open

image

Then, thanks to a preview of the current left menu (with sites, links and spaces the current admin can access), I can decide to organize items for a customized experience:

As for default list, we can find:

  • sites
  • separator
  • space type sorted the following way: announcement, communities, projects, circles.
    • For each type, 2 spaces more recently accessed are displayed below. I can list other spaces in the second panel.
    • If no space yet, then I don't see the type proposed
  • spaces (access to all spaces)
    • clicking to it opens the spaces directory
    • I can access the list of all spaces from this item too
    • see left menu revamping below for more details

NB: that means the sites management does not provide anymore such option for each site (AKA "display order")

As admin, then I can decide to:

  • edit each item depending on their properties / type (see below)
  • move it up, move it down
  • delete each item

image

If needed, I can decide to add items as follow:

  • site or page
  • spaces
  • link
  • separator
    image

When requesting to add/edit a site or page, then I have to choose one available in the platform
Permissions of each are still managed from the site management or from the page management
image

When requesting to add/edit a link, then I have the same link addition UX when adding links using the links portlet
image

When requesting to add/edit a space item, then I have to decide which space item:

  • template / type
  • all spaces

This must be extensible so we can in the future add other space metadata: categories, tags, i.e

For each item, I can set the default sort (recently visited, title, favorite) and I can decide the number of items to list (default value: 4)

image

When choosing template, I have to choose from available templates, no matter there are spaces or not.

When choosing all spaces, I can change the name of the item (with translations)
image

Depending on the choices I have chosen, the preview is updating before I apply it.
image

View of the left menu

Behaviours

Left menu will be displayed as configured by admin:

  • reduced, minimized, locked depending on the default display
  • options are provided depending on admin choice
  • spaces are listed as requested by the admin

Regarding spaces list, users can see it only if spaces he is member of it. That means that:

  • given a template "Circle"
  • when this one is marked as to be liste in the left menu
  • if not member of a space of "Circle" Type, then no item listed
  • when users being member or admin of a circle space type, then the left menu will list it as expected

Regarding behaviour to access the left menu, following are identified:

Menu hidden

  • Clicking to the burger menu opens the left menu. No hover behaviour anymore

Icons View

  • Hovering an icon, item of the left menu opens the left menu

Opened Menu / Locked

  • Clicking to site, spaces opens the first page of the site/space
  • Clicking to "ViewAllSpaces" item opens the spaces directory
  • Hovering items like "ViewAllSpaces", template, site, spaces suggests to click to an arrow to open the spaces list panel or the site detail panel

Left menu is also reviewed to reorganize:

  • the location of company logo & name
    • Clicking to it opens the homepage (or personal home when possible)
  • no more separator between logo and name
  • the access to the personal settings

Topbar impact:

  • space or site name can be reminded in the topbar for better readability

  • clicking to it sends the user to the home of the site (space or site)

  • clicking to the company name sends the user to the home (or personal home when possible)
    when site
    image
    when space
    image

  • When the site is meeds, then no need to remind the name. Page name can be reminded when left menu is locked only.
    When menu is reduced
    image
    When menu is locked
    image

When minimized or locked, the unread badges is located to the item related to it (type, category, or spaces)
image
image

Starting from this, below is shown how the left menu can be displayed with different cases.
Up to LG screen
Left menu cannot be locked. It can be minimized or reduced.
If reduced left menu, Topbar can display company logo and site name.

image

From LG to XL screen
Left menu can be locked, minimized or reduced.
If reduced left menu, Topbar can display company logo and site name.

image

From XL screen
Left menu can be locked, minimized or reduced.
If reduced left menu, Topbar can display company logo, company name and site name.

image

Access to spaces panel
When accessing the spaces list of a spaces item (templates, "viewAllSpaces")
Then I first have the list of recently visited spaces
If needed, I can filter this list by favorites or unread activities thanks to the tab suggested.
Of course, I can filter it by their name if needed
image

If no favorite, neither unread, then placeholder will be displayed.

Space Creation
To create space, I have different options:

  • From a template, then I only have to give a name and then I will have to proceed to the creation following the template steps
    image

  • From "viewAllSpaces", then I will have to give a name to my space and I will have to choose a template to proceed to the creation steps.
    image

Of course, I still can create spaces from the Spaces Directory Page.

Once you have given a name and chosen a template, the space creation form is reviewed in order to:

  • provide a better experience
  • suggest steps configured for the template

In fine, steps are below described (listed randomly)

image

Impacts

Gamification

NA

Notifications

NA

Analytics

Remove the tracker of usage of left menu
Use Analytics to list recent spaces

Unified Search

Use ES/Unified Search to list favorite spaces

2. Technical Requirements

Expected Volume & Performance

No major impact on stored data, since the user related data will not change.
As a technical requirement, we will have to manage the Left Menu and Topbar options as a single tuple, thus no Table should be used to store a single tuple into it.
Besides, as made currently, the Left Menu expansion user preference has to be managed the same way in order to preserve current user preference.

Security

Only Platform administrators should be able to manage left menu and topbar settings.

Extensibility

The Addon Container has to allow defining a custom order of its elements so that Topbar elements, which is not stored in Layout Storage but defined in sharedlayout.xml, can be ordered switch the Settings defined in Administration UI.

Configurability

The default configuration of Left Menu / Topbar has to be parametrizable using JVM properties

Upgradability

No data upgrade should be needed on existing installations.

Existing Features

N/A

Feature Flags

N/A

Other Non Functional Requirements

N/A

3. Software Architecture

Security

The REST endpoints to configure the Left Menu and Topbar has to be accessible to Platform Administrators only.
The REST endpoint which will allow the user to change its preference will be accessible for the user itself only.

Access

A specific Left Menu and Topbar Rest endpoint has to be added in order to Read it (Allowed for all authenticated users) ans write it (Allowed for administrators only).
The usage of Setting Service will be preserved to store the user preference about Left Menu Behavior.

Services & processing

N/A

Data and persistence

The Left Menu and Topbar configuration will be stored using SettingService using a global context in order to make it editable by administrators only.

@Meeds-io Meeds-io deleted a comment from SAMBILI Sep 20, 2024
@Meeds-io Meeds-io deleted a comment Sep 20, 2024
@Meeds-io Meeds-io deleted a comment from SAMBILI Sep 20, 2024
@srenault-meeds srenault-meeds changed the title Spaces List from left menu Left Menu (Admin & UX/UI) Nov 12, 2024
@srenault-meeds srenault-meeds moved this from Draft to Open in MIP Board Nov 13, 2024
@srenault-meeds
Copy link
Member Author

Ready for functional review @margondicco

@srenault-meeds srenault-meeds moved this from Open to Submitted in MIP Board Nov 14, 2024
@margondicco
Copy link

Hello one question @srenault-meeds : does this MIP integrate changes to the space creation drawer?

@srenault-meeds
Copy link
Member Author

Yes, updated

@margondicco
Copy link

Good Go fonc !

@boubaker
Copy link
Member

Ready for review by Meeds DAO Members (eXo: @rdenarie )

@rdenarie
Copy link
Member

Go tech

@boubaker boubaker moved this from Submitted to Accepted in MIP Board Nov 18, 2024
@boubaker
Copy link
Member

Go tech

FYI @rdenarie I will avoid moving the UIs into layout addon to not loose History. Technical Spec changed consequently.

boubaker added a commit to Meeds-io/app-center that referenced this issue Nov 19, 2024
…eeds-io/MIPs#159

This change will add more information about Appcenter application added in topbar in order to allow displaying those information inside a Table in General Settings UI.
boubaker added a commit to Meeds-io/app-center that referenced this issue Nov 19, 2024
…eeds-io/MIPs#159 (#361)

This change will add more information about Appcenter application added in topbar in order to allow displaying those information inside a Table in General Settings UI.
boubaker added a commit to Meeds-io/meeds that referenced this issue Nov 19, 2024
… - Meeds-io/MIPs#159

This change will Move the Search Application definition to make it added in the same addon container as the other Topbar applications in order to allow configure its display order from General Settings UI.
boubaker added a commit to Meeds-io/meeds that referenced this issue Nov 19, 2024
… - Meeds-io/MIPs#159 (#2602)

This change will Move the Search Application definition to make it added
in the same addon container as the other Topbar applications in order to
allow configure its display order from General Settings UI.
exo-swf pushed a commit to Meeds-io/app-center that referenced this issue Nov 20, 2024
…eeds-io/MIPs#159 (#361)

This change will add more information about Appcenter application added in topbar in order to allow displaying those information inside a Table in General Settings UI.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…-7892 - Meeds-io/MIPs#159 (#4217)

This change will switch to icon mode when the resolution is under 1263
and more than 959 when the user had selected the 'STICKY' mode.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…MEED-7885 - Meeds-io/MIPs#159 (#4218)

This change will make the Platform logo displayed with the following
proportions:
- height is 36px min/max
- Width is 100px max
- 100% of the width must be displayed

In addition, the Burger icon size is reviewed to match the topbar icons
size:
- Burger icon font-size: 20px
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…#4219)

This change will reduce the Space avatar size to 28 instead of 36.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…m Topbar Settings - MEED-7889 - Meeds-io/MIPs#159 (#4220)

This change will ensure to display full company name and logo in
standalone sites independently from what is configured for shared layout
based sites.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…-io/MIPs#159 (#4222)

This change will allow to display page icon and title when it's defined
in Meta site rather than no display.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
)

This change will allow to display Site/Space icons and Company Logo all
time by changing Admin options labels and behabior in UI.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…Ps#159 (#4224)

Delete spaces link from Favorites Tab from Sidebar.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
 - Meeds-io/MIPs#159 (#4225)

This change will fix the passed parameter to distinguish whether the
External Users invitation using email is enabled or not.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…7875 - Meeds-io/MIPs#159 (#4227)

This change will allow to remove the inputs from layout addon which asks
the user to choose whether to display or not the Shared Layout for a
Site in addition to the fact to choose whether the site is displayed in
Sidebar or not, with its display order. Thus, with this change, the
Shared layout will be displayed automatically only when the Site is a
designated item added in the Sidebar configuration.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…7896 - Meeds-io/MIPs#159 (#4230)

Prior to this change, when the Notification Extensions are loaded in a
deferred way, the associated extension of a notification type didn't
refresh to get the right associated Notification Extension due to
missing Vue Listener on Vue Object attributes.
This change will force the refresh by introducing a listener event
triggered when the extensions list is refreshed.
In addition, a loading visual effect is added to notification button to
enhance user UX while opening the notifications Drawer.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…eeds-io/MIPs#159 (#4231)

This change will enhance the UX when browsing spaces from Sidebar by
disabling collapsing and expanding behavior on Space Templates.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…s-io/MIPs#159 (#4238)

This change will allow to change display order index of sites when
changing it in Sidebar configuration.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
…4245)

This change will introduce a new option to allow displaying or not
Spaces items in Side bar when user isn't member of spaces associated to
a given Space Template.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
Prior to this change, when an application is added to Topbar Addon Cotnainer without a fixed configured Id, then the application is added again in listed Topbar Applications each startup. This change ensures to fix the id by using the Application contentId if it's the case.
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
rdenarie pushed a commit to Meeds-io/social that referenced this issue Dec 9, 2024
Prior to this change, the target external link of sidebar items was all time 'NEW TAB Strategy' and without a 'rel' attribute. This change will fix the behavior of 'External Link Target' in addition to the Security fix of missing 'rel' attribute.
boubaker added a commit to exoplatform/chat-application that referenced this issue Dec 9, 2024
…s#159 (#785)

This change will add more information about Chat application added in topbar in order to allow displaying those information inside a Table in General Settings UI.
boubaker added a commit to exoplatform/jitsi that referenced this issue Dec 9, 2024
…ar Apps Addon Container - Meeds-io/MIPs#159 (#157)

Prior to this change, the Jitsi Conf Portlet was added in the container dedicated to apps with icons which makes an empty application displayed in Topbar configuration in Admin Site. This change will move the definition of Jitsi configuration portlet into a different dynamic container to avoid erronous UI issue.
boubaker added a commit to exoplatform/data-upgrade that referenced this issue Dec 9, 2024
…262)

Prior to this change, an Upgrade Plugin was used to reload Site Layout of global page from sources while this same Upgrade mechanism and configuration are already added in Meeds using the service io.meeds.social.upgrade.LayoutUpgradePlugin. This change will drop the useless Upgrade Plugin rather than maintain its code which was using a dropped API.
boubaker added a commit to exoplatform/ecms that referenced this issue Dec 9, 2024
boubaker added a commit to exoplatform/ecms that referenced this issue Dec 9, 2024
@boubaker
Copy link
Member

boubaker commented Dec 9, 2024

Merged to develop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment