Modules

Enable or disable WooNooW features, understand module dependencies, and review runtime invalidation behavior

WooNooW uses a modular architecture. Enable only the capabilities needed by your store to keep the administration interface focused and reduce runtime overhead.

Open WooNooW → Settings → Modules to review and toggle modules.

Available modules

Marketing

  • Newsletter & Campaigns (newsletter) — Email newsletter subscriber management, manual email campaigns, and campaign scheduling. Enabled by default.
  • Affiliate Program (affiliate) — Referral link tracking, affiliate dashboards, commission management, and payout processing. Disabled by default.

Customer experience

  • Customer Wishlist (wishlist) — Lets customers save products to a wishlist, view dedicated wishlist pages, and share lists. Enabled by default.

Store configuration

  • Multi-Currency (multicurrency) — Displays and charges orders in customer-selected currencies with exchange-rate and gateway mapping controls. Disabled by default.

Products & inventory

  • Product Subscriptions (subscription) — Recurring product subscriptions, flexible renewal billing intervals, trial periods, and automated lifecycle management. Disabled by default.
  • Software Licensing (licensing) — Serial/alphanumeric/UUID license key generation, activation limits, independent entitlement dimensions (usage, updates, support, history), and website authorization bound to persistent installation UUIDs and normalized domains. Disabled by default.
  • Software Distribution (software) — Product-generic software release publishing, version tracking, changelogs, private vault artifact storage outside webroot, automatic SHA-256 verification, and short-lived one-time bearer token downloads. Disabled by default.

Default states and dependencies

ModuleDefault stateDependenciesOperational notes
Newsletter & CampaignsEnabledNoneCore marketing feature.
Customer WishlistEnabledNoneCore customer experience feature.
Affiliate ProgramDisabledWooCommerceRequires supported payment methods for payouts.
Multi-CurrencyDisabledWooCommerceControls catalog conversion, checkout currency, and gateway mappings.
Product SubscriptionsDisabledWooCommerceIntegrates with compatible recurring payment gateways.
Software LicensingDisabledWooCommerceAuthoritative for license keys, seats, and entitlement snapshots.
Software DistributionDisabledNone for public products; Licensing for protected productsStandalone for public software; requires Licensing for protected releases.

Licensing and Software Distribution dependency behavior

Both Software Licensing and Software Distribution are disabled by default. While they can be toggled independently in the module settings:

  1. Public software products (products where _woonoow_licensing_enabled is explicitly set to no) can check for updates and receive packages with Software Distribution enabled on its own, without requiring the Licensing module.
  2. Protected software products (the default state for all software products unless explicitly set to no) strictly require the Licensing module to validate license keys, activation seats, and entitlement windows.
  3. Fail-closed protection: If Software Distribution is enabled while Licensing is disabled, requests to check, fetch packages, or download protected software return HTTP 503 licensing_unavailable. Disabling the Licensing module never downgrades a protected product to public or free access.

Token invalidation behavior

WooNooW invalidates outstanding grants when authoritative state changes. The values in parentheses below are stored invalidation reasons for auditing; clients normally observe the current module/policy error or token_invalidated, not necessarily the stored reason itself:

  • Disabling Software Distribution: When the software module is toggled off, WooNooW immediately invalidates all outstanding software download tokens (software_disabled).
  • Disabling Licensing: When the licensing module is toggled off, WooNooW immediately invalidates all outstanding protected product tokens (licensing_disabled).
  • Product policy modifications: Updating a product's licensing policy (_woonoow_licensing_enabled) or software toggle (_woonoow_software_enabled) immediately invalidates all outstanding tokens bound to that product (product_policy_changed).
  • License revocation: Revoking a customer's license immediately invalidates every outstanding unclaimed token bound to that license (license_revoked).
  • Activation deactivation: Deactivating an installation frees the activation seat and immediately invalidates tokens issued for that activation (activation_deactivated).
  • Activation reactivation: Reactivating an existing installation increments the activation generation and invalidates any lingering tokens from prior generations (activation_reactivated).
  • Release withdrawal: Withdrawing a software version invalidates every outstanding unclaimed token issued for that release (release_withdrawn).

In addition to event-driven invalidations, WooNooW's token redemption endpoint independently re-verifies the live status of the license, activation generation, product policy, release status, and artifact hash before streaming any file.

Module configuration settings

When a module is enabled, access its configuration under WooNooW → Settings → Modules → [Module Name]:

  • Licensing Configuration: Configure key formats, site-wide activation limits, license duration, OAuth approval flow, and entitlement defaults.
  • Software Distribution Configuration: Configure update check rate limits (1–100 req/min, default 10), download token TTL (1–60 minutes, default 5 minutes), client cache TTL (1–168 hours, default 12 hours), the default filename template, and verified storage vault paths.

Operational paths such as local_storage_path and document_root are sensitive infrastructure fields. They are marked public: false in the schema and are never exposed to unauthenticated REST requests.

Last updated Sep 8, 2026