[wp-trac] [WordPress Trac] #61040: Provide a framework for plugin onboarding experiences

WordPress Trac noreply at wordpress.org
Fri Apr 26 02:43:14 UTC 2024


#61040: Provide a framework for plugin onboarding experiences
-------------------------+------------------------------
 Reporter:  jorbin       |       Owner:  (none)
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Awaiting Review
Component:  Plugins      |     Version:
 Severity:  normal       |  Resolution:
 Keywords:               |     Focuses:  administration
-------------------------+------------------------------

Comment (by costdev):

 > For me "configuration" implies adjustment, while onboarding is more like
 installation.

 > But think about software, where installation is not simply whether it
 exists on your machine or not, but setting up the initial configuration
 necessary for it to function properly.

 I think that's where "configuration" and "initial configuration" don't
 need to be differentiated by a Core feature, but rather by a plugin
 detecting whether the user has done an initial configuration yet. I see
 onboarding as what you see at the "first launch", and the
 detection/content there is typically done by the application (read:
 plugin), not the OS (read: WordPress). Thinking along the lines of mobile
 apps in that regard, rather than desktop installers.

 Given that onboarding/initial configuration should have multiple entry
 points (since plugins can be installed and activated several ways), it
 seems reasonable to expect that feature-complete onboarding would include
 state management via an option or transient (like WooCommerce does with
 `_wc_activation_redirect`).

 -----

 I'd like to determine the extent to which such a framework might go. For
 example, do we want to do more than something like this? If so, what are
 your ideas?

 1. Add a `'{$plugin}_configuration_url'` filter hook.
   i. Plugins can decide whether this goes to an onboarding/initial
 configuration URL, or a settings page. Or even go to the same URL and
 perform state checks before/after the page loads.
 2. If filtered:
   i. `Plugins > Add New`: Replace the `Active` button with a `Configure`
 button in the plugin's card.
   ii. Modals: Replace the `Active` button with a `Configure` button in the
 modal's footer.
   iii. `Plugins > Installed plugins`: Add a `Configure` action link in the
 plugin's row.

 Though we're discussing plugins at the moment, if we were to extend this
 to themes now or in future: `{$theme}_configuration_url` and  either a
 button, or an extra link in the `"New theme activated. <a>Visit site</a>"`
 admin notice post-activation.

 And now that I've typed this, Kevin just posted, so I'm going to post this
 and now scroll up to read what Kevin wrote. 😆

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/61040#comment:6>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list