Problem/Motivation
README.md is empty. Everything the module does is described only in the project page's two paragraphs, in change records, and in docblocks — which leaves a site builder guessing at the settings, an operator at the Drush commands and cron behaviour, and a connector maintainer at which of the capability interfaces to implement.
Proposed resolution
A README following the drupal.org README template, with one section per audience:
- Requirements, installation, configuration (every setting and permission).
- Subscribers: the subscribe flow, the management page and its actions, billing history, what cancellation means.
- Site builders and administrators: plans, subscriptions, charges, role handling, theming, mails, the JSON endpoints.
- Operators: cron, dunning in practice, the Drush commands.
- Connector maintainers: the attribute, the base interface, the capability interfaces, charge-based connectors, post-purchase login, testing.
- Developers: usage raters, the tax/invoice seam, events, the engine's API.
- Updating, and the change-record policy.
Remaining tasks
Write it; review it against the code; merge.
User interface changes
None.
API changes
None.
Data model changes
None.
Comments
Comment #3
colanComment #8
colanComment #10
colanOne more README commit landed against this issue before it closes, on the #3630969: Refuse an upgrade while a period charge is open or the subscription is past due, and validate the currency on plan change MR (merge request 33), since commit e41b3bf on 1.0.x added Tool API integration (
src/Tool/SubscriptionTools.php, servicesubscription_manager.tools) with no README coverage. The commit adds:list_plansandsync_plans: Administer Subscription plans;list_overdue_subscriptions: Administer Subscription entities;refresh_subscription: update access on the subscription;list_user_subscriptions: administrators for anyone, a subscriber for themselves), that none moves money or changes a subscription, that the result fields are the curated ones the JSON endpoints use, that refresh and sync make one unthrottled remote call per invocation (#3629972: Dedupe and rate-limit the remote calls made on registration, login and the subscribe and portal routes), and that the attributes are inert without Tool API.list_user_subscriptionstakes the user as an entity input with a view check, so a subscriber listing their own subscriptions also needs core's Access user profiles. Documented rather than changed; relaxing the check for the self case would be a small follow-up if wanted.The beta7 release notes should name the feature too, since it shipped on 1.0.x between the audit rounds.