Skip to main content

Features

Audience: developers & AI agents · Scope: standalone feature docs — one focused doc each, for features too small to warrant their own System folder · Last reviewed: 2026-07-20

TL;DR — Single-doc features live here. Bigger, multi-component capabilities get their own System folder instead (e.g. Quote Follow-Up, Pipedrive).

Features

DocWhat it covers
tracking.mdUnified front-end analytics / conversion tracking — a Tracking Manager fans one call out to Meta Pixel / GA4 / Pinterest adapters; the tags load via GTM; everything is gated on Cookiebot (the CMP).
product-html-embed.mdPer-product HTML embed — an admin uploads an .html file on the product edit screen; it renders in a sandboxed iframe (CSP sandbox, opaque origin) below the Tech Specs section of that product's configurator page, above the configurator, auto-resizing via a height-only postMessage channel. Stored as a file in the private store (non-.html extension).
customer-groups-and-visibility.mdThe site's access model — every user is in exactly one customer group, which carries currency, price visibility, checkout/quote permissions, group discounts and agent status; five xref_*_group tables then gate which products, news, brochures, powerpoints and diagrams exist for that group at all.
acoustic-calculator.mdThe public reverberation calculator — the site owns the form, the validation and the reference data (three JSON files uploaded via settings, not DB rows); the maths runs on a private Google Cloud endpoint called with an identity token whose audience is the endpoint URL. Nothing is persisted.
chatbot.mdThe public AI chat widget — a thin proxy that attaches a Google identity token and forwards the message plus client-supplied history to a private Cloud endpoint. Nothing is persisted. It shares its endpoint setting with the acoustic calculator, and the task is unauthenticated and unthrottled.
discontinued-products.mdRetiring a productbc_discontinued removes it from every browse and quote surface while keeping its spec sheet reachable on a public archive page; the product URL renders a stub instead of the configurator. The family-level flag behaves differently and does not cascade.
branch-cleanup.mdThe Branch Cleanup admin page — a soft-deleted branch is skipped by every later import, so its RSM data freezes and follow-up nudges for its users' quotes route to a former RSM. The page is the worklist that fixes it: reassign users per-branch to an active branch (the actual fix), or disable their account at the Joomla level (#__users.block + session kill). Clearing a branch lets the next import hard-delete it.