Skip to content

newfold-labs/wp-module-installer

Newfold Logo

WordPress Installer Module

Version Number License PHPUnit

An installer for WordPress plugins and themes.

Module Responsibilities

  • Store a list of valid WordPress, Newfold, and custom URL plugins and themes, hereinafter referred to as valid plugins and themes.
  • Provide REST API endpoints to install and/or activate valid plugins and themes synchronously or asynchronously (using WP_Cron).
  • Provide REST API endpoints to check the status of asynchronous requests and functionality to expedite them.
  • Provide Service classes that contain all the functionality which can be used independently of the REST API.
  • Provide flexibility to install and activate valid plugins and themes synchronously or asynchronously (using WP_Cron).

Critical Paths

  • If a user requests a valid plugin or theme installation/activation, it should be completed successfully.
  • If a user requests an invalid/non-approved plugin or theme installation/activation, it should fail.
  • If a user requests to asynchronously install/activate an approved plugin or theme, then the API returns the correct status of the request in the queue.
  • If a user requests to expedite an asynchronously queued valid plugin or theme installation/activation, then it must be completed successfully without affecting other requests.

Releases

Run the Newfold Prepare Release github action to automatically bump the version (either patch, minor or major version), and update build and language files all at once. It will create a PR with changed files for review. Using this workflow, we can skip all the manual steps below.

Manual Release Steps

  • Bump version constants in the proper files:
    • includes/Data/Constants.php: (NFD_INSTALLER_VERSION)
    • package.json: version
  • Clear old build files
  • Create new build files
  • Update language/i18n files as needed

Installation

1. Add the Newfold Satis to your composer.json.

composer config repositories.newfold composer https://newfold-labs.github.io/satis

2. Require the newfold-labs/wp-module-installer package.

composer require newfold-labs/wp-module-installer

More on Newfold WordPress Modules

About

A WordPress module that handles installing plugins and themes.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 22