Attach a document to a business record and retrieve it later
CAP Node.js
Awaiting editorial review · assessed · no Atlas runtime testing
- cap-attachments-plus · Independent · implementation
Attachment aspect and upload/download UI; own-account AWS, Azure or GCP storage through a BTP destination.
- @cap-js/attachments · SAP official · implementation
Attachment handling through the official CAP Node.js plugin.
- @sap/cds · SAP official · foundation
Documented media streaming foundation rather than a complete attachment user flow.
cap-attachments-plus · conditional
Attachment aspect and upload/download UI; own-account AWS, Azure or GCP storage through a BTP destination.
Conditions: Fiori elements uses a draft-enabled entity.; Cloud storage requires account credentials and a Destination service binding.
Remaining work: Configure storage, authorization and scanning for the application; the development scanner can be mocked.
cap-attachments-plus npm README, latest 1.0.29 at retrieval · checked 2026-10-06
@cap-js/attachments · conditional
Attachment handling through the official CAP Node.js plugin.
Conditions: Fiori elements requires draft enablement.; Productive use requires a valid Object Store binding.
Remaining work: Configure storage and scanning and establish business-record authorization.
@cap-js/attachments README · checked 2026-10-06
@sap/cds · conditional
Documented media streaming foundation rather than a complete attachment user flow.
Conditions: Model a media element and its MIME type.
Remaining work: Implement record association, access control and the upload interface.
CAP — Serving Media Data · checked 2026-10-06
Prototype assessment awaiting review · assessed . No Atlas runtime testing.
Related knowledge
Official reference for the streaming foundation.
Why included: Reading explains the documented implementation contribution. · SAP CAP documentation
Setup and storage requirements for the official plugin.
Why included: Reading explains the documented implementation contribution. · cap-js
Maintainer documentation for attachment handling and own-account storage.
Why included: Reading explains the documented implementation contribution. · npm
Source subject or learning resource; applicability is established separately by the scoped assessment.
Why included: The CAP framework subject is broader than the Node.js runtime. This is a route to context, not package identity or compatibility. · SAP Developers
Why this assessment is relevant
- Attach a document to a business record and retrieve it later → CAP Node.js
Relationships and evidence (15)
cap-attachments-plus → provides → Attachments
Adds an Attachments aspect and Fiori elements upload facet. Cloud attachment content is stored in the application owner’s AWS, Azure or GCP account using credentials from a BTP destination; local development can store content in the database.
Basis: atlas-record
plus — README · checked 2026-09-17Credentials come from a **BTP destination** you create yourself
plus — README · checked 2026-09-17For scenarios where the entity is not draft-enabled, for example [`tests/non-draft-request.http`](./tests/non-draft-request.http), separate HTTP requests for metadata creation and asset uploading need to be performed manually.
plus — README · checked 2026-09-17The plugin's own `[development]` profile default already wires up a **mocked** scanner (`kind: "malwareScanner-mocked"`) that always reports `Clean` without calling any real service.
plus — README · checked 2026-09-17Each cloud provider reads its configuration directly from a BTP destination, pointing at your own AWS, Azure or GCP account rather than an SAP Object Store service instance.
@cap-js/attachments → provides → Attachments
Adds the Attachments aspect, Fiori annotations and file handling to CAP Node.js. Database storage is used locally; productive use requires an Object Store binding. Fiori elements requires draft enablement, while non-draft clients send separate metadata and content requests.
Basis: atlas-record
cap-js/attachments — README · checked 2026-09-17- **AWS S3** (`kind: "s3"`) - **Azure Blob Storage** (`kind: "azure"`) - **GCP Cloud Storage** (`kind: "gcp"`)
cap-js/attachments — README · checked 2026-09-17For scenarios where the entity is not draft-enabled, for example [`tests/non-draft-request.http`](./tests/non-draft-request.http), separate HTTP requests for metadata creation and asset uploading need to be performed manually.
cap-js/attachments — README · checked 2026-09-17If there is no malware scanner available and the scanner is not disabled, then the upload will fail.
cap-js/attachments — README · checked 2026-09-17For productive use, a valid object store binding is required, see [Object Stores](#object-stores) and [Storage Targets](#storage-targets).
cap-js/attachments — README · checked 2026-09-17If you are not using SAP Fiori elements, draft enablement is not required.
@sap/cds → provides → Attachments
Serves an element annotated @Core.MediaType as an OData media resource, stored in the database as a LargeBinary or redirected to an external URL, streamed to and from the client.
Basis: atlas-record
Serving Media Data — capire · checked 2026-09-27CAP provides out-of-the-box support for serving media and other binary data. Media data can be stored either directly in the database or in an external repository, and can be streamed to and from clients.
Serving Media Data — capire · checked 2026-09-27The media data is streamed automatically.
Attach a document to a business record and retrieve it later → associatedWith → Attachments
Discover the shared task through the Attachments concern.
Basis: pilot-assessment
Serving Media Data → explains → @sap/cds
Reading explains the documented implementation contribution.
Basis: pilot-assessment
CAP — Serving Media Data · checked 2026-10-06The media data is streamed automatically.
Attachments plugin guide → explains → @cap-js/attachments
Reading explains the documented implementation contribution.
Basis: pilot-assessment
@cap-js/attachments README · checked 2026-10-06For productive use, a valid object store binding is required
cap-attachments-plus guide → explains → cap-attachments-plus
Reading explains the documented implementation contribution.
Basis: pilot-assessment
cap-attachments-plus npm README, latest 1.0.29 at retrieval · checked 2026-10-06Credentials come from a **BTP destination** you create yourself
CAP Framework (Cloud Application Programming Model) → contextualizes → @sap/cds
The CAP framework subject is broader than the Node.js runtime. This is a route to context, not package identity or compatibility.
Basis: pilot-mapping
Mapping: about · pending-human-review · authored from cited sources · checked 2026-10-06
CAP — Serving Media Data · checked 2026-10-06The media data is streamed automatically.
CAP Node.js → assesses → Attach a document to a business record and retrieve it later
One shared outcome, one scoped assessment.
Basis: pilot-assessment
cap-attachments-plus → contributesTo → CAP Node.js
Attachment aspect and upload/download UI; own-account AWS, Azure or GCP storage through a BTP destination.
Basis: pilot-assessment
cap-attachments-plus npm README, latest 1.0.29 at retrieval · checked 2026-10-06Credentials come from a **BTP destination** you create yourself
@cap-js/attachments → contributesTo → CAP Node.js
Attachment handling through the official CAP Node.js plugin.
Basis: pilot-assessment
@cap-js/attachments README · checked 2026-10-06For productive use, a valid object store binding is required
@sap/cds → contributesTo → CAP Node.js
Documented media streaming foundation rather than a complete attachment user flow.
Basis: pilot-assessment
CAP — Serving Media Data · checked 2026-10-06The media data is streamed automatically.
CAP Node.js → reading → Serving Media Data
Curated supporting reading for this assessment.
Basis: pilot-assessment
CAP — Serving Media Data · checked 2026-10-06The media data is streamed automatically.
CAP Node.js → reading → Attachments plugin guide
Curated supporting reading for this assessment.
Basis: pilot-assessment
@cap-js/attachments README · checked 2026-10-06For productive use, a valid object store binding is required
CAP Node.js → reading → cap-attachments-plus guide
Curated supporting reading for this assessment.
Basis: pilot-assessment
cap-attachments-plus npm README, latest 1.0.29 at retrieval · checked 2026-10-06Credentials come from a **BTP destination** you create yourself
Gaps, source snapshot and retrieval limits
- This assessment does not establish repository versioning, retention policy or tenant isolation for a chosen deployment.
- Independent origin follows the existing atlas artifact classification; it is not a license or quality rating.
- Retrieval uses at most four typed steps within a bounded source index. Source relationships do not establish compatibility.
Developers snapshot checked 2026-10-05 · 33 indexed records from a 9,023-node source snapshot. This is a bounded retrieval view; absence is not evidence that no solution exists. Source relationships and proximity do not establish runtime compatibility.
Mapping version: connected-tasks-2026-10-06-v4+mcp-records-b256b58cfb844590. Task and mapping evidence remain separate from implementation evidence.