Connector Controls
Secure, centralized at-rest storage and management for WordPress Core Connectors credentials on VIP.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/automattic/connector-controls/archive/refs/heads/develop.zipReadme
Connector Controls
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.
Technology
These are the tools used to ensure code quality on the WordPress VIP platform.
Unit Tests
PHPUnit 9 for unit tests. See /tests/phpunit.
End-to-end tests
Playwright for end-to-end tests. See /tests/e2e.
Static analysis
Psalm for static analysis. Psalm relies on type annotations — see /inc for the expected docblock style.
Linting and coding standards
Linting and coding standards are powered by PHP_CodeSniffer (PHPCS) with the WordPress VIP and WordPress core rulesets. See the linting doc.
GitHub Actions
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. |
Repository structure
⚠️ The repository contains several folders that together constitute a complete WordPress VIP application; they should not be removed. A brief description is available in /docs/directories.md.
For more on how the codebase is structured, see https://docs.wpvip.com/technical-references/vip-codebase/.
Local installation and development
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.
Cloud-based development
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.
Releasing
Conformance is checked with the external vip-integration CLI:
npx @automattic/vip-integration validate
Tagged 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.