131 lines
6.9 KiB
Text
131 lines
6.9 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.8.1
|
||
Requires PHP: 8.0
|
||
Version: 1.8.1
|
||
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.8.1 =
|
||
|
||
_Release date: 2026-09-22_
|
||
|
||
* Fixed: pending updates were invisible on sites where the WordPress.org update check never completes (api.wordpress.org blocked/unreachable — common on many hosts). Update data is now injected whenever WordPress reads it, so pending ROBOTSTXT updates show up on the Plugins screen, the Updates page, and WP-CLI regardless of WordPress.org connectivity.
|
||
* Fixed: opt-in uninstall now also deletes the cached subscriptions transient, so no subscription data outlives the plugin when data deletion is enabled.
|
||
* Fixed: a hardcoded "Subscribed" label in the multi-license catalog pill is now translatable.
|
||
* Maintenance: development tooling updated (PHPStan max, WordPress stubs 7.1.0); compatibility floors re-verified (WordPress 4.4, PHP 8.0).
|
||
|
||
= 1.8.0 =
|
||
|
||
_Release date: 2026-08-24_
|
||
|
||
* New: multi-domain license awareness (with Core 1.14.0) — the account's subscriptions are grouped per plugin and catalog pills show how many licenses you hold (e.g. "Subscribed @ example.com ×2") with the domain of the first bound license.
|
||
|
||
= 1.7.0 =
|
||
|
||
_Release date: 2026-08-18_
|
||
|
||
* New: per-domain license support (Core 1.11.0+) — downloads and download-token exchanges now send this site's domain, so premium licenses bind to this site and the store rejects them from other domains. Catalog subscription pills show the bound domain (e.g. "Subscribed @ example.com").
|
||
* Improvement: download failures now surface the store's own error message (e.g. the domain-mismatch explanation) instead of a bare HTTP status code.
|
||
|
||
= 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/)
|