Skip to main content

Glossary

Audience: developers & AI agents · Scope: the Beta-Calco / ConfigBox terms and acronyms used across the docs · Last reviewed: 2026-07-20

The docs lean on a lot of shorthand. This is the quick reference — skim it once, refer back as needed. Terms link to the doc that covers them in depth.

Platform & codebase

  • ConfigBox (CB) — the third-party product-configurator component (com_configbox) the whole site is built on. Provides products, options, pricing, cart/quotes, and the admin backend. See configbox/architecture.md.
  • Kenedo — the MVC framework ConfigBox itself is built on (external/kenedo/). Provides KenedoController / KenedoModel / KenedoView, KenedoDatabase, KenedoPlatform, routing, etc. Portable across Joomla / WordPress / standalone.
  • Joomla — the CMS host (version 5). ConfigBox runs as a Joomla component.
  • Customization overlay / data/customization/ — where all of Beta-Calco's own code lives. The single rule that prevents breakage: only edit here; everything else is third-party and overwritten on update.
  • Core / third-party — Joomla, Kenedo, ConfigBox core, and vendored libs. Read them to understand behaviour; never modify them. Change core behaviour via an override mechanism.
  • Override mechanisms — the sanctioned ways to change core behaviour from the overlay: system_overrides/ (classes), language_overrides/ (strings), model_property_customization/ + properties/ (model fields & custom field types), rule_condition_types/. See architecture.md.
  • Bc / bc prefix — marks Beta-Calco custom code (e.g. BcQuote, bcquotelandingpage) vs. core ConfigBox (Configbox…) and framework (K… / Kenedo…).
  • Migration — a numbered, idempotent PHP script under data/customization/updates/ (e.g. 0.5.69.php) that changes the DB schema/data, run automatically on the next request. Never hand-edit the schema. See migrations.md.
  • KenedoDatabase / KenedoPlatform::getDb() — the DB wrapper used everywhere (not Joomla's driver). Uses #__ as the table-prefix placeholder; has setQuery/loadResult/loadObject/insertObject, no quote() or transactions. See migrations.md.
  • SEF (link) — a "Search-Engine-Friendly" clean URL (/quote-follow-up/AAA0001) instead of the raw index.php?option=com_configbox&view=…. Producing one takes a controller router hook + a Joomla menu item. See sef-links.md.
  • /cb-api/… — a custom XHR endpoint (a system-plugin frontname) for AJAX, documented as a deliberate core exception. See sef-links.md.
  • Property type — a custom Kenedo field type under properties/ (e.g. the read-only bcimported* types that render import-owned fields as static text).

Configurator & catalog

  • Product — one luminaire line (e.g. Xacara L™) that a visitor configures.
  • Element / Option — an element is an option group in the configurator (e.g. "CCT"); an option is a choice within it (e.g. "3000K"). Each option carries a code segment and a price. Options live in one shared library reused across the whole catalog — editing one changes every product using it.
  • Option assignment — the link between an element and a reused option (adminxrefelementoptions, shown in the admin as Predefined Answers). It carries the per-product extras: default, enabled, rule, calculations, quantities.
  • Rule — a visibility condition on an element or an option assignment ("in what case should this be visible?"), shown in the admin as a sentence. What makes impossible combinations unselectable.
  • Discontinued — a retired product: removed from every browse and quote surface, but kept on the public Discontinued Products page so its spec sheet stays available. See features/discontinued-products.md.
  • Product code — the SKU assembled live from the selected options' code segments as the visitor configures (e.g. 30A + WH + …).
  • Product family — a marketing grouping of products shown on the public Products/Families pages (e.g. Arko), grouped under a family category (Decorative / Exterior).
  • Performance data / photometrics — the lumen/wattage numbers and files (IES/LDT, candela curves, polar plots, TM-30) behind a product's spec sheet; imported from Google Sheets.
  • Finish — a colour/material a product can be made in; shown as configurator swatches and on the public Finishes page.

Quotes & sales

  • Customer group — the one group every user belongs to. Carries their currency, price visibility, checkout/quote permissions, group discount and agent status, and gates which products and files they can see at all. The site's core access model — see features/customer-groups-and-visibility.md.
  • Agent / Specifier — the two audiences, distinguished by the group's is_agent flag. Agents see pricing and the agent-only areas (Sales Tools, Resources); specifiers browse and request.
  • Branch — a rep office/agency a customer belongs to; quotes are attributed to it and it maps to a Pipedrive organisation. Imported from the Rep Master Google Sheet, not maintained by hand.
  • Region — the flag picker in the site header. Choosing one rewrites the visitor's customer group (hence currency and visibility) and their imperial/metric units.
  • Quote — a saved configuration/estimate a sales agent builds for a customer. Identified by a serial.
  • Serial — a quote's unique reference (e.g. BC-12345 / AAA0001); also the key that matches a quote to its Pipedrive deal.
  • Deal — the Pipedrive (CRM) mirror of a quote. See pipedrive/README.md.
  • RSM — Regional Sales Manager; a quote's branch RSM becomes the deal's owner (fallback pipe@betacalco.com).
  • OOT — Out Of Territory; a flag/form on a quote for deals outside an agent's region.
  • Quote Console — the agent-facing quote builder, plus the admin reference data behind it (account/sales managers, tax rates, payment terms, overages).
  • Overage — a selectable markup percentage applied when building a quote.
  • Commission tier / Volume discount tier — the incentive structures that drive commission and quantity/length-based discounts.
  • Cold quote — a deal that's gone stale; a scheduled job emails reps and writes a Cold Quotes report sheet. See pipedrive/admin-manual.md.

Quote Follow-Up

  • Landing page — the no-login, mobile-first page where an agent updates one quote (status / stage / dates / comments) from an emailed link. See quote-follow-up/landing-page.md.
  • Magic link / grant token — the signed token in the follow-up email that authorises the agent to update their own quotes without logging in (deliberately not a Joomla login). See quote-follow-up/authentication.md.
  • Nudge / cadence — a quote is "due for a nudge" when it's sat in a pipeline stage longer than the stage's configured days (per quote size); the "due" list is written to a sheet a reminder workflow reads. See quote-follow-up/nudge-cadence.md.
  • Pipeline / stage — imported from Pipedrive; the stage picker on the landing page moves the deal along its pipeline. See quote-follow-up/pipeline-stages.md.
  • Stage-sync sheet — an optional Google Sheet mirroring quote stage/status changes. See quote-follow-up/stage-sync.md.
  • n8n — the external workflow tool that reads the nudge sheet and sends the reminders. See quote-follow-up/link-api-n8n.md.

Integrations & external systems

  • Pipedrive — the CRM. Quotes mirror to deals; edits flow both ways (outbound queue + inbound webhook). See pipedrive/README.md.
  • Webhook (inbound) — Pipedrive's "deal changed" call back to the site; queued, then drained by cron.
  • CPQ — Configure-Price-Quote; Infor's rule engine. Given a ruleset and option-list values it configures a part and returns its manufacturing data — even for a build that has never existed. Reached over SOAP, on its own endpoint. See bom/cpq.md.
  • BOM — Bill of Materials; the parts that make up a product. See the BOM System.
  • Flat BOM — a BOM flattened to one row per material, quantities already multiplied down the levels. Everything on the site deals in flat BOMs, never nested ones.
  • Item / material — an item is a part number in Infor (item_mst.item); a material is an item consumed by another item's job. "Material" is always relative to a parent, and the root item is the top of one lookup.
  • Slash method — resolving a BOM by matching the slash-separated configuration code to an existing Infor item name (or a known order-line code) and reading that item's cached BOM — as opposed to asking CPQ. Recorded per quote line in bom_fetch_method. See bom/position-boms.md.
  • PMT code — Infor's product material type code (item_mst.p_m_t_code), carried on every material row and used downstream for costing and grouping.
  • Infor — the ERP system. Read via BcHelper::getInforDb() (a PDO). Also referred to by its product name Syteline / CSI (CloudSuite Industrial) for order data.
  • Google Sheets — used for many exports/imports (performance data, price lists, BOM caches, schedules, cold-quote & nudge sheets). A Google service account authorises the writes.
  • ClicData — a BI tool; one source format for the price-list import (comma-delimited).
  • GTM (Google Tag Manager) — loads the analytics/marketing tags (GA4, Meta Pixel, Pinterest). See features/tracking.md.
  • CMP (Cookiebot) — the Consent Management Platform (the cookie banner) that gates the tags by consent category (Necessary / Preferences / Statistics / Marketing).
  • AWS CloudWatch / BigQuery / GA4 — metrics & analytics destinations for scheduled CLI jobs.

Docs & process

  • Reference docs (docs/) — the developer/AI source of truth (here). Admin Guide (admin-guide/) — the operator-facing, plain-language counterpart. See Two audiences.
  • Diary (docs/diary/) — the off-git, per-developer work journal for cross-session continuity (not part of the published docs).
  • Capture mode — a testing mode that intercepts real Pipedrive/external writes so tests don't hit live systems. See testing/.

Missing a term? Add it here (keep entries one or two lines; link to the doc that owns the detail).