Skip to content

Conversation

jeherve
Copy link
Member

@jeherve jeherve commented Jun 28, 2023

Proposed changes:

This fixes issues on WoA sites and WordPress.com Simple sites, where when the new dashboard is enabled, the navigation menu (under Tools > Advertising) is added by the package, while the old Calypso link is also added, via the masterbar.

To solve this problem, we rely on the package, and only the package, to register the menu. We do point WoA and simple site owners to the Calypso advertising page (and not the wp-admin advertising page) at all times, since they have nav-unification on and are logged in to WordPress. com at all times.

This PR also changes the order of the new menu added by the package, to ensure it's always added at the top of the Tools menu.

Other information:

  • Have you written new tests for your changes, if applicable?
  • Have you checked the E2E test CI results, and verified that your changes do not break them?
  • Have you tested your changes on WordPress.com, if applicable (if so, you'll see a generated comment below with a script to run)?

Jetpack product discussion

  • p1687955577164529/1687894794.905929-slack-C053FAERCDP

Does this pull request change what data or activity we track or use?

  • No

Testing instructions:

You'll want to test this on all three site types (WoA, Simple, self-hosted).

  • On WoA sites, you should see a Tools > Advertising menu item pointing you to Calypso at all times.
  • On Simple sites, you should see a Tools > Advertising menu item pointing you to Calypso at all times.
  • On self-hosted sites, you should not see any Tools > Advertising menu item by default.
    • If you enable the Blaze feature under Jetpack > Settings > Traffic, you should still see no new menu item.
    • If you enable the Blaze dashboard with add_filter( 'jetpack_blaze_dashboard_enable', '__return_true' );, you should see a new menu item, pointing you to the wp-admin advertising page.

This fixes issues on WoA sites and WordPress.com Simple sites, where when the new dashboard is enabled, it is added by the package while the old Calypso link is also added in the masterbar.
@jeherve jeherve added [Type] Bug When a feature is broken and / or not performing as intended [Status] In Progress [Pri] Normal [Feature] Masterbar WordPress.com Toolbar and Dashboard customizations nav-unification [Package] Blaze labels Jun 28, 2023
@jeherve jeherve self-assigned this Jun 28, 2023
@github-actions github-actions bot added the [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ label Jun 28, 2023
@github-actions
Copy link
Contributor

Thank you for your PR!

When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:

  • ✅ Include a description of your PR changes.
  • ✅ All commits were linted before commit.
  • ✅ Add a "[Status]" label (In Progress, Needs Team Review, ...).
  • ✅ Add testing instructions.
  • ✅ Specify whether this PR includes any changes to data or privacy.
  • ✅ Add changelog entries to affected projects

This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖


The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available.


Once your PR is ready for review, check one last time that all required checks (other than "Required review") appearing at the bottom of this PR are passing or skipped.
Then, add the "[Status] Needs Team Review" label and ask someone from your team review the code. Once reviewed, it can then be merged.
If you need an extra review from someone familiar with the codebase, you can update the labels from "[Status] Needs Team Review" to "[Status] Needs Review", and in that case Jetpack Approvers will do a final review of your PR.


Jetpack plugin:

  • Next scheduled release: July 5, 2023.
  • Scheduled code freeze: June 26, 2023.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 28, 2023

Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.

  • To test on WoA, go to the Plugins menu on a WordPress.com Simple site. Click on the "Upload" button and follow the upgrade flow to be able to upload, install, and activate the Jetpack plugin. Once the plugin is active, go to Jetpack > Jetpack Beta > Jetpack and enable the update/blaze-menu-masterbar branch.

  • To test on Simple, run the following command on your sandbox:

    bin/jetpack-downloader test jetpack update/blaze-menu-masterbar
    

Interested in more tips and information?

  • In your local development environment, use the jetpack rsync command to sync your changes to a WoA dev blog.
  • Read more about our development workflow here: PCYsg-eg0-p2
  • Figure out when your changes will be shipped to customers here: PCYsg-eg5-p2

@jeherve jeherve added [Status] Needs Review This PR is ready for review. and removed [Status] In Progress labels Jun 28, 2023
@jeherve jeherve requested a review from sbarbosa June 29, 2023 13:56
sbarbosa
sbarbosa previously approved these changes Jun 29, 2023
Copy link
Contributor

@sbarbosa sbarbosa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested in simple/atomic and self-hosted sites, and the menu option always pointed to the correct place. (wpcom for simple/atomic, and new dashboard for self-hosted).

The code looks good 👍

// performance settings already have a link to Page Optimize settings page.
$this->hide_submenu_page( 'options-general.php', 'page-optimize' );

if ( Blaze::should_initialize() ) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked and this code is now inside the Blaze package. This means that the Advertising menu will appear only if the Blaze module is enabled. Right?

I think it is already like this right now, you are just moving this code to the blaze package.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's correct, yes.

@sbarbosa
Copy link
Contributor

One more question @jeherve, after we merged/deployed this change. Would it be a way to test the Blaze Dashboard on atomic sites?
I just want to know how can we proceed with the testing after this. Thanks!

@jeherve jeherve added [Status] In Progress and removed [Status] Needs Review This PR is ready for review. labels Jun 29, 2023
@jeherve
Copy link
Member Author

jeherve commented Jun 29, 2023

Would it be a way to test the Blaze Dashboard on atomic sites?
I just want to know how can we proceed with the testing after this. Thanks!

That's a very good point, and something I should have addressed in this PR. Since the menu is not registered on WordPress.com sites, you cannot and should not be able to get to it. Right now you still can, via the quick links in the posts list, or via the post-publish panel. I'll get this fixed.

We want to be able to test the new Dashboard on WoA if we want to, by supplying the jetpack_blaze_dashboard_enable filter.
@jeherve jeherve added [Status] Needs Review This PR is ready for review. and removed [Status] In Progress labels Jun 29, 2023
@jeherve jeherve merged commit 102b127 into trunk Jul 3, 2023
@jeherve jeherve deleted the update/blaze-menu-masterbar branch July 3, 2023 15:38
@github-actions github-actions bot added this to the jetpack/12.3 milestone Jul 3, 2023
@github-actions github-actions bot removed the [Status] Needs Review This PR is ready for review. label Jul 3, 2023
@samiff samiff modified the milestones: jetpack/12.3, jetpack/12.4 Jul 4, 2023
jeherve added a commit that referenced this pull request Jul 27, 2023
This is a follow-up to #31617 and #31750.

We now have Blaze::enable_blaze_menu() to add the Blaze menu to wp-admin whenever necessary. However, Jetpack sites still rely on the admin-menu endpoint to display a list of custom menu items in Calypso. There, we'll want to always display the Tools > Advertising menu item, as long as the site is eligible for Blaze.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Masterbar WordPress.com Toolbar and Dashboard customizations nav-unification [Package] Blaze [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ [Pri] Normal [Tests] Includes Tests [Type] Bug When a feature is broken and / or not performing as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants