Skip to content

Roadmap TGMPA version 3.0 #394

@jrfnl

Description

@jrfnl

Main aims:

  • Multi-site compatibility
  • Fix conflicting UI messages for usage in themes / plugins
  • Improved UI by having the admin page always in the same location
  • Updatability of TGMPA independently of the plugin/theme which ships it
  • Show dependencies more clearly
  • Provide translations of the TGMPA strings under own text-domain.

Basic architectural choices:

  • Integration of the Plugin Dependencies (PD) plugin which will provide UI for dependency management and cascading deactivate if dependencies are not met.
  • Ship as a bootstrap file + zip of the main plugin. The bootstrap will check if TGMPA is installed as a plugin and use that if possible and will fall back on the zipped version if not. By default both TGMPA as well as PD will now become required plugins. We can make the "Known Plugin Dependencies" plugin a low priority recommendation/suggestion.
  • Registration of dependencies/recommended plugins should now be done through an activation hook rather than through a call on every (admin) page load. This will make the plugin leaner and will allow us to set a site option with all dependencies which can be read-out for the network admin.
  • TGMPA will have it's own top-level admin page for a streamlined experience whether included in a plugin and/or theme.
  • The plugin will be split into PSR-4 compliant classes.
  • The new v3 version will have as a minimum requirement WP 3.8.5 (or higher if development shows we need that), PHP 5.2.4 (inline with WP minimum requirements) with the PHP SPL extension enabled (for spl_autoload).

Tentative indication of OOP direction this list is still liable to change without notice and is in addition to the existing classes:

  • TGMPA_Plugin class which holds the properties passed for one individual plugin, can do property negotiation is both a theme as well as a plugin require/recommend the same plugin, will contain methods such as is_active(), has_update(), requires_update() etc
  • TGMPA_Plugins class which holds the instances of all plugins and methods such as is_complete()
  • TGMPA_Config class which holds the config properties passed and can do property negotiation for conflicting properties from different sources.
  • TGMPA_Notices class which will generate the admin_notices if needed.
  • TGMPA_Execute class which will act as a controller for requested (bulk-)actions (install/update/activate).
  • TGMPA_Option class which will manage the tgmpa option which will hold the information registered on theme/plugin activate.

Action list:

Other open issues which may or may not be included in v3:

Actions once 3.0 is finished:

  • Submit TGMPA as a plugin to the WP plugin repo
  • Put renewed gh-pages online

Post-3.0 roadmap:

  • Set up TGMPA to be able to work with composer & create wiki page with instructions on how to set things up with and without it
  • Add unit tests

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions