Add the new Navigation to core as an Experimental module

Created on 5 April 2024, about 2 months ago
Updated 23 May 2024, about 12 hours ago

Problem/Motivation

Add a new Administrative Navigation Toolbar in core being current worked in the Navigation โ†’ contrib module after proposing ๐ŸŒฑ Improve administration navigation Active .

Proposed resolution

Add the new Navigation Toolbar in core as beta. The Roadmap to Stable can be found at ๐ŸŒฑ [PLAN] New Toolbar Roadmap: Path to Beta & Stable Active .

We tested and validated ๐ŸŒฑ [PLAN] Usability Testing and Research on the Toolbar Active a left, vertical toolbar because it performs better with large or complex menus ๐Ÿ“Œ Redesign the toolbar Active like the one we use for Drupalโ€™s administration interface.

This left vertical toolbar can be collapsed to take less horizontal space on the desktop, allowing it to navigate through icons predefined for first level items, chosen from the extensive open-source library Phosphor.

The sub-menus open on a drawer on the right of the main toolbar on the desktop when the first level item is hovered to provide a quick navigation between the main sections. The region opens on top of the content and takes the full height of the viewport. Inside it, deeper navigation levels can be opened by clicking, up to 2 extra levels to accommodate complex information architectures and contrib module additions on deeper levels. On smaller viewports, the toolbar is placed on top of the content, and opens with an overlay.

We provide a default Drupal logo at the top of the toolbar that can be replaced or hidden to allow for extra customization. At the bottom of the toolbar, where the collapse button leaves, are also placed necessary items that arenโ€™t accessed that often: the user menu and the Help. If the content of the toolbar is too tall for the viewport, the toolbar footer will also stay fixed at the bottom to provide the ability to collapse or open the toolbar.

Weโ€™re implementing a new design system that will eventually be used by the whole administration UI. It uses an updated look and feel, but more importantly it defines layers of abstraction that will allow the UI to be more customizable. The code will allow specific features like dark mode, density or predefined palettes to be easily overridable. We are not doing that in Claro because the complexity it'd entail is beyond the scope of the Navigation

The main feature the new navigation will provide is the ability to create and place new navigation blocks into the toolbar through the UI, so site builders can easily customize their administration. These navigation blocks can be reorganized and removed, and even show a block label if necessary.

Navigation blocks are implemented as plugins (using the NavigationBlock attribute), very similar to Blocks. The difference is intentional as the use and placement of navigation blocks is limited to only the navigation bar. While just using Blocks here was considered, the constraints of the new navigation bar mean most existing blocks are not a good fit. Implementers need to be keenly aware of the constraints in creating new navigation block plugins. However, being that navigation blocks were closely modeled on blocks, it should be fairly straightforward for developers wishing to extend the functionality of the navigation bar to do so.

The navigation module ships with three navigation block plugins out of the box. A shortcut navigation block shows a user's currently configured shortcuts, with links to the relevant admin pages to make changes. A user navigation block shows the users name and links to view/edit profile and logout. Finally a system menu navigation block exposes all menus as a navigation block, using a deriver on the plugin.
Navigation blocks are config entities. An instance of a navigation_block config entity is created whenever a site administrator uses the Navigation block UI (found under Configuration > User interface > Navigation blocks) to configure the placement of a navigation block, much like the Block layout UI. Accessing the Navigation blocks UI is restricted by the โ€˜administer navigation_blockโ€™ permission.

Content creation menu

The new content creation menu is a new menu provided by the navigation that allows a quick access to content-related tasks to increase usability for content users. The results of the users' tests proved it being a useful tool for this persona, specially moving the quick access to create different kinds of entities to a first level that doesnโ€™t require navigating to another page. For the beta release weโ€™re providing a set of predefined options that can be customized on the menu itself.

Top Bar

This feature is under active development and is hidden behind a flag in admin/config/user-interface/navigation/settings. Disabled by default, its goal will be to provide the rest of the contextual actions needed to improve the UI that the actual Navigation canโ€™t accommodate. Some of its future additions can be seen on the new navigation Roadmap.

Remaining tasks

The tasks initially tagged as Beta blockers have been closed. Any new issue found and listed as Beta blocker โ†’ .

User interface changes

The existing to black Toolbar will be replaced by a new light left vertical toolbar that allows navigation into submenus through a drawer area.

API changes

  • New NavigationBlock (navigation_block) config entity defined. See Drupal\navigation\Entity\NavigationBlock.
  • New plugin type, โ€˜NavigationBlockโ€™. See Drupal\navigation\Attribute\NavigationBlock.

Data model changes

@todo

Release notes snippet

The Navigation module provides a redesigned left-aligned, collapsible, vertical sidebar navigation for the administration UI. Sub-menus open on a full height drawer that accommodate deeper navigation levels. On smaller viewports, the toolbar is placed on top of the content, and opens with an overlay.
The Navigation module provides multiple customization options like adding new custom menus or chaging the default Drupal logo provided.
The menu blocks can be added and reordered through the UI thanks to Layout Builder, so site builders can easily customize their administration. The navigation module ships with a new Content creation and management menu that allows quick access to content-related tasks to increase usability for content users.

โœจ Feature request
Status

Fixed

Version

10.3 โœจ

Component
Toolbarย  โ†’

Last updated about 11 hours ago

  • Maintained by
  • ๐Ÿ‡ซ๐Ÿ‡ทFrance @nod_
Created by

๐Ÿ‡ช๐Ÿ‡ธSpain ckrina Barcelona

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.69.0 2024