Skip to main content

Overview

What Is Point-Based Extensibility?

Point-based extensibility is a design pattern where the Candescent Digital Banking platform defines named extension points — stable, unique slots within the user experience (for example, com.dbk.platform.web.extension-point.pages.home.my-accounts.due-pill).

Extensions register against a specific extension point and are loaded only when that point is invoked. The platform does not depend on the implementation details of the extension; it only relies on the established contract (such as a React component, data provider class, or generic module).

Point-based extensibility applies across web and mobile, enabling financial institutions (FIs) and partners to customize specific regions of the banking experience without modifying core platform code. See the diagram below.

Extension Points Overview

info

Point-based extensions plug into predefined slots inside platform pages. Widgets and Aspects operate at a different scope — see Widgets and Aspects.

Core Principle

Instead of branching platform code for each FI:

  • The core platform defines extension points.
  • Extensions are registered via a manifest.
  • An internal Extension Registry resolves extensions at runtime.
  • Extensions are dynamically loaded via the extensibility framework and rendered or executed based on the configured extension point and contextual data.

What to Expect at Runtime

Once an extension is onboarded and enabled:

  • The extension is dynamically resolved and loaded when the corresponding extension point is invoked
  • UI extensions render within the application at predefined locations
  • Data provider and configuration extensions execute, and their outputs are consumed by the platform
  • Contextual data (for example, account or transaction details) is passed to the extension based on the extension point contract

All extensions operate within a contract-driven model, ensuring isolation from core platform logic, backward compatibility, and controlled extensibility.

Next Steps