Skip to content

Developer Glossary Terminology

Todd Schiller edited this page Aug 26, 2021 · 5 revisions

Over the history of the project, we've been iterating on the internal and external terminology. Therefore, when working on the code, you may see certain concepts referred to in different ways

Also see the external documentation covering key concepts when building with PixieBrix: https://docs.pixiebrix.com/developer-guide/key-concepts

Main Type Definitions

For formal definitions of the types, see the code:

Code Style Considerations:

  • Avoid mixing terminology within the same module
  • In some places, we'll need to update the backend API to use the new terminology

Special note on "Brick"

"Brick" is a catch-all name in the interface for composable in the PixieBrix ecosystem. Therefore, it shows up in multiple places below as a Synonym

On the backend, there is Package which is what's used for anything that has a unique identifier and a version. Each package has a "kind" which corresponds to the more granular categorization (e.g., extensionPoint)

Synonyms

Foundation, Extension Point

A place where one or more things can be attached on a page. Current kinds of extension points: 1) panels, 2) menu items/buttons, 3) triggers, 4) context menus, 5) sidebar action panel

  • UI: Foundation
  • Code: Extension Point

Extension, Brick

The thing (e.g., button, panel) attached to the foundation/extension point

  • UI: Brick
  • Code: Extension

Brick, Block

A unit of computation — has an inputSchema and a run method

  • Code: Block. (In YAML definitions, the kind is component)
  • UI: Brick

Also may be called a reader, transform, effect, or renderer depending on what the interface and the context of how its used

Service, Integration

A definition of service, including what configuration properties to expose, and how to authenticate calls to the service using those properties.

  • UI: Integration
  • Code: Service

Service Auth, Service Configuration

A configuration of a Service/Integration

Blueprint, Template, Recipe

  • UI: Blueprint/Template
  • Code: Old: recipe → New: blueprint

A "Deployment" is a pre-configured blueprint to deliver to users. Consists of: 1) a blueprint version, and 2) the service configuration to use for each service