The term capability refers to the Intention API of the SCION Microfrontend Platform.

A capability represents some functionality of a micro application that is available to qualified micro applications through the Intention API. A micro application declares its capabilities in its manifest. Qualified micro applications can browse capabilities similar to a catalog, or interact with capabilities via intent.

A capability is formulated in an abstract way consisting of a type and optionally a qualifier. The type categorizes a capability in terms of its functional semantics. A capability may also define a qualifier to differentiate different capabilities of the same type.

A capability can have private or public visibility. If private, which is by default, the capability is not visible to other micro applications; thus, it can only be invoked or browsed by the providing micro application itself.

A capability can specify parameters which the intent issuer can/must pass along with the intent. Parameters are part of the contract between the intent publisher and the capability provider. They do not affect the intent routing, unlike the qualifier.

Metadata can be associated with a capability in its properties section. For example, if providing a microfrontend, the URL to the microfrontend can be added as property, or if the capability contributes an item to a menu, its label to be displayed.

Hierarchy

Properties

description?: string

A short description to explain the capability.

params?: ParamDefinition[]

Specifies parameters which the intent issuer can/must pass along with the intent.

Parameters are part of the contract between the intent publisher and the capability provider. They do not affect the intent routing, unlike the qualifier.

private?: boolean

Controls if this capability is visible to other micro applications. If private, which is by default, the capability is not visible to other micro applications; thus, it can only be invoked or looked up by the providing micro application.

properties?: {
    [key: string]: any;
}

Arbitrary metadata to be associated with the capability.

Type declaration

  • [key: string]: any
qualifier?: Qualifier

The qualifier is a dictionary of arbitrary key-value pairs to differentiate capabilities of the same type and is like an abstract description of the capability. It should include enough information to uniquely identify the capability.

Intents must exactly match the qualifier of the capability, if any.

type: string

Categorizes the capability in terms of its functional semantics (e.g., microfrontend if providing a microfrontend). It can be an arbitrary string literal and has no meaning to the platform.

Generated using TypeDoc