Skip to content

Create enhanced settings UI#2968

Closed
ajello-meta wants to merge 10 commits intomainfrom
admin_enhanced_settings
Closed

Create enhanced settings UI#2968
ajello-meta wants to merge 10 commits intomainfrom
admin_enhanced_settings

Conversation

@ajello-meta
Copy link
Copy Markdown
Contributor

@ajello-meta ajello-meta commented Mar 26, 2025

Description

This PR introduces the enhanced setting UI for the Facebook for WooCommerce extension. The Figma file is here: https://www.figma.com/design/nbWb6IZJsnMqQO2tRZoT9U/SAOff-WooCommerce?t=KUCfVKTqhv0KhfJx-0

We have created a new Enhanced_Settings.php to ensure that (1) our changes are gated clearly from the legacy UI and (2) the code is maintainable as new tabs get added to the enhanced settings UI.\

Followup: We need to create the data syncing and debugging dropdown.
Followup: We need to add in the "Utility messaging" tab.
Followup: We need to remove the "Product sync" and "Product sets" tabs..

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Screenshots

Splash Page:
Screenshot 2025-03-26 at 5 31 02 PM

Shops Page:
Screenshot 2025-03-26 at 5 30 25 PM

Video Demo:
https://github.com/user-attachments/assets/f89ab304-1de3-4ebf-ada7-484eea58243c

Test instructions

  1. Set use_enhanced_onboarding() in facebook-for-woocommerce/facebook-commerce.php to true.
  2. Go to http://test-site-i.local/wp-admin/admin.php?page=wc-facebook. Make sure you are in the "Shops" tab. You should see the splash page if you have not connected your WooCommerce to Meta. If you have an existing connection, you should see the shops page.

@facebook-github-bot
Copy link
Copy Markdown
Contributor

@ajello-meta has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Copy Markdown
Contributor

@ajello-meta has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Copy Markdown
Contributor

@ajello-meta merged this pull request in 4bd99e6.

carterbuce added a commit to carterbuce/facebook-for-woocommerce that referenced this pull request Mar 28, 2025
SayanPandey pushed a commit to SayanPandey/facebook-for-woocommerce that referenced this pull request Apr 1, 2025
Summary:
## Description
This PR introduces the enhanced setting UI for the Facebook for WooCommerce extension. The Figma file is here: https://www.figma.com/design/nbWb6IZJsnMqQO2tRZoT9U/SAOff-WooCommerce?t=KUCfVKTqhv0KhfJx-0

We have created a new `Enhanced_Settings.php` to ensure that (1) our changes are gated clearly from the legacy UI and (2) the code is maintainable as new tabs get added to the enhanced settings UI.\

**Followup**: We need to create the data syncing and debugging dropdown.
**Followup**: We need to add in the "Utility messaging" tab.
**Followup**: We need to remove the "Product sync" and "Product sets" tabs..

### Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

## Screenshots
Splash Page:
<img width="1727" alt="Screenshot 2025-03-26 at 5 31 02 PM" src="https://github.com/user-attachments/assets/08be560e-1d49-4c7b-90af-fa7532518ef2" />

Shops Page:
<img width="1727" alt="Screenshot 2025-03-26 at 5 30 25 PM" src="https://github.com/user-attachments/assets/9b4e033b-a9a0-41ec-b848-ebffbf87c719" />

Video Demo:
https://github.com/user-attachments/assets/f89ab304-1de3-4ebf-ada7-484eea58243c

## Test instructions
1. Set `use_enhanced_onboarding()` in `facebook-for-woocommerce/facebook-commerce.php` to `true`.
2. Go to http://test-site-i.local/wp-admin/admin.php?page=wc-facebook. You should see the splash page if you have not connected your WooCommerce to Meta. If you have an existing connection, you should see the shops page.

Pull Request resolved: facebook#2968

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V2
https://internalfb.com/intern/testinfra/testrun/5348024829787524
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V2
https://internalfb.com/intern/testinfra/testrun/2251800089011455

Reviewed By: sol-loup

Differential Revision: D71875456

Pulled By: ajello-meta

fbshipit-source-id: 4e2a5c894881a9cd303eb5953eb9d49fa849e79b
mradmeta pushed a commit that referenced this pull request Apr 14, 2025
Summary:
## Description
This PR introduces the enhanced setting UI for the Facebook for WooCommerce extension. The Figma file is here: https://www.figma.com/design/nbWb6IZJsnMqQO2tRZoT9U/SAOff-WooCommerce?t=KUCfVKTqhv0KhfJx-0

We have created a new `Enhanced_Settings.php` to ensure that (1) our changes are gated clearly from the legacy UI and (2) the code is maintainable as new tabs get added to the enhanced settings UI.\

**Followup**: We need to create the data syncing and debugging dropdown.
**Followup**: We need to add in the "Utility messaging" tab.
**Followup**: We need to remove the "Product sync" and "Product sets" tabs..

### Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

