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 →

ui5-cap-serverside-rendering-plugin

A CAP plugin that fills UI5 views and fragments with entity data on the server through Handlebars and streams them as XML, and renders a Vue app to HTML on a route of its own.

A UI5 view reaches the browser as a template and fills itself once the framework has booted and read its data. This plugin does the filling on the CAP server: a view or fragment lives under srv/views or srv/fragments with its UI5 bindings rewritten as Handlebars expressions, and the entity extends the plugin's ServerSideRendering aspect, which adds the virtual content, mediaType and fileName elements the result is served through. An after READ handler answers a request for that entity's content, compiles the template against the rows read and streams it back as application/xml. Which file it reads follows from @ServerSideRenderingType and @ServerSideRenderingName, or, failing those, from the entity name plus List or Detail, and a read with keys expands the entity's associations and compositions so a detail fragment carries the record and what hangs off it. A second path serves Vue rather than UI5: an entity annotated @VueApp registers a /vue-ssr route that calls Vue's renderToString and substitutes the markup and the captured state into an HTML template at {{APP_HTML}} and {{APP_STATE}}.

Facts

Latestv1.0.8ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Server-side renderingCAPServer-side renderingcapabilityRendering a UI on the server before it reaches the browser — first paint without waiting for a client framework to boot, and markup a crawler can read.
Flavors
Node.jsfrom its runtime
Requires
@sap/cds≥ 8@sap/cdsartifactThe peer range, as published.

Who is behind it

Wouter LemaireWouter LemairePersonMaintains this
In the atlas: maintains 25, contributes to 39, wrote 12
@lemaiwo
maintainerVolker BuzekPersonContributes to this
In the atlas: maintains 7, contributes to 53, wrote 2
@vobu
1 contributor

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 →
PracticalFunctional boundary

On the UI5 path what comes back is an XML view or fragment with the data already substituted, streamed as the entity's media content, rather than an HTML page — the README calls this pre-rendering, and only the Vue path produces markup. The view kept under srv/ has its UI5 bindings replaced by Handlebars expressions, so it is a second copy of the view, separate from the one the application ships. Version 1.0.8 declares @sap/cds >=8 as its peer dependency, which puts a project on CAP 7 outside its stated range.

What it declares

Every artifact

Type
CDS plugin
Origin
Independently maintained
Runtime
Node.js

As a CDS plugin

Declared for
>=8
Distributed through
npm

Connections2

Install

npm add ui5-cap-serverside-rendering-plugin

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

Learn more1

Readings
  1. Create your first CAP pluginWouter Lemaire, SAP Community

README

quoted from lemaiwo/ui5-cap-serverside-rendering-plugin under Apache-2.0, read
lemaiwo/ui5-cap-serverside-rendering-plugin/README.mdOn GitHub

ui5-cap-serverside-rendering-plugin

CAP CDS Plugin that enables UI5 pre-rendering on a CAP server. Views or fragments can be developed/stored in the CAP service using handlebars for bindings. This plugin will enable the defined entities to get the data from an entity and replace the handlebar bindings in the view with the data and return a pre-rendered view or fragment.

Installation

npm install ui5-cap-serverside-rendering-plugin

Usage

Create a folder "views" or "fragments" in the "srv" folder of your CAP project. Move your UI5 view or fragment into this folder and replace the UI5 bindings with handlebars, e.g.: https://github.com/lemaiwo/ui5-cap-serverside-rendering-plugin/blob/main/tests/demo-project/srv/views/BooksList.view.xml

<List headerText="Books" selectionChange="onSelectedBook" mode="SingleSelectMaster" >
    {{#each Books}}
        <StandardListItem
            type="Active"
            title="{{title}} - {{ID}}"
            description="{{author}}">
            <customData>
                <core:CustomData key="ID" value="{{ID}}" writeToDom="true" />
            </customData>
        </StandardListItem>
    {{/each}}
</List>

Enable an entity for this pre-rendering by loading the plugin and add the aspect "ServerSideRendering" to the entity. Next to that, you can also define if you like to use views or fragments. The plugin will use view as the default in case this is not defined: https://github.com/lemaiwo/ui5-cap-serverside-rendering-plugin/blob/main/tests/demo-project/db/schema.cds

using { ServerSideRendering } from 'ui5-cap-serverside-rendering-plugin';

entity Books@(ServerSideRenderingType:'view'):ServerSideRendering {
  key ID : Integer;
  title  : String;
  stock  : Integer;
}
Example

You can find a demo project here: https://github.com/lemaiwo/ui5-cap-serverside-rendering-demo

Apache-2.0, read

History

Latest

v1.0.8

  1. v1.0.7

  2. v1.0.6

  3. v1.0.5

  4. v1.0.4

  5. v1.0.3

  6. v1.0.2

  7. v1.0.1

  8. v1.0.0

On npm
0downloads per week, npm
Weekly downloads for ui5-cap-serverside-rendering-plugin26 complete calendar weeks from 2026-04-27 to 2026-10-25; the latest total is 0.27 Apr – 3 May: 24 May – 10 May: 1511 May – 17 May: 3518 May – 24 May: 1125 May – 31 May: 21 Jun – 7 Jun: 138 Jun – 14 Jun: 315 Jun – 21 Jun: 2722 Jun – 28 Jun: 1329 Jun – 5 Jul: 216 Jul – 12 Jul: 1313 Jul – 19 Jul: 420 Jul – 26 Jul: 1127 Jul – 2 Aug: 43 Aug – 9 Aug: 3010 Aug – 16 Aug: 1317 Aug – 23 Aug: 324 Aug – 30 Aug: 1431 Aug – 6 Sept: 37 Sept – 13 Sept: 1414 Sept – 20 Sept: 421 Sept – 27 Sept: 728 Sept – 4 Oct: 195 Oct – 11 Oct: 2612 Oct – 18 Oct: 619 Oct – 25 Oct: 0

Details

Sources4
GitHub APIdiscovered here, lemaiwochecked
npm registry, ui5-cap-serverside-rendering-pluginversion, 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
runtimesnode
declared for>=8
latestv1.0.8
first release
releases and cadence9, ~2d median
discovered viaGitHub API · lemaiwo
first seen in the atlas
ecosystem and domaincap, ui-and-frontend-bridge
Contributors1

From the repository’s contributor list, .

History in the atlas6
  1. CAP plugin that fills UI5 views and fragments with entity data on the server through Handlebars, and renders a Vue app to HTML on a route of its own.
  2. written from the README, index.cds and cds-plugin.js on main, read 2026-09-22
  3. the XML-not-HTML boundary, the duplicated view, and the stated CAP 8 floor
  4. the Vue path's REVISIT markers and its one-app-per-server configuration
  5. the same edge in object form, with what_it_does and two sources
  6. First seen.
For your agent
Ref
artifact:lemaiwo-ui5-cap-serverside-rendering-plugin
JSON
/artifacts/lemaiwo-ui5-cap-serverside-rendering-plugin.json
MCP
Connecting an agent