wc-plugin-framework icon indicating copy to clipboard operation
wc-plugin-framework copied to clipboard

Create Onboarding Component

Open ChaseWiseman opened this issue 9 years ago • 0 comments

One aspect of the plugin experience that I think can always be improved is onboarding. That space between when the user clicks "Activate" and has a fully configured plugin has a huge impact on how they perceive the plugin's quality as a whole.

I'd like to introduce some building blocks that plugins can leverage to standardize the post-installation experience and just make things a little more pleasant for new users. The initial items to tackle will be:

Framework the "Welcome" Notice

Add standard "Almost ready! Connect to xyz" and/or "read the docs" notices after activation for plugins to use. Also let these be completely overridden when necessary.

Connection Credentials UI

For plugins that require API communication to function fully. Moved from #130

  • [ ] Require action before any other plugin settings are available
  • [ ] Credentials need to be explicitly edited to change, separate from other on-page settings inputs. Click an Edit button or link to make changes.
  • [ ] Status check/indicator. For APIs that support some type of ping, add a "green light" to let users know that things are a-okay. Possibly also include this in the system status report. {BR 2017-01-12} Even if we don't do a green light, an error notice to double-check credentials would be great. This ZD thread is a perfect example of something that would benefit from a low-impact API ping.

Reusable UI Elements

Create standard settings elements that go beyond WooCommerce's set of inputs.

  • [ ] "Sync" buttons + handling
  • [ ] Address input set - single setting a la AvaTax

Step-by-step setup?

Maybe a little complex for right now, but down the road it'd be nice to allow plugins to define setup steps, like WooCommerce core's new welcome screen but on the plugin settings page.

All of this should of course be optional, flexible, and not too overbearing as many plugins have their own unique configuration requirements.

ChaseWiseman avatar Jun 02 '16 20:06 ChaseWiseman