Skip to content
This repository was archived by the owner on Jul 28, 2024. It is now read-only.
This repository was archived by the owner on Jul 28, 2024. It is now read-only.

Plugin support, 4.0-alpha1 version #1036

@borekb

Description

@borekb

Support for 3rd party plugins (and themes, to a lesser degree) is a major theme of v4.0. VersionPress needs to understand plugins' data and actions in order to provide version control for them.

Previous releases introduced things like ChangeInfo objects, schema format (readme) etc. which we're going to build upon and make more extensible. There will probably be many smaller, concrete tickets but in general, we should:

  1. Support loading DbSchemaInfo from multiple schema-files. For example, a WooCommerce site would load wordpress-schema.yml and woocommerce-schema.yml.
  2. Develop a discovery mechanism for schema-files. The idea is to look in three locations: VersionPress itself, plugin's source code (over time, schemata will hopefully ship with plugins if VersionPress becomes popular enough) or a central repository, possibly backed by a GitHub repo so that everyone can send a pull request.
  3. Reconsider ChangeInfo objects structure and possibly simplify it (Reconsider ChangeInfo hierarchy #1034). ChangeInfos (or equivalent) should also be shipped similarly to schema-files.
  4. Work out a way to describe actions. We don't have a great abstraction for this yet, for example, actions are currently only described in PhpDoc sections of ChangeInfo files, cannot be processed automatically, etc. We already have technical tickets like List supported entities, their actions and VP tags #804 to improve this.

🚢 Shipped in 4.0-alpha1. For technical implementation, see PR #1075.


☝️ This ticket is a good place to solicit feedback from plugin authors. If you're one of them and would be interested in integrating with VersionPress, please let us know in the comments below. So far, we've heard interest from these plugins / folks:


Preliminary list of things we'll likely need to improve in VersionPress to support certain plugins:

Metadata

Metadata

Labels

featureNew feature. See "improvement" for updates of existing functionality.noteworthySignificant issue or PR, to be highlighted in release notesplugin supportIssues related to the main feature of 4.0, plugin support.scope: coreCore VersionPress functionality like tracking actions, creating Git commits, etc.scope: integrationsDEPRECATED. Since VP 4.0, "plugin support" is the label to use.size: xlEffort: over a week

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions