Wp-calypso: Nav Unification - Main Issue

Created on 7 Sep 2020  ·  5Comments  ·  Source: Automattic/wp-calypso

Note: this Issue has been updated by @getdave to be focused on the work required to implement the final version of the nav unification project.

This Issue is organised into Issues for two phases of work:

  1. The Final version
  2. The Prototype (complete - archived).

With the completion of the prototype (see pbAPfg-VL-p2) phase only #1 is relevant. This is further broken down into the key sections that will need to be completed in order for the project to be put into Production.

Version 1 Tasks/Issues

The following sections represent the work that is necessary to be completed in order to launch the final version of the unified navigation. This is based on the sections identified by @Automattic/ajax as posted in pbAPfg-VL-p2. The aim is to provide an "at a glance" overview of where we are with the project at any given time.

As new issues are discovered please add them here and also check them off when complete.

🖼 Design

For v1 the visual appearance will be guided by "Nav Unification Project Design i2" - We aim to implement the "Nav Unification Project Design i2" which closely resembles core wp-admin. Future design explorations will be addressed in a v2 and/or will likely involve a core-first approach.

🙋🏽‍♂️ User Experience Issues

This section is for UX Issues which don't fit nicely into any other section.

  • [ ] [Implement conditionals for static fallback nav data](https://github.com/Automattic/wp-calypso/issues/45910).
  • [x] [Determine best UX route for managing menu section open/closed state](https://github.com/Automattic/wp-calypso/issues/46089)
  • [x] [Allow sidebar to be scrolled (while maintaining flyout menus) ](https://github.com/Automattic/wp-calypso/issues/46643)
  • [ ] [Transition from the site-switcher back to the menu animation](https://github.com/Automattic/wp-calypso/issues/47019)
  • [x] [(Re)position flyout menus based on available screen space ](https://github.com/Automattic/wp-calypso/issues/46094)
  • [x] [Fix menu-item active state](https://github.com/Automattic/wp-calypso/pull/46888)
  • [x] [Refine positioning of sidebar items so that they are 1:1 between calypso:wp-admin](https://github.com/Automattic/wp-calypso/issues/46797)
  • [x] [Nav Unification: Check domain notices](https://github.com/Automattic/wp-calypso/issues/46732)
  • [x] [Collapse Sidebar, like wp-admin does](https://github.com/Automattic/wp-calypso/issues/45962)
  • [ ] [Collapse Sidebar, keep the same state across wp-admin / calypso](https://github.com/Automattic/wp-calypso/issues/46645)
  • [x] [Clicking on sections causes UI to "jump" and triggers other sections to close](https://github.com/Automattic/wp-calypso/issues/46091).
  • [x] [Feedback: Allow Calypso to change menu icon color](https://github.com/Automattic/jetpack/pull/17290)
  • [ ] [Texturize menu titles before sending them through the API](https://github.com/Automattic/wp-calypso/issues/46877)
  • [ ] [Method to opt out of Calypso links](https://github.com/Automattic/wp-calypso/issues/47043).

🚀 Jetpack

All tasks relating to Jetpack green branded version of Calypso - https://cloud.jetpack.com/. Note that @davemart-in agreed extensive work on this should not form part of our version 1 launch.

  • [ ] Test that we have not visually broken "green Calypso".

🤖 🕵🏼‍♂️ Quality Assurance and Automated Testing Issues

Only for issues relating to ensuring ease of maintenance and error handling/reporting.

  • [ ] Add high-level e2e tests to validate expected Navigation behaviour across Calypso and WPAdmin.
  • [ ] [Fix admin-menu so that data layer only accepts numeric values for siteID](https://github.com/Automattic/wp-calypso/issues/45572)
  • [ ] [Handle admin-menu request errors via action dispatch in data layer ](https://github.com/Automattic/wp-calypso/issues/45585).
  • [ ] Add full unit test coverage for data-layer and state.
  • [ ] Add component integration tests for Nav Unification components.
  • [ ] Visual Regression Testing? Efforts in core https://github.com/WordPress/wordpress-develop/pull/209. See also p1604327788116600-slack-e2e-testing-discuss and https://github.com/Automattic/wp-e2e-tests/pull/1425.

🏎 Performance

This section is for Issues relating directly to work to improve the performance of the navigation on _both_ the front and backend.

  • [x] [Clicking on sections causes UI to "jump" and triggers other sections to close](https://github.com/Automattic/wp-calypso/issues/46091).
  • [ ] Add REST API endpoint caching.

🎓 WP on Atomic

This section is for Issues relating directly to work on making the navigation work on WoA.

  • [ ] [Move REST API code to Jetpack repo](https://github.com/Automattic/jetpack/pull/17629).

📚 Reader integration

This section is for Issues relating directly to work on the navigation shown in the Reader section.

  • [x] [Improve Reader sidebar markup](https://github.com/Automattic/wp-calypso/issues/46095)

👩🏽‍💼 Me integration

This section is for Issues relating directly to work on the navigation shown in the Me section.

🎨 Color Scheme Issues

This section is for Issues relating directly to work on Color schemes. For the approved direction please see https://github.com/Automattic/wp-calypso/issues/45675#issuecomment-714664414.

  • [x] [Make new colors available to customers ahead of nav unification launch](https://github.com/Automattic/wp-calypso/issues/47266)
  • [x] [Determine best way to match calypso scheme and wp-admin scheme colors](https://github.com/Automattic/wp-calypso/issues/47103)
  • [x] [add Classic Dark color scheme (default ready); prepare Classic Blue for default theme change](https://github.com/Automattic/wp-calypso/issues/47275)
  • [ ] [Port over WP Admin color schemes as new options in Calypso /me section](https://github.com/Automattic/wp-calypso/issues/47036).

    • [x] Ectoplasm - #47122

    • [x] Sunrise - #47171

    • [x] Ocean

    • [x] [Rename the Ocean color scheme to Aquatic; update user preferences accordingly](https://github.com/Automattic/wp-calypso/issues/47256)



      • [x] Phase 1 #47273


      • [x] Phase 2 D52536-code


      • [x] Phase 3 #47333



    • [ ] [Midnight - Update Calypso Midnight to match WP-Admin](https://github.com/Automattic/wp-calypso/issues/47597)

    • [x] Coffee - #47173

    • [x] Blue - #47204

    • [ ] Submenu highlight doesn't match; wp-admin only changes text to be brighter, calypso changes background

    • [x] Modern - #47208

    • [x] Light - #47209

    • Default - Not porting. Reference

    • Helper Issues

    • [x] Selected submenu color is chosen by variable #47291

    • [x] Submenu colors are controlled by variable #47249

    • [x] Flyout indicator arrow uses submenu background color #47250

    • [x] consolidate color-sidebar-menu-hover and -text variable #47294

    • [x] consolidate color-sidebar-menu-hover-heading-background with non-"heading" version #47300

    • Bugs

    • [ ] Ported wp-admin schemes issues on site selector badges #47295

    • [ ] Nav Unification: Site Switcher Loading Indicators are incorrect color #47303

  • [ ] [Hide option to select Admin Color Scheme in profile.php](https://github.com/Automattic/wp-calypso/issues/47037).

    • Waiting on a way to control features inside Atomic sites.

  • [ ] [Add note to WPAdmin profile.php page that points folks to the (new) respective setting in Calypso](https://github.com/Automattic/wp-calypso/issues/47038).

    • Waiting on a way to control features inside Atomic sites.

  • [ ] [Make Color Schemes apply account wide (not site-specific) across WPAdmin and Calypso (remove setting and have WPAdmin inherit from Calypso setting).](https://github.com/Automattic/wp-calypso/issues/47039)
  • [ ] [Add the necessary wp-admin styles to support all color schemes available in Calypso.](https://github.com/Automattic/wp-calypso/issues/47040)

    • [ ] Classic Bright

    • [ ] Classic Dark

    • [ ] Classic Blue

    • [ ] Nightfall

    • [ ] Sakura

    • [ ] Aquatic (i.e. former Calypso Ocean)

    • [ ] Sunset

    • [ ] Powder Snow

    • [ ] Contrast

  • [ ] [Ensure new color schemes apply to Gutenberg](https://github.com/Automattic/wp-calypso/issues/47371)

🚦Release Process

  • [ ] [Research internal testing mechanism for within A8c. How will this work without having ?flag=?](https://github.com/Automattic/wp-calypso/issues/47044)
  • [ ] [How to sync with Jetpack release process? What's the plan?](https://github.com/Automattic/wp-calypso/issues/47045)
  • [ ] [A / B testing - light touch research and confirmation as to whether possible. Can we A/B test nudges only?](https://github.com/Automattic/wp-calypso/issues/47046)
  • [ ] [Research incremental rollout mechanic and outline options.](https://github.com/Automattic/wp-calypso/issues/47047)
  • [ ] [We’ll also show a modal to customers the first time they log in to help orient them to the change.](https://github.com/Automattic/wp-calypso/issues/47049)
  • [ ] [Decision on incremental rollout target user groups.](https://github.com/Automattic/wp-calypso/issues/47050)
  • [ ] [Cleanup code after feature is fully released to 100% of users](https://github.com/Automattic/wp-calypso/issues/47051)

Documentation

  • [ ] Write Fieldguide entry on the Unified Navigation.

--------


Version 2 Issues

Following launch of an v1 of this project the following items are known to be issues that will need to be addressed as part of a v2:

  • [ ] Notices and Nudges - these don't work on WPAdmin.

--------


🗝️ (Old) Prototype Completed Issues

These items were completed during the Prototype phase of work.

  • [x] [Create data layer integration for /admin-menu endpoint](https://github.com/Automattic/wp-calypso/issues/45464)
  • [x] [Create Redux state tree for admin menu](https://github.com/Automattic/wp-calypso/issues/45465)
  • [x] [Update admin-menu reducer to be keyed by siteID](https://github.com/Automattic/wp-calypso/issues/45511)
  • [x] [Create selectors to retrieve admin-menu data from state](https://github.com/Automattic/wp-calypso/issues/45466)
  • [x] [Decide on sidebar menu fallback experience and implement](https://github.com/Automattic/wp-calypso/issues/45487)
  • [x] [Render my-sites sidebar from data off the /admin-menu endpoint](https://github.com/Automattic/wp-calypso/pull/45531)
  • [x] [Persist menu state to browser storage to ensure quicker render of menu](https://github.com/Automattic/wp-calypso/issues/45876).
  • [x] [Nav Unification - create visual "loading" state for the menu](https://github.com/Automattic/wp-calypso/issues/45830).
  • [x] Reuse existing Nav components where possible ensuring standards compliant markup.
  • [x] [Refactor Unified Nav to expect API to return data as array](https://github.com/Automattic/wp-calypso/issues/45868)

  • [x] [Fix HTML entities shown in menu items](https://github.com/Automattic/wp-calypso/issues/45914).

  • [x] Calypso: Clicking Nav items doesn’t correctly navigate to route. #45973
  • [x] Calypso: Top level menu items don’t link they only “unfold” the sub menus. #45963
  • [x] API: Testimonials menu item missing from API response - D50275-code
  • [x] wp-admin: Include stats “graph” image in stats menu item - D50280-code
  • [x] wp-admin: Currently selected site icon - use correct SVGs (p1601306196200900-slack-CJS75TX3R) #45965
  • [x] wp-admin: Flag persistence missing - D50310-code

  • [x] [Nav Unification: Left Nav submenu hover / active](https://github.com/Automattic/wp-calypso/issues/45676)

  • [x] [Fix layout "jumps" in sidebar as new items load](https://github.com/Automattic/wp-calypso/issues/45987).
  • [x] [Update Ad Control to AdControl in static admin menu data](https://github.com/Automattic/wp-calypso/issues/45995).
  • [x] [Multiple admin menu items in "selected" state](https://github.com/Automattic/wp-calypso/issues/46039).
Navigation [Team] AJAX

Most helpful comment

I've updated the description of this Issue to catalogue the required work remaining to be able to launch the nav unification feature across WordPress.com.

All 5 comments

I've updated the Issue with a list of sub tasks as I see them. Please feel free to amend.

@Automattic/ajax Please note that as of this merge https://github.com/Automattic/wp-calypso/commit/ebde236ec9b21ea9621c0b0523bd5ea185523731, we are now persisting adminMenu state to IndexDB. Therefore any changes to the _shape_ of the data coming back from the REST API endpoint needs to be updated in the corresponding schema.js file.

I'd recommend a quick read up on this documentation to ensure you're up to speed.

I added r214400-wpcom to WPCom API which adds comments which attempts to make devs aware of this when changing the API endpoint.

I've updated the description of this Issue to catalogue the required work remaining to be able to launch the nav unification feature across WordPress.com.

@Automattic/ajax FYI I added a Version 2 Issues section to this Issue to track any items that have been removed from v1 on the grounds of scope. Please move items there as required.

FYI added the following decision (see https://github.com/Automattic/wp-calypso/issues/45675#issuecomment-724604005) to the issue to make sure we're all on the same page:

🖼 Design

For v1 the visual appearance will be guided by "Nav Unification Project Design i2" - We aim to implement the "Nav Unification Project Design i2" which closely resembles core wp-admin. Future design explorations will be addressed in a v2 and/or will likely involve a core-first approach.

Was this page helpful?
0 / 5 - 0 ratings