Connector Controls is a WordPress VIP integration that provides secure, centralized at-rest storage and management for WordPress Core Connectors credentials.
WordPress Core stores Connector credentials (Settings → Connectors) in the site database in plain text, masked only in the UI, and any plugin can read them. Connector Controls gives VIP customers an encrypted, centrally managed layer to store those credentials and share them securely across their WordPress applications — the basis for centralized reporting and metering.
Status: early development. This repository is a working WordPress VIP integration scaffold — templated from the VIP Integrations Starter Kit — with the credential storage and management features still to be built. The example REST endpoint and settings screen are placeholder scaffolding. Work is tracked in the Connector Controls project (VIPPROD).
Runtime config comes from a single VIP-provided constant read through a central Config class, with graceful degradation when config is missing or incomplete, Tracks-only telemetry, and the handoff manifest VIP registers the integration from. See /docs/vip-integration.md for the operational details.
These are the tools used to ensure code quality on the WordPress VIP platform.
PHPUnit 9 for unit tests. See /tests/phpunit.
Playwright for end-to-end tests. See /tests/e2e.
Psalm for static analysis. Psalm relies on type annotations — see /inc for the expected docblock style.
Linting and coding standards are powered by PHP_CodeSniffer (PHPCS) with the WordPress VIP and WordPress core rulesets. See the linting doc.
CI runs on every push and pull request to main:
| Workflow | What it does |
|---|---|
unit-tests.yml |
PHPUnit across the VIP platform baseline (PHP 8.2–8.5 × WordPress 6.9.x/latest, single site and multisite). |
e2e.yml |
Playwright end-to-end tests against a real vip dev-env (WordPress 6.9 and 7.0). |
lint.yml |
PHPCS with the WordPress VIP rulesets. |
static-code-analysis.yml |
Psalm static analysis. |
codeql.yml / dependency-review.yml |
Security scanning of code and dependency changes. |
For more on how the codebase is structured, see https://docs.wpvip.com/technical-references/vip-codebase/.
You will need Composer, Node.js and NPM, Docker, and the VIP-CLI.
📝 Docker Desktop is recommended, but the environment is compatible with alternative container runtimes like Colima and Rancher Desktop — see our documentation.
- Clone the repository and change into its directory.
- Install Composer dependencies:
composer install- Install Node.js dependencies:
npm i- Create and start a WPVIP local development instance:
vip dev-env create
vip dev-env start- Write code, write tests. Or the other way around!
composer testruns both suites (the e2e half needs the dev-env from the previous step running — see /docs/vip-integration.md).
📝 For convenience, this repository contains a vip-dev-env.yml configuration file; tweak it to your needs. For an in-depth guide to VIP Local Development Environments, see our documentation site.
GitHub Codespaces is supported with no set-up steps. The first start builds the environment (a few minutes); afterwards you can use either the web editor or local VS Code.
Conformance is checked with the external vip-integration CLI:
npx @automattic/vip-integration validateTagged versions of this integration are vendored into vip-go-mu-plugins-ext, which is mounted onto VIP applications. Keep vip-manifest.yaml in sync with the code before cutting a release — see /docs/manifest.md.