CDS pluginCDS plugintypeInstalls into a CAP project and extends the runtime. CAP loads it through cds.requires or the plugin hook.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

cap-attachments-plus

A CAP Node.js attachments plugin with an Attachments aspect and a Fiori elements upload facet, storing content in the database locally or in AWS, Azure or GCP through a BTP destination.

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. Non-draft clients create metadata and upload content in separate requests.

Facts

Latestv1.0.29ReleasedLicenceApache License 2.0, January 2004

Where it sits

Lives in
Provides
AttachmentsCAPAttachmentscapabilityStoring a file somebody uploaded next to the record it belongs to, and getting it back out — where the bytes actually live, who may read them, and what the UI shows while they are being scanned.
Flavors
Requires
@sap/cds≥ 8@sap/cdsartifactThe peer range, as published.
Optional
SAP Destination serviceSAP Destination serviceartifactA cloud storage backend is selected.SAP Malware Scanning serviceSAP Malware Scanning serviceartifactReal malware scanning is enabled rather than the development mock.Object Store on SAP BTPObject Store on SAP BTPartifactAutomatic per-tenant Object Store provisioning is used.

Before choosing this

Conditions

LicenceSAP Developer License Agreement 3.2 CAP§ 1, 2, 3A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.
  • § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
  • § 2 Intellectual Property. The agreement retains SAP's rights in the covered materials and limits making APIs, tools or software available to third parties, while preserving ownership of customer applications subject to SAP's underlying rights.
  • § 3 Artificial Intelligence Training. The agreement prohibits use of the covered materials and customer applications for training artificial-intelligence models or systems.
SAP Developer License Agreement 3.2 CAP →

What it declares

Every artifact

Type
CDS plugin
Origin
Independently maintained

As a CDS plugin

Declared for
>=8
Distributed through
npm

For attachments

Storage target
Local database; own AWS, Azure or GCP storage via BTP destination
Upload flow
Fiori elements uses drafts; non-draft upload uses separate requests
Scan behaviour
Configurable; development mock reports Clean without scanning

Tasks this contributes to1Beta

Keep attachment content out of the application databaseA deployed CAP application keeps uploaded file content in an object store or a document repository, and keeps only the metadata and a reference in its own database.Node.js, JavaAssessed, not knownstorage
What it does

The graph records a claim dated 2026-09-17 that this plugin stores cloud content in the application owner's own AWS, Azure or GCP account through a BTP destination, which would be the one option here that keeps the bytes outside SAP's service. That claim has not been re-established.

Remaining work

Retrieve the npm README again. https://www.npmjs.com/package/cap-attachments-plus returned HTTP 403 on 2026-09-19 and again on 2026-09-20, and the package has no public repository to read instead.

All options on the Attachments page →

Connections4

Install

npm add cap-attachments-plus

Derived from the package name. No recipe recorded; the README has the configuration.

Where it sits in your app

Download
Your CAP applicationYour SAP BTP subaccountdocumentedmay needif A cloud storage backend isselecteddocumentedmay needif Real malware scanning isenabled rather than thedevelopment mockdocumentedmay needif Automatic per-tenant ObjectStore provisioning is usedcap-attachments-plus, modulecap-attachments-plusSAP Destination service, service instanceSAP DestinationserviceSAP Malware Scanning service, service instanceSAP MalwareScanning serviceObject Store on SAP BTP, service instanceObject Store onSAP BTP
SAPnot SAP's, or the project's ownunder a condition

README

quoted from cap-attachments-plus@1.0.29, read
cap-attachments-plus@1.0.29/README.mdOn npm

REUSE status

Attachments Plugin

The cap-attachments-plus package is a CDS plugin that provides out-of-the box asset storage and handling by using an aspect called Attachments.

excerpt, Apache License 2.0, January 2004, read licencethe rest, on npm

History

Latest

v1.0.29

  1. v1.0.28

  2. v1.0.27

  3. v1.0.26