## Screenshots
Splash Page:
<img width="1727" alt="Screenshot 2025-03-26 at 5 31 02 PM" src="https://github.com/user-attachments/assets/08be560e-1d49-4c7b-90af-fa7532518ef2" />

Shops Page:
<img width="1727" alt="Screenshot 2025-03-26 at 5 30 25 PM" src="https://github.com/user-attachments/assets/9b4e033b-a9a0-41ec-b848-ebffbf87c719" />

Video Demo:
https://github.com/user-attachments/assets/f89ab304-1de3-4ebf-ada7-484eea58243c

## Test instructions
1. Set `use_enhanced_onboarding()` in `facebook-for-woocommerce/facebook-commerce.php` to `true`.
2. Go to http://test-site-i.local/wp-admin/admin.php?page=wc-facebook. You should see the splash page if you have not connected your WooCommerce to Meta. If you have an existing connection, you should see the shops page.

Pull Request resolved: #2968

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V2
https://internalfb.com/intern/testinfra/testrun/5348024829787524
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V2
https://internalfb.com/intern/testinfra/testrun/2251800089011455

Reviewed By: sol-loup

Differential Revision: D71875456

Pulled By: ajello-meta

fbshipit-source-id: 4e2a5c894881a9cd303eb5953eb9d49fa849e79b
facebook-github-bot pushed a commit that referenced this pull request Apr 18, 2025
Summary:
## Description
This PR removes unused code in `Connection.php` that related to enhanced onboarding. In #2968, we introduced the enhanced settings UI, which completely revamped all extension settings using `Enhanced_Settings.php`. The logic that was deleted here is available in `Shops.php`.

### Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Syntax change (non-breaking change which fixes code modularity, linting or phpcs issues)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Pull Request resolved: #3071

Test Plan:
1. Go to `http://test-site-i.local/wp-admin/admin.php?page=wc-facebook`. Make sure you are seeing the legacy setting UI.
2. Go to the "Connection" tab and test the functionality. Make sure to test the UI in both the connected state and non-connected state.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/1125900319629707
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/12947849007730003

Reviewed By: jczhuoMeta

Differential Revision: D73272875

Pulled By: ajello-meta

fbshipit-source-id: 2a6f3bf6cd96a1260d966b2ac0459863b388038a
mradmeta pushed a commit that referenced this pull request Apr 19, 2025
Summary:
## Description
This PR removes unused code in `Connection.php` that related to enhanced onboarding. In #2968, we introduced the enhanced settings UI, which completely revamped all extension settings using `Enhanced_Settings.php`. The logic that was deleted here is available in `Shops.php`.

### Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Syntax change (non-breaking change which fixes code modularity, linting or phpcs issues)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Pull Request resolved: #3071

Test Plan:
1. Go to `http://test-site-i.local/wp-admin/admin.php?page=wc-facebook`. Make sure you are seeing the legacy setting UI.
2. Go to the "Connection" tab and test the functionality. Make sure to test the UI in both the connected state and non-connected state.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/1125900319629707
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/12947849007730003

Reviewed By: jczhuoMeta

Differential Revision: D73272875

Pulled By: ajello-meta

fbshipit-source-id: 2a6f3bf6cd96a1260d966b2ac0459863b388038a
mradmeta pushed a commit to mradmeta/facebook-for-woocommerce that referenced this pull request Apr 22, 2025
Summary:
## Description
This PR removes unused code in `Connection.php` that related to enhanced onboarding. In facebook#2968, we introduced the enhanced settings UI, which completely revamped all extension settings using `Enhanced_Settings.php`. The logic that was deleted here is available in `Shops.php`.

### Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Syntax change (non-breaking change which fixes code modularity, linting or phpcs issues)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Pull Request resolved: facebook#3071

Test Plan:
1. Go to `http://test-site-i.local/wp-admin/admin.php?page=wc-facebook`. Make sure you are seeing the legacy setting UI.
2. Go to the "Connection" tab and test the functionality. Make sure to test the UI in both the connected state and non-connected state.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/1125900319629707
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/12947849007730003

Reviewed By: jczhuoMeta

Differential Revision: D73272875

Pulled By: ajello-meta

