Tenant extensibility

Letting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once.

Overview

SAP SHIPS
Node.js →

@sap/cds-mtxs Multitenancy, tenant provisioning and model extensibility for CAP.

Not covered: It stops at the model: what reaches the ExtensibilityService is CDL or CSN and i18n texts, and the annotations capire lists as affecting persistence or security, @impl, @restrict and @requires among them, are blocked unless the provider's extension-allowlist makes an exception. Without that allowlist no extension is accepted at all, and an extension the provider builds in advance and switches on per subscriber is a feature toggle.

SourceExtending SaaS Applicationschecked
THE COMMUNITY ADDS

Artifacts2

2 of 2 artifacts
ArtifactSignals
CDS plugins1
dynamic-external-cds-joinCAP plugin joining external entities with internal tables at query
Signals
Functional boundary
Packages1
@sap/cds-mtxsMultitenancy, tenant provisioning and extensibility for CAP
Signals
none

Content2

Group by
Piece, what it offers
Custom Business Logic Extensibility in CAP (CDS-Oyster)
YouTube — SAP Developers playlists, Nick Josipovic, DJ Adams, Talk
Multitenant SaaS Application using CAP
SAP Architecture Center, SAP Architecture Center, Reference architectureThe reasoningA reference
Custom Business Logic Extensibility in CAP (CDS-Oyster)
YouTube — SAP Developers playlists, Nick Josipovic, DJ Adams, Talk

Seen working2

ArtifactSignals
Samples2
mtxs-reviewsMultitenant CAP application using cds-mtxs
No license
SAP-samples/partner-reference-application-extensionCustomer-specific catering extension to the Poetry Slam Manager
none

Details

Coverage
statecore and community, CAP
assessed
relationshipunassessed
SourceExtending SaaS Applicationschecked SourceMTX Services Referencechecked SourceMTX Services Referencechecked SourceExtensibilitychecked
For your agent
Ref
capability:tenant-extensibility
JSON
/capabilities/tenant-extensibility.json
MCP
Connecting an agent