NewSAP Cloud Application Programming Model
In the last 30 days
178 changes
Today
enforce-export-coverageadded to the atlasStatic check that each exported TypeScript function has a testTesting
hana-linteradded to the atlasRegex naming rules for SAP HANA artifacts in a CAP projectLinting
My CAP Projects ToolboxpublishedA working inventory of daily CAP tooling: scaffolding a project with cds init and growing it facet by facet through cds add (TypeScript, seed data, an .http test file, a handler stub), then running it with cds watch and setting a breakpoint in a custom handler from SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal dataTemporal dataKeeping every version of a record that was valid for a period, and reading the one that held at a given moment — the assignment somebody had on the first of March, not the one they have now — without the application filtering time slices by hand.SAP only defined with CAP's temporal aspect, where a plain read returns only what is valid now and a custom handler is needed to retrieve every time slice.Generators
SAP Fiori Application Generator Available in Open SourcepublishedThe SAP Fiori tools team announces that the code behind @sap/generator-fiori@sap/generator-fioriThe single entry point for generating a Fiori application — the user picks a template and the generator produces the project around it.sap official, cap has moved entirely to open source, and names the packages it is built from: writers that output SAP Fiori elements and freestyle SAPUI5 application files, inquirer prompts for picking a back end, and ABAP deploy tasks, coordinated by a sub-generator. Before publishing, the team broke up what had been a monolith, added TypeScript typings and raised test coverage.Fiori annotations
Show 12 more
App hostingcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts.App hosting
Debuggingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): seven ABAP providers newer than the block were never named. State stays core-and-community.Debugging
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.Editor support
Frontend boundarycore coverage revisedReassessed against the graph (check:capabilities): both providers of this capability are sap-official, so no artifact of another origin is present behind the door; the schema allows relationship only on a core-and-community block.Frontend boundary
Generatorscore coverage, coverage by ecosystem, framing by ecosystem revisedReassessed against the graph (check:capabilities): the atlas holds these entries, so the links point at them and not at their repositories (docs/WRITING.md section 4).Generators
Integrated frontend dev servercoverage by ecosystem revisedReassessed against the graph (check:capabilities): the only provider of the capability that counts is cds-plugin-ui5, which sits on the CAP door and does not serve the UI5 door, so no provider of another origin counts there. The core stays present on the sourced what_core_does. The middlewares the removed sentence named are not providers of this capability.Integrated frontend dev server
Local developmentcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers and claimed an absence about who has built something, which goes stale as providers arrive.Local development
Localizationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): providers arrived after the block was last looked at, an XLIFF editor and an MCP server among them, and the text named none of the kinds.Localization
Model visualisationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed.Model visualisation
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.Seed data
Server-side renderingcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the sentence claimed an absence of providers, which goes stale when one arrives.Server-side rendering
TypeScript patternscore coverage revisedReassessed against the graph (check:capabilities): removes the count of ways and links the providers that define each kind (decorators, method names, folder layout, persistence), as WRITING §3 asks.TypeScript patterns
Yesterday
Keep the Core Clean with Rizing CDSXpublishedJhodel CailanJhodel Cailanmaintains 1 entry, wrote 3 posts, contributed to 1 entry recounts hitting a wall where neither RAP nor CAP supported more than a non-draft OData V2 service for the side-by-side extensibility scenario he wanted, and built Rizing CDSX@rizing/cds-extensionA CAP extension, CDSX, that puts a draft-capable facade in front of an OData service imported into CAP, so Fiori elements can edit records that live in another system as drafts.partner, cap (
@rizing/cds-extension) to add draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design over a shadow persistence entity that mirrors a remote, cds import-ed service. He walks through the @cdsx.api annotation that proxies the entity, bootstrapping the module from cds.on('bootstrap') in server.js, and testing the result through a generated Fiori elements app backed by an OData V4 draft service.Draft handlingFri 23
cds-hyper-app-servicelifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.TypeScript patterns
cds-internal-toollifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.Typing
Mon 19
DRY CAP – Making Sustainable Solutions Through PluginspublishedA Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to Plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only.Plugin authoring
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPpublishedA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundaryFrontend boundaryConnecting a separately hosted frontend to an application service: authentication, routing, access to backend systems, user identity propagation and tenant isolation across the hosting boundary.SAP only holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only.Frontend boundary
Editor supportecosystems revisedUI5 Language Assistant, SAP's VS Code extension for UI5 XML views and manifest.json, and the SAPUI5 Extension by iljapostnovs were staged in intake-20261019-bestofui5 with this concern as their best fit, and the capability was not open on the UI5 door. The UI5 reading comes from the UI5 Language Assistant README.Editor support
Integrated frontend dev serverecosystems revisedThe UI5 dev middlewares staged in intake-20261019-bestofui5 that forward the app's backend paths (ui5-middleware-route-proxy, ui5-middleware-destination) could only be placed under ui5-build-tooling, whose own boundary leaves proxying to a backend to middlewares. The two facets stay on CAP, where they were asked. The UI5 reading comes from the UI5 CLI Server page and SAP's backend-proxy-middleware README.Integrated frontend dev server
Show 2 more
Lintingcoverage by ecosystem revisedUI5 linter (@ui5/linter) and ui5plugin-linter were staged in intake-20261019-bestofui5 with provides edges here, so the note that the graph holds no UI5 linter no longer holds and a community linter is present. The UI5 linter README was read again on 2026-10-19.Linting
Seed dataecosystems revisedvscode-ui5-odata-mock-generator and openui5-smart-mockserver were staged in intake-20261019-bestofui5 under ui5-testing; the first one's drafter noted that seed-data fit better but was not open on the UI5 door. The UI5 reading comes from the OpenUI5 mock server pages and SAP's ui5-middleware-fe-mockserver README.Seed data
Sun 18
ui5-cap-serverside-rendering-demoadded to the atlasDemo CAP bookshop with server-rendered UI5 views
Sat 17
abap2UI5 protocoladded to the atlasVersioned specification of the abap2UI5 roundtrip protocol
A Fiori Launchpad Sandbox for all your CAP-based projects - Overviewexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
Add useful Extensions to Dev spaces in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Show 105 more
AI-enabled administration: Automating log analysis with generative AI hubexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Editor support
An introduction to CDS Graphical Modeler for SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
App hostingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit.App hosting
Avoid design time CAP server restarts when maintaining local data filesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Seed data
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End Appexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio Codeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Building an Enterprise Application Using Fiori Elements and CAP - Part 1explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Building an Enterprise Application Using Fiori Elements and CAP – Part 2explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Building an Enterprise Application Using Fiori Elements and CAP – Part 3explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Calling bound / unbound CAP actions from Fiori elements application.explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP - Dynamically hide UI facets in Fiori Elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP full-stack testing with BDD flavourexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
CAP Initializr: Generate SAP CAP Projects in Secondsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
CAP JavaでObject Pageの項目の動的な入力制御を実装するexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP Typescript + Fiori Typescript + live reload Initial app setupexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).TypeScript patterns
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP with Fiori Elements: Configure Multiple Views on List Report Tablesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic Expressionsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
CAP with Local App Previews – Tips for Smooth Developmentexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
CAP: Unit Testing using Mocha and Chaiexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Case-insensitive filters in Fiori Elements (List report + CAP)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async Launchpadexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
CI/CD pipelinesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.CI/CD pipelines
Create a Simple CAP Application and Explore the Defaultsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Create Automated System Tests for SAP Cloud Application Programming Model Projectsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Create Fiori List Report with object page using CAPM(node.js) Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Creating new services using the CDS Graphical Modeler for SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Creating structured types, enums and named aspects using the CDS Graphical Modelerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
debug a CAP app with UI5 TypeScript UI component with VS Codeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Debugging
Deep Insert in SAP CAPM Using Composition and Fiori Elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Develop CAP Project with Lazyvim in Dockerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Develop SAP CAP apps inside a VS Code Docker Containerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Developing a Fiori elements app with CAP and Fiori Toolsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Developing CAP applications in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Developing Fiori Element Application (List Report and Object Page) consuming the OData service created using SAP Cloud Application Programming modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Developing SAP Fiori Element application by using SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message Reportingexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Draft handlingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Draft handling
Dynamic Criticality in SAP CAP Using Fiori Elements and Node.jsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Enhancing Unit Testing in SAP CAP Java Applications with GitHub Copilotexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Establish a central inbox with SAP Task Centerexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Task and approval UIs
Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements Applicationexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Extend Upload Set with Table to Fiori Elements and utilize Object Storeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- Deploymentexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
From R/3 ABAP to CAP/Fiori Elements on SAP Cloudexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Frontend boundarydescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Frontend boundary
Full Stack TypeScript App for Cloud Foundry - Sample Repositoryexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).TypeScript patterns
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2]explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Get an introduction to the cds REPLexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Get familiar with your first CAPM project using CDS graphic modelerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and Deliveryexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).CI/CD pipelines
Getting Started with Unit Testing in SAP CAP Java Applicationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Handling CSV Data Deployment in CAP HDI Without Data Lossexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Seed data
How to Approve/Reject Task via API in SAP Build Process Automationexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Task and approval UIs
How to ensure that users can efficiently enter data in SAP Fiori elements applicationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Draft handling
How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BASexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Importing @sap/cds common.cds to your CAP project using the CDS Graphical Modelerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Integrated frontend dev servername, description revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Integrated frontend dev server
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Linting
ISO content for common CAP typesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Seed data
Lintingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Linting
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Model visualisationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Model visualisation
Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Part 1: How to create CAPM project in BASexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Plugin authoringdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Plugin authoring
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User Storiesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
Random collection of useful code fragments for CAP Fiori Elements and SAPUI5explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Remote Debugging of SAP CAPM App - Nodejsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Running CAP Node Applications in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Plugin authoring
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA Cloudexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).CI/CD pipelines
SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Task and approval UIs
SAP CAP Remote Services & SAP Fiori Elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
SAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
SAP Fiori Element using CAP Model – List Report Appexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
SAP Fiori Elements using CAP Model - Introductionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Integrated frontend dev server
Set up a self-contained development environment for CAP Node.jsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Set up VS Code on Chrome OS for local Application Programming Model developmentexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Storyboard for cloud business applications using CAP in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Testingecosystems revisedThe same concern on the SAP Digital Manufacturing door, opened 2026-10-17: SAP published test automation modules for the product's standard apps.Testing
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
The SAP Fiori elements feature showcase with CAP CDS annotationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Tree-Table Support in CAP is Now Generally Availableexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
TypeScript patternsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.TypeScript patterns
Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated Entititesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network Graphexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Fiori annotations
加速开发和部署的CAP CDS和Fiori一些实用命令explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
Thu 15
cap-reuse-html5added to the atlasFiori elements app in the HTML5 Application Repository with cdm.json
@dxfrontier/cds-ts-dispatcherprovides[typescript-patterns] revisedThe edge said only that the package answers the capability. It now says what it contributes — decorators binding handlers, the three layers its documentation recommends, injection between them and the draft decorators — and states the four comparison facets the capability declares, each on the README sentence it rests on.TypeScript patterns
@dxfrontier/cds-ts-repositoryprovides[typescript-patterns] revisedThe edge carried no sentence. It now says which half of the arrangement the package answers, names the two ways its own documentation shows it being used, and states the persistence value of the capability's layers facet. draft_events is left unstated on purpose: BaseRepositoryDraft reads and writes the draft entity, which is not a place to handle the draft events, and stating the flag here would make the two look like the same fact.TypeScript patterns
@neoimpulse/cap-js-bootstrapprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge was a bare reference: the one capability this package answers carried no sentence and no source, which rule 10 does not allow. The package's own npm text names what it starts, cds watch per service and the router through cds bind --exec, and is quoted in its own language. Read through registry.npmjs.org because npmjs.com refuses the fetcher.Local development
Show 13 more
@sang2x/captoolsprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. Its own command description states that it writes the resolved VCAP_SERVICES into default-env.json, which is the documented difference against cds bind, where only the place the credentials can be fetched from is stored on the machine. Stated as a fact about the file, with the consequence for a project named in when_not_to_use rather than as a judgement on the tool.Local development
@sap/cds-dkprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge named the hybrid profile without naming cds bind, and the capability's new comparison columns need the sourced answers here: the parts of the local stack this starts, that it binds cloud services, and that only the location of the credentials is stored on the machine, which is the difference against a helper that writes them into a file.Generators
cap-handler-frameworkprovides[typescript-patterns] revisedThe edge carried no sentence while the artifact's own description carried the detail. It now says what the package contributes to this capability — method names as the binding, the generated index the service reads, the separate draft hooks and the shared context — and states handler_binding, dependency_injection and draft_events on the README sentences they rest on. The layers facet is left unstated: the feature list read today names no layer above the handlers.TypeScript patterns
cds-plugin-handlersprovides[typescript-patterns] revisedThe edge carried no sentence. It now says how the plugin decides where a handler goes, which is by folder and file name rather than by a decorator, and states the handler_binding and layers values of the capability's comparison, each on the README sentence it rests on. dependency_injection and draft_events are left unstated: the README mentions neither.TypeScript patterns
cds-plugin-typescriptprovides[typescript-patterns] revisedThe edge carried no sentence. It now says what the plugin does at build time and that it says nothing about the arrangement of the code it compiles. Whether the edge belongs on typescript-patterns is an open editorial question recorded with the capability's review: capire now ships a cds build task for TypeScript in @cap-js/cds-typer, which puts this plugin beside the core's toolchain answer rather than beside the arrangement options. No facet values are stated, because the capability's four facets ask about the arrangement and the README answers none of them.TypeScript patterns
cds-routing-handlersprovides[typescript-patterns] revisedThe edge carried no sentence. It now says what the package binds and where it stops, and states the handler_binding and layers values of the capability's comparison on the README sentences they rest on. No lifecycle field was added: the README read today carries no statement by its maintainer about the package's end, and the predecessor sentence in the one-liner is another author's reading, already attributed as such.TypeScript patterns
cds2typeslifecycle, provides[typescript-patterns] revisedThe edge carried no sentence. It now says what the tool produces and that it says nothing about the arrangement of the code around it. Whether this edge belongs on typescript-patterns at all is an open editorial question recorded with the capability's review: generating types from a model is the typing concern, and this pass does not move the edge.TypeScript patterns
com.sap.cds:cds-maven-pluginprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge said the goal rebuilds and restarts and left out that whether it restarts or reloads depends on Spring Boot Devtools, and that on Windows it does not work without them, which is the difference a reader on this flavor meets first.Generators
dev-approuterprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The capability now compares its options by the part of the local stack each one starts, and this package's own description states the part. Nothing was entered for the two flags: the registry page carries no README, so whether it resolves a cloud binding itself is not stated anywhere read here.Local development
Fiori annotationscore coverage, coverage by flavor revisedThe door has two flavors and neither was assessed, so both were derived from the options alone. Java reads core-only: the three community providers are cds-plugins @sap/cds loads, and the Java side's own facts are the compiler running under the Maven build and the one hierarchy annotation the Java runtime reads itself.Fiori annotations
Local developmentcore coverage, coverage by flavor, framing by flavor, facets revisedNine options answered this capability with nothing to compare them by, and they are not variants of one tool: the first question a reader has is which part of the local stack an option starts. The two flags separate the hybrid-testing helpers, where cds bind states that only the location of the credentials is stored on the machine and @sang2x/captools states that it writes the resolved VCAP_SERVICES into default-env.json.Local development
Testingcoverage by ecosystem revisedIntake of @saptools/bruno, which runs request collections against services deployed to Cloud Foundry: the concern exists behind the BTP door.Testing
TypeScript patternscore coverage, coverage by flavor, facets, changed in revisedRead from capire's December 2024 release notes, so the setup steps in readings published before it can be seen to predate the change. The release page names the month only; the date is its first day.TypeScript patterns
Sun 11
AI needs a foundation: A map of the plug-in ecosystem for CAPpublishedA map of the plug-ins for CAP (@sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap), official, community and independent, drawn across regions such as integration, performance and tooling, so that a team can see what exists to reuse and what it would have to build: the question plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only answers from the other side. SAP's abstract places CAP at the centre of its AI strategy, with model context protocol support, and the map is offered as the foundation under that. A TechEd 2026 session (Tuesday 27 October, Community Theater, Berlin), presented by Mike ZaschkaMike Zaschkamaintains 6 entries, created 12 pieces, contributed to 9 entriesindependent, written here from SAP's abstract; the recording is not yet published.Plugin authoring
AI-enabled administration: Automating log analysis with generative AI hubpublishedA log analysis tool for incident work, built in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp with the generative AI hub feature, which SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp ships as its LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published.Editor support
Thu 8
blog-bookshopadded to the atlasCAP bookshop with Fiori elements UI deployed whole to Cloud Foundry
blog-cap-chartadded to the atlasFiori overview page comparing aggregated and plain donut-chart cards
cap-cds-typeradded to the atlasCAP service in TypeScript using types from @cap-js/cds-typer
cap-defaultvalue-functionadded to the atlasCommon.DefaultValuesFunction pointed at a CAP service function
Show 5 more
cap-fe-masseditadded to the atlasMass edit enabled in a Fiori elements list report over CAP
cap-feature-controladded to the atlasSingleton entity whose flags drive Fiori elements feature control
cap-github-actionadded to the atlasCAP project built and deployed to Cloud Foundry by GitHub Actions
cap-java-childadded to the atlasConsumer side of a CAP Java parent pom promotion model with Renovate
cap-java-parent-pom-sampleadded to the atlasMaven parent pom pinning cds-services-bom and Spring Boot for CAP Java
Mon 28
How to build reusable plugin components for CAP Java applicationspublishedA companion to Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official's Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30, showing the same mechanism on CAP Java: a plugin ships as its own Maven artifact with an event handler and a
CdsRuntimeConfiguration implementation, registered through the JDK's ServiceLoader rather than any CAP-specific wiring. The walkthrough builds a cds-emoji-plugin-java jar that decorates @emoji-annotated fields on read, installs it to the local Maven repository, and adds it as a runtime dependency to a cds init --add java bookshop application. It argues the plugin mechanism was not new to CAP Java, just previously undocumented.Plugin authoringSAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1publishedIntroduces SAP Cloud Application Programming Model@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap as an open, opinionated framework that shoulders OData plumbing and database-specific code so a domain is modelled once in CDS, then builds a small bookshop project to show it: @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap's
cds init scaffolds the project, cds watch serves it locally with live reload against an in-memory SQLiteSQLiteAn embedded SQL database engine used as a selectable local cache store by CAP caching plugins. database, and a CatalogService projects a CDS domain model seeded from CSV files. The result is read as an ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design service in the browser and exercised further through a Postman collection, with the optional @sap/vscode-cds@sap/vscode-cdsSAP CDS language support for Visual Studio Code and Business Application Studio, published as an npm library.sap official, cap extension noted for CDS syntax highlighting and completion in VS Code.Local developmentcap-collaborative-draftprovides, description, requires, compat, flavors revisedStated rather than left to the cds-plugin fallback: the README's first line says CAP Node.js backends.Draft handling
Sun 27
cds-plugin-ui5description, provides, compat, flavors, identity revisedRead from the package's own README licence section, as its siblings in the same repository already record.Integrated frontend dev server
cf-setupprovides revisedA GitHub Action runs in a pipeline; it is what ci-cd is about, and deployment is what the pipeline does with it. Filed under deployment before ci-cd reached the CAP door.CI/CD pipelines
CI/CD pipelinesecosystems revisedThe capire audit of 2026-09-27 proposed CI/CD as a CAP concern and found this capability already on the BTP door, where the service is. capire's Deploy using CI/CD Pipelines guide is the CAP door's own answer, cds add github-actions and the service's ready-made CAP pipeline; three content entries about CAP pipelines had been filed under deployment for want of the door. Added by the maintainer's decision.CI/CD pipelines
Debuggingcore coverage revisedPackage pass 2026-09-27: the paragraph named one of the four SAP packages and cited the plugins index only; cds debug and the Java developer dashboard were cited nowhere.Debugging
Show 6 more
Draft handlingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Draft handling
Integrated frontend dev servercore coverage, description, facets revisedThe two facts that separate the answers here: where a project has to sit to be served, and what serves its resources once it is found. Both are stated by each option's own documentation, and both are text until the answers are numerous enough to have a vocabulary.Integrated frontend dev server
Local developmentcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.Local development
Localizationcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Localization
Plugin authoringcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the paragraph names the cds add and cds build plugin APIs, and the design-time APIs index says which package they are and where they must not run.Plugin authoring
Testingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Testing
Sat 26
How to Approve/Reject Task via API in SAP Build Process AutomationpublishedWalks through the Workflow API's
/task-instances PATCH call that SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp exposes to approve or reject a user task from outside its Inbox, matching the instance ID from the Monitoring tab and the identifier of the button the approval form defines. Covers the permission split between an authenticated user, who needs the ProcessAutomationAdmin or ProcessAutomationParticipant role collection to appear as the one who completed the task, and Client Credentials, which completes it as a generic client identity, plus the error codes the API returns for a missing instance, an already-completed task or an invalid status.Task and approval UIsSAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するpublishedWalks through building a group-addressed approval workflow in SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp: a user group created in SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp is bound to the app so an approval step can send one request to every group member's inbox at once, closing as soon as any one of them acts. The approval formTask and approval UIsThe screen a person approves something on — a workflow or process task rendered as a form, embedded in an inbox that supplies its context. Distinct from workflow integration, which is about driving the engine: this is the half a human touches, and its hard part is that it cannot run without the engine that normally feeds it.SAP only shown in that inbox carries a Claim button that hides a claimed task from the other members, and the workflowWorkflow integrationDriving an external workflow or automation engine from an application and reacting to what it emits — triggering runs transactionally and importing the engine’s shape as a typed model.SAP and community, core adopted it's approval step binds its group recipients to the field the requester chose on the start form.Task and approval UIs