132 lines
6.6 KiB
Text
132 lines
6.6 KiB
Text
=== Manager (by ROBOTSTXT) ===
|
|
Contributors: robotstxt, javiercasares
|
|
Tags: dashboard, catalog, updates, subscriptions, management
|
|
Requires at least: 4.4
|
|
Tested up to: 7.1
|
|
Stable tag: 1.5.0
|
|
Requires PHP: 8.0
|
|
Version: 1.5.0
|
|
License: GPL-3.0-or-later
|
|
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
|
|
|
Client-side dashboard for the ROBOTSTXT plugin ecosystem. Browse the catalog, see what's installed, and spot subscription issues — all from your own wp-admin.
|
|
|
|
== Description ==
|
|
|
|
Manager (by ROBOTSTXT) is a WordPress plugin that customers install on **their own** site. It connects to a remote Plugins Core installation (via REST API + account-level API key) and provides a single dashboard for the ROBOTSTXT plugin ecosystem:
|
|
|
|
* Lists the full plugin catalog with name, type (free/premium), price, and current version.
|
|
* For each catalog entry, shows the **local install state**: not installed, installed (inactive), up to date, or update available.
|
|
* Click a plugin's row to expand its description and a link to its website on the store.
|
|
* One-click actions: Install, Activate, and Update run on a classic page load with a standard admin notice (green/red) reporting the outcome; Buy redirects to checkout on the store site.
|
|
* Subscription health dashboard (Phase 4+): license expiring soon, payment failed, expired — surfaced as admin notices so issues are visible before updates silently stop.
|
|
|
|
This plugin does **not** re-implement the per-plugin update mechanism. Every ROBOTSTXT plugin bundles its own copy of the `Robotstxt_Core_Plugin_Updater` SDK, so updates keep working even if Manager is deactivated. Manager's value is visibility and one place to click.
|
|
|
|
**Requires Core 1.4.2+** on the store for descriptions in the catalog list (older Core versions still work; rows simply show no description).
|
|
|
|
== Using the plugin ==
|
|
|
|
= Settings =
|
|
|
|
Configure at **ROBOTSTXT → Settings**:
|
|
|
|
* **Store URL** — Base URL of the remote Plugins Core installation (defaults to `https://www.robotstxt.software`).
|
|
* **API Key** — Account-level API key issued by the ROBOTSTXT store. Encrypted before storage; masked in the UI (last 4 characters shown). Use the "Test connection" button to verify connectivity.
|
|
* **Catalog Cache (minutes)** — How long the catalog response is cached in a transient. Default: 60 minutes.
|
|
* **Data on Uninstall** — Opt-in checkbox. When enabled, all Manager options and transients are deleted on uninstall. Default: off.
|
|
|
|
= Main screen =
|
|
|
|
**ROBOTSTXT → Plugins** shows the catalog table:
|
|
|
|
| Column | Description |
|
|
|---|---|
|
|
| Plugin | Name from the store. The row below each plugin carries its website link and description (always visible). |
|
|
| Version | Current version in the store. |
|
|
| Requires WP / Requires PHP | Minimum requirements, checked against this site (warning icon when not met). |
|
|
| Price | "Free", or the annual price for premium plugins. |
|
|
| Action | Install / Activate / Update / Buy, depending on local state. |
|
|
| Status | Not installed / Installed (inactive) / Up to date / Update available (vX → vY). |
|
|
|
|
Below the table: a Support section and an explanation of Payments (annual subscriptions, automatic renewal, cancellation, Mollie processing).
|
|
|
|
Click "Refresh catalog" to force a fresh fetch from Core. Install, Activate, and Update run on a classic page load (no JavaScript) and report the result as a standard admin notice.
|
|
|
|
== Extra Configurations ==
|
|
|
|
No extra `define()` constants are required in `wp-config.php`. All configuration is done via the Settings page in wp-admin.
|
|
|
|
== Installation ==
|
|
|
|
= Automatic download =
|
|
|
|
Visit the plugin section in your WordPress, search for Manager (by ROBOTSTXT); download and install the plugin.
|
|
|
|
= Manual download =
|
|
|
|
Extract the contents of the ZIP and upload the contents to the `/wp-content/plugins/robotstxt-manager/` directory. Once uploaded, it will appear in your plugin list. Go to **ROBOTSTXT → Settings** to configure the Store URL and API key.
|
|
|
|
== Frequently Asked Questions ==
|
|
|
|
= Is this plugin compatible with WordPress Multisite? =
|
|
|
|
No. This plugin is intentionally not compatible with WordPress Multisite, matching the architecture of the rest of the ecosystem.
|
|
|
|
= What PHP version is required? =
|
|
|
|
PHP 8.0 or higher.
|
|
|
|
= Do I need Plugins Core installed on my site? =
|
|
|
|
No. Plugins Core runs on the ROBOTSTXT store site. This plugin talks to it remotely via REST API. You do not need Core, Mollie, or Sync installed locally.
|
|
|
|
= How is the API key stored? =
|
|
|
|
Encrypted at rest using AES-256-CBC with a key derived from your site's WordPress `AUTH_KEY` and `AUTH_SALT` constants. Never stored in plaintext, never logged, never exposed in any response.
|
|
|
|
== Compatibility ==
|
|
|
|
* WordPress: 4.4 - 7.1
|
|
* PHP: 8.0 - 8.5
|
|
|
|
== Changelog ==
|
|
|
|
Only the 3 last versions. The full changelog will be at changelog.txt
|
|
|
|
= 1.5.0 =
|
|
|
|
_Release date: 2026-08-18_
|
|
|
|
* Fixed: API key not saving when the browser auto-fills the password field with the stored encrypted value.
|
|
* Fixed: "Test connection" now validates the API key against an authenticated Core endpoint (`/me/subscriptions`) instead of the public catalog — invalid keys are correctly rejected.
|
|
* Fixed: "Test connection" reads the key from the form field, so a key can be tested before saving.
|
|
* Added: Validation errors now display on the settings page (missing `settings_errors()` call).
|
|
* Added: Registration link in the API key field description.
|
|
|
|
= 1.4.1 =
|
|
|
|
_Release date: 2026-08-17_
|
|
|
|
* Housekeeping release: plugin identity now points at the ROBOTSTXT software site — Plugin URI and Update URI are `https://www.robotstxt.software/plugins/robotstxt-manager/`, Author URI is `https://www.robotstxt.software/`, and this readme's full-changelog link points to the same page.
|
|
* Tooling aligned with the declared real floors: PHPCS `testVersion` and the preflight scan range now cover PHP 8.0-8.5 (was 7.4/8.4).
|
|
|
|
= 1.4.0 =
|
|
|
|
_Release date: 2026-08-17_
|
|
|
|
* Premium update URLs carry a short-lived download token (Core 1.9.0+) instead of the API key; automatic fallback on older Core.
|
|
|
|
= Previous versions =
|
|
|
|
If you want to see the full changelog, visit the [plugin page](https://www.robotstxt.software/plugins/robotstxt-manager/).
|
|
|
|
== Compliance ==
|
|
|
|
This plugin adheres to the following security measures and review protocols for each version:
|
|
|
|
* [WordPress Plugin Handbook](https://developer.wordpress.org/plugins/)
|
|
* [WordPress Plugin Security](https://developer.wordpress.org/plugins/wordpress-org/plugin-security/)
|
|
* [WordPress APIs Security](https://developer.wordpress.org/apis/security/)
|
|
* [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards)
|
|
* [Plugin Check (PCP)](https://wordpress.org/plugins/plugin-check/)
|