[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