Meeds-io / MIPs

The Meeds Improvement Proposal repository
0 stars 0 forks source link

feat: Breadcrumb portlet #87

Closed margondicco closed 10 months ago

margondicco commented 1 year ago

Rationale

A new portlet in order to display dynamically the navigation nodes tree of a standalone site.

1. Functional Requirements

image

image

If more than 4 nodes, the second and the third items are ellipsed.

Example: Root > ... > Node 3 > Node 4

When hovering the ellipsis, then I have a tooltip displaying the Node 2 with ability to click on, it so we can directly access it (if the node is binded with a page or link)

If the root node is a group node, the first sub node linked with a page or a link (that the user can view) is opened.

Other specific requirements

Category of the Breadcrumb portlet : Navigation Name of the Breadcrumb portlet : breadcrumb OR (better) a template of a generic portlet "navigation portlet".

2. Software Architecture

Access

A new vue portlet called Breadcrumb should be implemented in social Meeds module.

Services & processing

NavigationRest service will be updated with the method:

GET: /v1/navigations/node (getSiteNavigationNode): This service will retrieve a node with the nodeName and the siteName (or with the nodeId) and will need expandBreadcrumb param in order to retrieve the breadcrumb of the node.

margondicco commented 1 year ago

@azayati for technical update : the UI/UX of the breadcrumb is very close of the breadcrumb of the document application.

To have a long-term vision and make the right technical choices :

We have several portlets with the same functional goals: top bar menu, analytics breadcrumb, this new portlet and the tree in the level 2 of the left navigation

The ideal situation would be to have a single portlet associated with different models and properties. And we could plan to create versions of portlets with predefined configurations

Example:

A generic navigation portlet 3 templates available: horizontal breadcrumb menu, currently called the top bar menu, and the vertical menu. For each model, you can choose properties such as icon display, etc.

Finally, the administrator can create a breadcrumb application based on a predefined configuration of the navigation portlet with the breadcrumb template and the icon display property set to false.

margondicco commented 1 year ago

cc @srenault-meeds to review

srenault-meeds commented 1 year ago

a popup displays the label of the node A tooltip, not a popup (I know these are details but well, this is only to make sure)

navigation in the breadcrumb To have a better UX, can we make sure that following are considered?

  • If more than 4 nodes, then second and third item are ellipsed Example: Root > ... > Node 3 > Node 4
  • And when hovering the ellipsis, then I have a tooltip displaying the Node 2 with ability to click to it so we can directly access it
  • WDYT?

+1 for a generic portlet. Not interesting to have different portlet for a generic use case

margondicco commented 1 year ago

Description updated

srenault-meeds commented 1 year ago

Go-Fonc

azayati commented 1 year ago

We have several portlets with the same functional goals: top bar menu, analytics breadcrumb, this new portlet and the tree in the level 2 of the left navigation

I'm not sure/ok that the functionnal role of the breadcrumbs portlet is the same as the vertical site navigation portlet and the current site top bar navigation portlet. The breadcrumbs portlet displays the tree of the current node only, but the others display the whole site tree. cc @margondicco @srenault-meeds @rdenarie

azayati commented 1 year ago

If more than 4 nodes, then second and third item are ellipsed Example: Root > ... > Node 3 > Node 4

@srenault-meeds @margondicco when we have for example 7 sub nodes, it is always only the second and third nodes which should be ellipsed ?

margondicco commented 1 year ago

Hello my proposal

image

As we do in the doc app :

we display the root node, the current node and its parent node.

srenault-meeds commented 1 year ago

This is it

azayati commented 1 year ago

@boubaker Go tech needed cc @rdenarie

boubaker commented 1 year ago

@boubaker Go tech needed

you mean ready for review, ok thanks will take a look at it

boubaker commented 1 year ago

ok for me

azayati commented 10 months ago

PR ready for review & Mips ACC updated:

boubaker commented 10 months ago

PRs approved