fbshipit-source-id: 2a6f3bf6cd96a1260d966b2ac0459863b388038a
@carterbuce carterbuce mentioned this pull request May 29, 2025
@tzahgr tzahgr mentioned this pull request Jun 4, 2025
facebook-github-bot pushed a commit that referenced this pull request Jun 4, 2025
Summary:
= 3.5.0 - 2025-05-28 =
*  Add - Create basic checkout permalink w/ products and coupon support by ajello-meta in #2887
*  Add - Common Feed Upload Framework by Jmencab in #2875
*  Fix - Fix bug where templates were not loading correctly by ajello-meta in #2915
*  Tweak - Change MICE to use base site url instead of shop url by carterbuce in #2934
*  Tweak - Improve custom checkout UI by ajello-meta in #2930
*  Tweak - Make custom checkout UI mobile compatible by ajello-meta in #2942
*  Fix - Update parsing for Checkout URL Product IDs by carterbuce in #2935
*  Add - Implement dummy logging util by nealweiMeta in #2920
*  Add - Setup cron job for batch logging with global message queue by nealweiMeta in #2924
*  Add - Error log request api activate by nealweiMeta in #2933
*  Add - Log locally with debug mode enabled by nealweiMeta in #2939
*  Add - Ratings and reviews feed upload by nrostrow-meta in #2937
*  Tweak - Feed upload skip logic and logging calls by nrostrow-meta in #2964
*  Add - Add function to fetch feed upload instance by nrostrow-meta in #2970
*  Tweak - Have feed uploads always use feed generator by nrostrow-meta in #2971
*  Tweak - Trigger metadata feed uploads on CPI ID change (post onboarding) by nrostrow-meta in #2995
*  Add - Shipping profile feed upload button by nrostrow-meta in #3140
*  Add - Navigation menu feed upload logic by nrostrow-meta in #3159
*  Fix - Fixing some fclose and logging gaps in the feed upload logic by nrostrow-meta in #3192
*  Add - Enabling navigation menu feed upload and adding manual sync button by nrostrow-meta in #3223
*  Add - Promotions feed upload by carterbuce in #2941
*  Add - Plugin AJAX API Framework by sol-loup in #2928
*  Tweak - Test Infrastructure Enhancement by sol-loup in #2944
*  Add - Implement telemetry logs api by nealweiMeta in #2940
*  Fix -  Make error logging event configurable by nealweiMeta in #2954
*  Add - Implement logging toggle by nealweiMeta in #2959
*  Fix - auto products sync by nealweiMeta in #2978
*  Tweak - Sync products with restriction by nealweiMeta in #2983
*  Fix - Fix use_enhanced_onboarding for legacy connections by carterbuce in #2986
*  Add - Create enhanced settings UI by ajello-meta in #2968
*  Add - Create new troubleshooting drawer from legacy debug settings by ajello-meta in #2977
*  Add - Add manual product and coupon sync buttons by ajello-meta in #2984
*  Tweak - Make page title in enhanced settings static by ajello-meta in #2985
*  Tweak - Align finalized content for logging toggle by nealweiMeta in #2992
*  Tweak - Improve local log by nealweiMeta in #3009
*  Fix - Fix free shipping coupon sync by carterbuce in #2993
*  Tweak - Add logging for feed generation scheduling failure by carterbuce in #2994
*  Tweak - Add logging in checkout for coupon code by ajello-meta in #2991
*  Tweak - Clean up CSS in enhanced settings UI by ajello-meta in #2996
*  Tweak - Remove the "Advertise" tab by ajello-meta in #3024
*  Tweak - Sync "Usage Count" in Promos Feed by carterbuce in #3036
*  Tweak - Disable mini_shops product capability for unsupported items by carterbuce in #3084
*  Add - Add usage logging for enhanced settings tabs by ajello-meta in #3202
*  Tweak - Remove UI of a checkbox that controls enablement of the new style feed generation by mshymon in #3056
*  Fix - Fix linter errors for ./includes/fbutils.php files by ajello-meta in #3075
*  Fix - Hotfix for Rollout Switches by vinkmeta in #3236
*  Add - Opt out sync experience. by SayanPandey in #3220
*  Fix - Added a transient flag to avoid flooding of product set api requests by vinkmeta in #3245
*  Fix - Additional check for the opt-out banner by SayanPandey in #3259
*  Fix - Bump up GraphAPI version to 21 by vahidkay-meta in #3219
*  Fix - fix linter errors for ./class-wc-facebookcommerce.php by ajello-meta in #3255
*  Fix - fix linter errors for ./facebook-commerce-events-tracker.php by ajello-meta in #3254
*  Fix - fix linter errors for ./includes/Admin/Settings_Screens/Advertise.php by ajello-meta in #3237
*  Fix - fix linter errors for ./includes/Admin/Settings_Screens/Product_Sync.php by ajello-meta in #3239
*  Fix - fix function return typing for get_settings() by ajello-meta in #3257
*  Tweak - Addition check for opt out by SayanPandey in #3259
*  Tweak - Update the GraphAPI version to 21 by vahidkay-meta in #3219
*  Fix - Enabled rollout switch only for plugin admins by vinkmeta in #3242
*  Add - reset connection functionality by jczhuoMeta in #3262
*  Fix - fixing the non static method called as static issue by SayanPandey in #3263
*  Fix - Fix linter errors for ./facebook-commerce.php by ajello-meta in #3251

Pull Request resolved: #3264

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V7
https://internalfb.com/intern/testinfra/testrun/10414574226197703
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V7
https://internalfb.com/intern/testinfra/testrun/844425351364266

Reviewed By: vinkmeta, nrostrow-meta

Differential Revision: D75569981

Pulled By: carterbuce

fbshipit-source-id: 11bb39a9d66dfcbc80af413466feef0792d27ce4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants