Person
Oliver Klemenz
GitHub@oklemenz2last push
Provides
Async processingCAPAsync processingDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.CachingCAPCachingHolding the result of an expensive read so the next one is cheap. This spans four different things people call caching — HTTP response caching, query result caching, remote service response caching, and application-level memoisation. They are not interchangeable, and picking the wrong one is the usual cause of stale-data bugs in multitenant apps.Data federationCAPData federationReading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be.Job schedulingCAPJob schedulingRunning something later, or on a cadence, without keeping a process alive to do it — a nightly job, a retry in an hour, a report on the first of the month — and knowing afterwards whether it ran.Local developmentCAPLocal developmentRunning the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change.Metadata publishingCAPMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.ODataCAPODataExposing 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.Rate limitingCAPRate limitingCapping how many requests a service will accept per tenant or per caller, so one consumer cannot exhaust a shared deployment, whether enforced by a policy in front of the application or inside its own process.Schema evolutionCAPSchema evolutionGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.
Entries
Group by
EntrySignals
Maintains
@cap-js-community/common@cap-js-community/commonSix independent features for CAP services in one package: replication cache, migration check, rate limiting, a Redis client broker, a local HTML5 repository and a CDM builder.community org, cap
It is a bundle, not a plugin with one job. Depending on it for one feature brings the rest.
Six CAP features in one package, from replication cache to rate limits
@cap-js-community/event-queue@cap-js-community/event-queueTransactional processing of asynchronous and periodic events, with instant dispatch over Redis Pub/Sub and load spread across every application instance.community org, cap
If you need sub-second fan-out to external consumers this is the wrong layer — reach for [Event Mesh](artifact:btp-event-mesh) or Kafka. Without [Redis](external:redis), periodic processing still works but instant dispatch degrades to polling.
Transactional processing of asynchronous and periodic CAP events
@cap-js-community/odata-v2-adapter@cap-js-community/odata-v2-adapterExposes a CAP service as OData V2 for clients that cannot move to V4.community org, cap
Exposes a CAP service as OData V2
@cap-js-community/sap-afc-sdk@cap-js-community/sap-afc-sdkSDK for building SAP Advanced Financial Closing scheduling providers on CDS.community org, cap
SDK for SAP Advanced Financial Closing scheduling providers on CDS
Contributes to
@cap-js-community/websocket@cap-js-community/websocketA WebSocket adapter for CDS services, speaking either the plain WebSocket protocol or Socket.IO, so a service can push instead of being polled.community org, cap
WebSocket and Socket.IO adapter for CDS services
capire/docscapire/docsThe sources of capire itself, in the repository it is built from: the documentation every core_coverage claim in this graph is checked against, so a claim can be dated against a commit.sap official, cap
Sources of capire, the CAP documentation
Details
History
- @cap-js-community/commoncapability:local-development curation on 2026-10-15. The edge rested on a link with no quoted sentence, and the README states both halves a reader needs: the apps in the app folder with a ui5.yaml come from the file system and everything else is proxied to the remote repository, with the configuration file in the approuter folder as the prerequisite.
- @cap-js-community/odata-v2-adapterThe option states the protocol it serves for this concern, from its README (docs/concepts/design-roles-and-interfaces.md, P2): the odata facet is what is served, and the adapter serves V2; the V4 the same sentence names is what it translates into, which @sap/cds serves and states. The checker's reading found the runtime the README calls mandatory carried by no edge; it is one now.
- @cap-js-community/commonMaintainer README documents replication configuration and the required production dependency.
- @cap-js-community/event-queueVerdict rings retired. What the ring compressed now lives in readings derived from facts (liveness, compatibility, reach) and in the description fields, so a thing can be dead as a dependency and still worth reading. VISION §9.
- First entry seenDiscovered via npm registry, GitHub API · cap-js-community, bestofcapjs, capire · plugins.
For your agent
- Ref
actor:oklemenz2- JSON
- /actors/oklemenz2.json
- MCP
- Connecting an agent