Glossary
The terms used throughout the v7 docs, each with a short definition and a pointer to where it's explained.
The words these docs use for Deco Blocks v7, in alphabetical order. Each entry is a short definition with a link to the page that explains it in full.
Action
A server function that changes something, such as adding an item to a cart or sending an email. Actions are called by key through invoke. See Loaders and actions.
Admin protocol
The HTTP endpoints compatible v7 editor and delivery clients can call on your running site: GET /live/_meta (the schema), GET and POST /.decofile (read and reload runtime content), /live/previews/* and /deco/render (previews) and /deco/invoke (run loaders and actions). Implemented by @decocms/blocks-admin and mounted by each binding. See Site Editor and the v7 admin protocol.
App
A companion package, @decocms/apps-*, that brings the loaders, actions, sections and configuration for one platform (VTEX, Shopify, a blog, an email provider). An app is configured from a block in the decofile, such as deco-vtex. See Apps.
Binding
The framework package that connects the runtime to an app framework: @decocms/tanstack for TanStack Start on Cloudflare Workers, or @decocms/nextjs for the Next.js App Router. The binding finds the page for a URL, renders it, and mounts the admin protocol. See How v7 works.
Block
A named, typed piece of JSON content in the decofile that the runtime can resolve: a section, a page, a loader call, a matcher, an app configuration. A block's type is given by its __resolveType. See Blocks and sections.
Bucket
During a migration traffic split, the site that serves a visitor: worker (the new site) or fallback (the original). See Going live after a migration.
Cache profile
A named caching policy, one of static, product, listing, search, cart, private and none, applied consistently at the edge, browser, loader and client layers. The framework picks one from the URL unless you choose. See Caching.
Commerce loader
A loader referenced from content by key, such as vtex/loaders/intelligentSearch/productListingPage.ts, and registered at setup with registerCommerceLoaders (apps provide ready-made maps). The resolver calls it when it meets that key and passes the page URL along. See Loaders and actions.
Deco Blocks
The framework these docs describe. "v7" means the current released version of its packages: @decocms/blocks, @decocms/blocks-admin, @decocms/blocks-cli, @decocms/tanstack and @decocms/nextjs. See Deco Blocks v7.
Deco Studio
Deco's extensible platform for organizing and executing work. Its Site Editor app provides the storefront forms and previews. The current Site Editor reads metadata and renders site previews while saving repository-backed edits to a working branch. Publish opens or updates a PR and merges it; the deployment integration applies the merged content. The v7 admin protocol separately supports runtime reads, previews, invoke and authorized content reloads. See Site Editor and the v7 admin protocol.
Decofile
The site's content: a flat map from block name to JSON. It's stored as one file per block under .deco/blocks/, committed to your repository, and bundled as .deco/blocks.gen.json by generate. See Content and the decofile.
Deferred section
A section rendered first as a skeleton (its LoadingFallback) and loaded separately afterwards, when it nears the viewport. Editors mark a section deferred with the ⚡ toggle in Studio. Bots always get the full page. See Deferred sections.
Deployment id
The identifier of one deployed version of your code, normally its git commit sha, passed as DECO_DEPLOYMENT_ID. Fast Deploy keys content by it so each code version reads its own content. See Deploying and Fast Deploy.
Draft preview
Rendering unpublished Studio content on the real site through a ?__draft= link. It works only on allowed hosts, is never cached, and is marked noindex. ?__draft=off leaves it. See Previews and draft preview.
Edge cache
The cache in front of your pages on TanStack Start: the Worker entry stores whole rendered responses in Cloudflare's cache, per cache key, so repeat requests skip rendering. See Caching.
ETag
A version tag sent with a response. /live/_meta sends a hash of the schema and answers 304 when Studio's If-None-Match still matches, so Studio skips downloading an unchanged schema. /.decofile sends the content revision. See Site Editor and the v7 admin protocol.
Fast Deploy
An opt-in feature of @decocms/tanstack that serves content from Cloudflare KV, so compatible runtime or CI content updates propagate between Worker instances without a code deploy. This does not by itself configure Studio's publish delivery. It needs DECO_FAST_DEPLOY=1, a DECO_KV binding and setupTanstackFastDeploy(). See Deploying and Fast Deploy.
Invoke
Calling a loader or action by key over HTTP, at POST /deco/invoke/<key>, or from code through the invoke proxy in @decocms/blocks/sdk/invoke. See Loaders and actions.
Island
In Fresh, components hydrated one by one on an otherwise static page. v7 has no islands: it renders the page on the server and hydrates it with React. See Migrating from Fresh and Deno.
Layout section
A section, such as a header or footer, whose resolved output is cached for a few minutes and shared across pages, keyed by device. Register layout sections with registerLayoutSections or export const layout = true. A section whose output depends on cookies, location or query parameters shouldn't be one. See Section conventions.
Live controls
LiveControls, the small script DecoRootLayout renders so Studio and a previewed page can talk to each other. See Site Editor and the v7 admin protocol.
Loader
A server function that fetches data. A loader is either called from content (a commerce loader) or attached to a section (a section loader), and site loaders can also be invoked by key. See Loaders and actions.
createCachedLoader
The loader cache: createCachedLoader, which shares a loader's results across requests in memory, keyed by its props. See Loaders and actions.
Matcher
A rule (rule, context) => boolean that content uses to choose between variants: by device, cookie, date, host, path, query string, location, user agent or a random traffic split. Built-in matchers are registered by createSiteSetup; add your own with registerMatcher. See Matchers and variants.
Page block
A block with a path and a list of sections, whose name starts with pages- or whose __resolveType is website/pages/Page.tsx. The binding renders the page block whose path matches the URL. See Pages and routing.
Resolution
Turning raw decofile JSON into props ready to render, by following each __resolveType recursively: dereferencing named blocks, choosing variants, calling commerce loaders. See Blocks and sections and, in depth, How resolution works.
__resolveType
The field that says what a JSON value in the decofile is: a section key (site/sections/Hero.tsx), a loader key, a matcher key, or the name of another block to reuse. See Blocks and sections.
Revision
A hash of the whole decofile. It changes whenever any block changes, and is used to detect new content (by Fast Deploy) and as a cache key. See Content and the decofile.
Schema (meta)
The JSON Schema of your sections, loaders and pages, generated from their TypeScript types into .deco/meta.gen.json and served at /live/_meta. Studio builds its forms from it. See Schema generation.
Section
A React component that editors can place on a page. Its key is site/sections/<path>.tsx, matching its file under src/sections/, and its props are described by an exported Props type. See Blocks and sections.
Section loader
A server function that runs after resolution and before rendering, enriching one section's props: the section's own loader export, or one registered with registerSectionLoaders. See Loaders and actions.
Segment
The part of a visitor's identity that changes what a page looks like (device, logged in or not, sales channel, region), returned by the Worker entry's buildSegment and added to the edge cache key. See Caching.
Stale-while-revalidate (SWR)
Serving a cached result that has expired while a fresh one loads in the background, so visitors don't wait for the refresh. See Caching.
Legacy admin tunnel
The v7 Vite plugin's development tunnel integration, which registers with the legacy admin.deco.cx service. It is not the current Studio repository-import setup. The Vite plugin starts it when DECO_SITE_NAME and DECO_ENV_NAME are both set. See Configuration reference.
Variant (multivariate flag)
A block holding several alternatives, each guarded by a matcher. The first alternative whose matcher matches is used; if none does, the block is dropped. Used for A/B tests, scheduled content and personalization. See Matchers and variants.
Vite plugin
decoVitePlugin() from @decocms/tanstack/vite, which keeps server code out of the browser bundle and regenerates files in development. See TanStack Start on Cloudflare Workers.
Widget
A type from @decocms/blocks/types/widgets, such as ImageWidget, that tells the schema generator which Studio input to show for a prop. See Schema generation.
Worker entry
src/worker-entry.ts, the file that calls createDecoWorkerEntry. It's the outermost handler of every request on TanStack Start: it serves the admin protocol, the edge cache and redirects. See TanStack Start on Cloudflare Workers.