WP Manifestindependent plugin directory
manifest / developer / oik-batch

oik-batch

Batch interface to WordPress

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/bobbingwide/oik-batch/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

banner

Description

Batch interface to WordPress

  • Allows development and testing of plugin and theme functions in a native environment, such as Windows.
  • Allows you to run WordPress in batch mode, from the command line.
  • Provides some basic APIs to assist in Command Line Interface (CLI) processing.

Components

  • oik-wp - Batch WordPress - standalone processing using a complete WordPress installation but not using WP-CLI
  • oik-batch - Batch interface to WordPress servers
  • Sub-component: oik-git - Checks the status of Git repositories
  • Sub-component: oik-innodb - Detects MyISAM tables and converts them to InnoDB
  • Sub-component: oik-sqldump - Runs mysqldump ( early version )
  • Super-component: oik-phpunit - in situ PHPUnit test invocation for WordPress MultiSite

oik-wp

  • Allows you to run WordPress and WordPress Multisite from the command line.
  • Connects to your chosen local WordPress environment.
  • Supports direct invocation of batch processes.
  • Supports running PHPUnit tests for WordPress plugins or themes in situ.
  • Supports installations with Git based plugins and themes

oik-batch

  • Allows you to run parts of WordPress in batch mode

  • No connection to the database

  • Performs bootstrap logic preparing a [wp] client environment.

  • Supports direct invocation of batch processes.

  • Sub component: oik-git

  • Run under oik-batch, checks the status of Git repositories for changes that need to be committed

  • Syntax: batch oik-git.php from the plugin or theme directory

  • Sub component: oik-innodb

  • Converts MyISAM tables to InnoDB to enable in situ PHPUnit tests

  • Syntax: oikwp oik-innodb.php

  • Sub component: oik-sqldump

  • Syntax: oikwp oik-sqldump.php

  • Creates a backup of your MySQL database

  • Target directory hardcoded as C:/backups-qw/qw/sqldumps

  • Super component: oik-phpunit

  • Syntax: php oik-phpunit.php PHPUnit parms url=domain path=site-path

  • Supports invocation of in situ PHP testing for WordPress MultiSite

  • Calls PHPUnit having previously saved the parameters required to start WordPress MultiSite in a batch environment

Installation

  1. Upload the contents of the oik-batch plugin to the `/wp-content/plugins/oik-batch' directory
  2. Do not activate the oik-batch plugin through the 'Plugins' menu in WordPress
  3. Invoke from the command line using a batch file

Frequently Asked Questions

What other components are in oik-batch?

  • createapi2.php -
  • listapis2.php
  • list_oik_plugins.php
  • oik-load.php
  • oik-locurl.php
  • oik-site.php

What are the dependencies?

oik-batch.php and oik-wp.php

As of v0.8.7 oik-batch is no longer dependent upon the oik base plugin's files for batch processing.

If you activate either oik-batch or oik-wp then it will report a dependency on the oik base plugin.

For other routines, such as createapi2.php, which is used for listing and defining the APIs implemented by a WordPress plugin, theme or WordPress core itself, you will need the following:

  • oik-shortcodes plugin
  • oik-plugins plugin
  • oik-fields plugin
  • oik base plugin
  • the WordPress plugin
  • a local WordPress installation

How do I invoke the routines?

Create a batch file for each of the main routines

oikwp.bat for invoking oik-wp.php

rem Run oik-wp in batch mode so that you can test some code outwith the browser
php c:\apache\htdocs\wordpress\wp-content\plugins\oik-batch\oik-wp.php %*

Run the routine from the required installation's folder where the php file exists. This allows oik-wp to determine the correct wp-config file to use. eg

cd \apache\htdocs\oikcom\wp-content\plugins\oik-shortcodes
oikwp

batch.bat for invoking oik-batch.php

php c:\apache\htdocs\wordpress\wp-content\plugins\oik-batch\oik-batch.php %*

pass the name of the PHP file to invoke as the first parameter

e.g. To invoke listapis2 use:

batch listapis2 <i>plugin</i>

Alternatively oik-batch.php can be included in the main routine.

php c:\apache\htdocs\wordpress\wp-content\plugins\oik-batch\createapi2.php --plugin=%1 --site=https://oik-plugins.co.uk --apikey=apikey

wu.bat for invoking oik-phpunit.php

set PRE_PHPUNIT_CD=%CD%
set PHPUNIT=c:\apache\htdocs\phpLibraries\phpunit\phpunit-8.4.1.phar
php C:\apache\htdocs\wordpress\wp-content\plugins\oik-batch\oik-phpunit.php "--verbose" "--disallow-test-output" "--stop-on-error" "--stop-on-failure" "--log-junit=phpunit.json" %*

Screenshots

  1. oik-batch in action performing createapi2.php

Upgrade Notice

1.1.2

Update for support for PHP 8.1 and PHP 8.2.

Changelog

1.1.2

  • Changed: Don't str_replace( $string, null, $to ) #45
  • Changed: PHP 8.2: Don't strlen( null ) #45
  • Changed: PHP 8.2: Don't is_dir( null ) #45
  • Tested: With PHPUnit 9.6
  • Tested: With PHP 8.0, PHP 8.1 and PHP 8.2
  • Tested: With WordPress 6.4.1 and WordPress Multisite