Skip to content

Releases: CcMarc/AlsoPurchasedTurbo

AlsoPurchasedTurbo v1.2.0

Choose a tag to compare

@CcMarc CcMarc released this 26 Jul 13:09

New in v1.2.0:

  • "Optimize table (reclaim disk space)" maintenance action. InnoDB keeps
    deleted rows' space inside the tablespace after pruning; this rebuilds
    the table and shrinks the file on disk, reporting resulting size and
    space reclaimed. Help text shows current size and internally
    reclaimable space.
  • After a prune that removes 100k+ rows, a message points at the
    optimize action.
  • "Last prune" and "Last optimize" status rows in the Tools page Engine
    status panel (when they ran, before/after counts, size on disk, space
    reclaimed).
  • "Table size on disk" status row, flagging internally reclaimable space
    when present.
  • Admin page CSS: px pinning for code/help text per ZC 2.x admin
    convention.
  • Installer: APT_OPTIMIZE_STATS status-tracking configuration key.

Upgrade from v1.1.0 via Plugin Manager (new configuration key seeded).
v1.1.0 directory replaced by v1.2.0 (v1.1.0 remains available via its
release tag).

AlsoPurchasedTurbo v1.1.0

Choose a tag to compare

@CcMarc CcMarc released this 22 Jul 11:12

Pair pruning release.

Bounds the pair table on large stores — motivated by a 167k-order production store whose unpruned table reached 40M rows / 4.5 GB:

  • New APT_MAX_PAIRS_PER_PRODUCT setting (default 50, 0 = unlimited): the storefront only ever displays a handful of recommendations, so keeping every historical pair wastes space and slows the per-product read
  • New "Prune pair table" tool — chunked, auto-continuing, safe to run any time; keeps each product's strongest pairs per the configured ranking, with no visible change to the storefront
  • Pruning runs automatically after seeding completes
  • "Last prune" shown in the Tools status panel (when it ran, before/after row counts)
  • Installer: shared idempotent install/upgrade building blocks per Zen Cart encapsulated-plugin guidance
  • Manifest: plugin library id 2443; Zen Cart v2.1.0 / v2.2.2

Requires Zen Cart 2.1.0+ (tested on 2.2.2). New installs: attached zip via Plugin Manager, then seed from Tools > Also Purchased Turbo. Upgrading from v1.0.0: use Plugin Manager's Upgrade button (a new configuration setting is seeded — file-swap alone isn't enough), then optionally click "Prune pair table" to trim an already-seeded table.

AlsoPurchasedTurbo v1.0.0

Choose a tag to compare

@CcMarc CcMarc released this 13 Jul 11:52

Initial release.

Replaces Zen Cart's stock also-purchased engine with a precomputed product-pair table:

  • Indexed pair-table lookup instead of the orders_products self-join on every product page (benchmark: 96.4 ms → 0.37 ms on the store's most popular product)
  • Recommendations ranked by purchase affinity (Recency and Random modes available)
  • Checkout observer keeps the table current in real time; admin-driven chunked seeding from order history
  • No core-file or template changes; customized template modules are detected and never overwritten (takeover or integration paths in the readme)
  • Admin: Configuration > Also Purchased Turbo and Tools > Also Purchased Turbo (status, seeding, maintenance, shim health, debug log)

Requires Zen Cart 2.2.2+. Install the attached zip via Plugin Manager, then run the seed from Tools > Also Purchased Turbo.