[wp-trac] [WordPress Trac] #22316: Plugin Dependencies (Yet Another Plugin Dependencies Ticket)

WordPress Trac noreply at wordpress.org
Tue Oct 30 19:03:09 UTC 2012


#22316: Plugin Dependencies (Yet Another Plugin Dependencies Ticket)
--------------------------+------------------------------
 Reporter:  Viper007Bond  |       Owner:
     Type:  enhancement   |      Status:  new
 Priority:  normal        |   Milestone:  Awaiting Review
Component:  Plugins       |     Version:  3.4.2
 Severity:  normal        |  Resolution:
 Keywords:  dev-feedback  |
--------------------------+------------------------------
Changes (by MikeSchinkel):

 * cc: mike@… (added)


Comment:

 Ironically I brought up [http://lists.automattic.com/pipermail/wp-
 hackers/2012-October/044617.html a discussion on wp-hackers] yesterday to
 address this issue, but proposed ''"libraries"'' for this use case because
 of the past pushback to adding plugin dependency support into core.

 One aspect of the library proposal is that libraries would be hidden from
 users and I think it's critical that if address this. Plugins add a lot of
 conceptual overhead for the user and we all know that many blog posts and
 peer-to-peer discussions at WordPress meetup groups tell users ''"limit
 the number of plugins you use."''

 Imagine a plugin that uses four (4) other plugins as dependencies; if a
 user installs that plugin now they have five (5) active visible plugins
 and their anxiety shoots through the roof.  This will cause plugin and
 theme developers to avoid using many or any dependencies even if
 modularity is the best solution otherwise because they know uninformed
 users will tell their peers ''"Avoid that theme/plugin; it adds too many
 other plugins"'' even when the code of adding those plugins are essential
 to accomplish the task.

 Drupal has had module dependencies for when I started using it in 2008 and
 the conceptual overload for users was a problem with it too.

 An example of this type of dependent plugin would be an API client SDK for
 a company like MailChimp or FreshBooks.  Why does the user need to see
 that a plugin that wraps one of those APIs is active?  Would it not be
 much better to simply to have them see the plugin that uses it?

 '''Proposal''': Consider doing one of the following:
 A. Allow plugins to market themselves as a library and if marked can't be
 activated by themselves and would be invisible to the user.
 B. Display dependent plugins only when the admin user clicks at "Show
 dependent plugins" link in the plugin list.
 C. Implement the library proposal from wp-hackers instead.

 Another question to ponder is: ''"How much overhead does each plugin add
 vs. using require() or a class auto-loader?"''  Will 100 plugins being
 activated slow down a site vs. `require()`ing   100 PHP files?  If so, we
 may seriously consider a "library" concept instead of or in addition to
 plugin dependencies.

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/22316#comment:28>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list