On npm
9downloads per week, npm
Weekly downloads for cap-attachments-plus26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 9.20 Apr – 26 Apr: 027 Apr – 3 May: 04 May – 10 May: 011 May – 17 May: 018 May – 24 May: 025 May – 31 May: 01 Jun – 7 Jun: 08 Jun – 14 Jun: 015 Jun – 21 Jun: 022 Jun – 28 Jun: 029 Jun – 5 Jul: 06 Jul – 12 Jul: 013 Jul – 19 Jul: 020 Jul – 26 Jul: 027 Jul – 2 Aug: 03 Aug – 9 Aug: 010 Aug – 16 Aug: 51217 Aug – 23 Aug: 3724 Aug – 30 Aug: 1631 Aug – 6 Sept: 137 Sept – 13 Sept: 1414 Sept – 20 Sept: 821 Sept – 27 Sept: 1128 Sept – 4 Oct: 65 Oct – 11 Oct: 912 Oct – 18 Oct: 9
Attachments
  1. AttachmentCommentODataServiceABAP OData service for attachments and comments via GOSfrom ABAP
  2. SAP Document Management service, application optionReady-to-use web application for enterprise contentfrom BTP/BAIP
  3. SAP Document Management service, integration optionAPIs and a UI5 component for document management in appsfrom BTP/BAIP
  4. com.sap.cds:cds-feature-attachmentsCAP Java attachments with database storage and an Object Store modulefrom CAP
  5. com.sap.cds:sdmCAP Java plugin for attachments in SAP Document Managementfrom CAP
  6. @cap-js/attachmentsCAP Node.js attachments with database, S3, Azure or GCP storagefrom CAP
  7. @cap-js/sdmCAP attachments stored in an SAP Document Management repositoryfrom CAP
  8. ui5-upload-controlsUI5 control library for file upload and download in front of CAPfrom UI5
  9. @sap/cdsCAP Node.js runtimefrom CAP
  10. @tklein1801/cap-js-attachmentsCAP Node.js attachments plugin with Object Store and malware scanningfrom CAP
  11. @ui5/webcomponentsSAP's UI elements as standard custom elementsfrom UI5
  12. sap-cap-sdm-pluginCAP Node.js plugin mapping CDS entities to SAP Document Managementfrom CAP

Details

Connected knowledge — wider context1

Source connections explain where this sits. Implementation claims remain in their exact task assessment.

Attach a document to a business record and retrieve it later · CAP Node.js

Prototype assessment awaiting review · assessed . No Atlas runtime testing.

Related knowledge

Serving Media Data

Official reference for the streaming foundation.

Why included: Reading explains the documented implementation contribution. · SAP CAP documentation

Attachments plugin guide

Setup and storage requirements for the official plugin.

Why included: Reading explains the documented implementation contribution. · cap-js

cap-attachments-plus guide

Maintainer documentation for attachment handling and own-account storage.

Why included: Reading explains the documented implementation contribution. · npm

CAP Framework (Cloud Application Programming Model)

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
  1. 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.

Sources4
npm registrydiscovered herechecked
The discovery passdiscovered herechecked
npm registry, cap-attachments-plusversion, releases, installschecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
declared for>=8
latestv1.0.29
first release
releases and cadence4, ~0d median
discovered vianpm registry, The discovery pass
first seen in the atlas
ecosystem and domaincap, data-and-persistence
Flavors1
Node.js
“The attachments plugin needs to be referenced in the package.json of the consuming CAP NodeJS application:” — cap-attachments-plus — npm READMEchecked
History in the atlas4
  1. 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.
  2. npm: https://www.npmjs.com/package/cap-attachments-plus
  3. A derived copy of the official attachments plugin, published under its own name; its readme is @cap-js/attachments' with the package name swapped.
  4. First seen.
For your agent
Ref
artifact:cap-attachments-plus
JSON
/artifacts/cap-attachments-plus.json
MCP
Connecting an agent