NewSAPUI5 and OpenUI5
Domain Data & PersistenceDomain Developer ExperienceDomain Protocols & APIs

Today
10 changes
How to Use NPM Modules Like crypto-js in SAPUI5 Using UI5 Tooling ModulespublishedWalks through adding ui5-tooling-modules to a SAPUI5 project on UI5 Tooling v3: installing the npm package crypto-js alongside it, then wiring a ui5-tooling-modules-task builder task and a ui5-tooling-modules-middleware dev-server middleware into ui5.yaml so the UI5 module loader can resolve it. A controller then loads crypto-js/sha256 through sap.ui.define and calls it like any other AMD dependency, with the stated limit that the pattern works only inside a controller or other AMD-style module, not through a top-level import or require().Blog,
ui5-task-check-eocpadded to the atlasUI5 build task warning when the app's UI5 version reaches EOCPBuild tool,
Attachmentscoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): drops a count-like contrast with a plugin the flavor does not have.Capability,
Build and dev-server toolingcore coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): removed a count ("the one ... project") and an absence claim about who built something, restated as a fact about the documentation.Capability,
Show 6 more
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.Capability,
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).Capability,
Importing and exporting table datacore coverage revisedReassessed against the graph (check:capabilities): the count of sample repositories goes stale as providers arrive, and the ABAP backend importer and the Excel add-in change the shape of the answer, so the note names those kinds. The ABAP state stays core-and-community.Capability,
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.Capability,
TypeScript supportcore coverage revisedReassessed against the graph (check:capabilities): four providers arrived after the block was assessed (dts-generator task, Babel transform, JSX runtime, UI5 MCP server) and the text named none. The state stays core-and-community: the block's sourced what_core_does keeps the core present and community-origin providers count for the ui5 door. assessed_at and relationship stand.Capability,
UI5 testingcore coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): Node.js unit test environments and mock-data generators are kinds the text did not name.Capability,
Sat 24
1 change
ui5-test-runnerreleased 6.0.0Command line running UI5 QUnit and OPA tests in parallelCLI,
Wed 21
1 change
Using the UI5 Mockserver for Client-Specific Data and TestingpublishedWalks through a same-day feature in @sap-ux/ui5-middleware-fe-mockserver, 'Support autoloading mockdata file for specific tenants', which loads a <Entity>-<client>.json file keyed to the sap-client URL parameter and falls back to the entity's plain JSON file when no client-specific one exists. Shows the setup replacing generated mock data with hand-written JSON, then drives the same sap-client parameter through separate package.json scripts so wdi5 end-to-end tests can run against distinct tenant datasets.Blog,
Mon 19
40 changes
@ui5-community/jsx-runtimeadded to the atlasPlugin-based JSX runtime for UI5 views written as .tsxPackage,
@ui5-community/jsx-runtime-helloworldadded to the atlasScaffolded UI5 TypeScript app consuming the JSX runtimeSample,
@ui5-community/jsx-runtime-showcaseadded to the atlasShowcase and documentation app of @ui5-community/jsx-runtimeSample,
@ui5/linteradded to the atlasStatic analysis tool for UI5 projectsCLI,
Show 36 more
@ui5/middleware-code-coverageadded to the atlasUI5 CLI middleware for Istanbul code coverageBuild tool,
@ui5/sample-appadded to the atlasOpenUI5 sample app set up with the UI5 CLISample,
@ui5/tooling-webcadded to the atlasDeprecated UI5 Tooling extensions for UI5 Web Components wrappersBuild tool,
generator-ui5-react-nestadded to the atlasYeoman generator for a UI5 app that loads a React appGenerator,
jest-environment-ui5added to the atlasJest environment running UI5 unit tests in Node.jsPackage,
openui5-smart-mockserveradded to the atlasUI5 MockServer extension generating mock data with Faker.jsPackage,
UI5 Toolsadded to the atlasVS Code extension to serve, proxy, build and deploy UI5 projectsIDE extension,
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperiencepublishedA Devtoberfest 2026 session on @ui5-community/jsx-runtime, the incubation project that lets a UI5 view be written as TSX: XML-like markup that the TypeScript compiler checks against the control's own types and a Babel plugin turns into the constructor calls UI5 already makes. The edge to the runtime rests on the session's own description, which gives the project's documentation site as the session's documentation. The TypeScript support edge holds because that is the session's subject — per-property checking, completion on every attribute, renames that carry through a view, and typed event objects that remove the casts — alongside what stays unchanged: string and expression bindings, controllers, routing and i18n, and XML views living beside TSX ones in the same app. The build edge rests on the setup, where ui5-tooling-transpile is given the JSX transform in ui5.yaml; the walkthrough then builds a bookshop app on a CAP OData service and names what is still missing, UI flexibility and native HTML among it.Talk,
ui5-control-generatoradded to the atlasCommand line generator of UI5 custom controls from htmlGenerator,
ui5-deployeradded to the atlasUI5 Tooling module deploying Fiori/UI5 apps to SAP systemsCLI,
ui5-middleware-destinationadded to the atlasUI5 Tooling middleware proxying destinations and neo-app.json routesBuild tool,
ui5-middleware-oidcadded to the atlasUI5 dev server middleware adding an OpenID Connect loginBuild tool,
ui5-middleware-route-proxyadded to the atlasUI5 server middleware proxying route prefixes to a backendBuild tool,
ui5-task-cachebuster-indexingadded to the atlasUI5 builder task preparing build output for the cachebusterBuild tool,
ui5-task-dts-generatoradded to the atlasUI5 builder task generating d.ts type declarationsBuild tool,
ui5-task-minifieradded to the atlasUI5 builder task minifying HTML, CSS and JSON filesBuild tool,
ui5-task-transpile-genadded to the atlasUI5 builder task transpiling ES6 to ES5 with BabelBuild tool,
ui5pluginadded to the atlasSAPUI5 extension for Visual Studio CodeIDE extension,
ui5plugin-linteradded to the atlasCommand-line linter for UI5 classes, XML views and i18n filesCLI,
ui5plugin-parseradded to the atlasnpm library parsing SAPUI5 and project UI5 class metadataPackage,
vitest-environment-ui5added to the atlasVitest environment running UI5 unit tests in Node.jsPackage,
vscode-ui5-language-assistantadded to the atlasVS Code extension for SAPUI5 and OpenUI5 XML views and manifestIDE extension,
vscode-ui5-odata-mock-generatoradded to the atlasVS Code extension generating OData mock data from service metadataIDE extension,
wdio-qunit-serviceadded to the atlasWebdriverIO service running QUnit test pagesPackage,
@satiroglu/kaevlinks, type properties, requires revisedThe dependency the entry could not point at before. @ui5/linter is pinned at 1.23.7 in the npm record's dependencies and the README states "Integrates the official @ui5/linter in a restricted child process", so the edge is the maker's own statement; the for sentence carries the conditions the rule reference puts on the adapter rather than on the dependency, which ships with every install. Written now because the artifact exists to point at: it was not in the graph when this entry was drafted, and the prose link in what_it_solves moves from the repository address to the entry with it.CLI,
@ui5-community/jsx-runtimedescription, requires[external:babel-plugin-transform-react-jsx], identity, type properties revisedThe type owns the key for a package (CONCEPT-038) and the record stated nothing, which reads as "does not say" while the README's repository layout says of this package "Publishable to npm." and the package README's install step is "pnpm add @ui5-community/jsx-runtime". The sibling packages in the same monorepo are each marked "Not published" and state no distribution.Package,
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.Capability,
generator-ui5-react-nestentry revisedListed on bestofui5.org and not yet in the atlas. Read from the repository README (main branch) and the npm record for 1.0.14 (Apache-2.0, author Aydin Ozcan, depends on yeoman-generator ^5.7.0). README sentences used: "Unlike traditional solutions that rely on iframes"; "UI5Nest control integration with Workzone or Fiori Launchpad (on-prem) is seamless."; "You can deploy to HTML5 Repository like you do it with your UI5 application."; "The scaffolded React application uses Vite,"; "generator-ui5-react-nest scaffolds the necessary files and configurations for managed router." The when_not_to_use sentence rests on the README's statements that it opts for JavaScript, that react-router-dom is not included in the generated project and that UI5 Web Components are left out.Generator,
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.Capability,
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.Capability,
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev Experienceexplains, summary and sources revisedThe session is about the runtime the atlas holds, and the entry named it only as "the incubation project". Its own description gives the project's documentation site as the session's documentation, "Documentation: https://ui5-community.github.io/jsx-runtime/", which is the docs address of artifact:ui5-community-jsx-runtime, and that page carries the same label the session uses for the project, Incubation. The description sentence is added as a source and the summary names and links the runtime instead of pointing at it. The two edges already recorded are unchanged, and so are the claims about what the session shows: the quotes behind them were re-read on 2026-10-19. The session's own repository, github.com/petermuessig/devtoberfest2026-jsxruntime, is named in the same description and is not in the graph, so it is not an edge here.Talk,
ui5-fe-mockserver-tutorialtype properties, requires revisedThe README's Prerequisites tell the reader to clone and run that CAP project before starting, and the fact was already in what_it_solves with no edge under it. artifact:marianfoo-ui5-call-action was a pending draft when this entry was written and is published now, so the plain link in the prose became a graph link in the same pass, as did ui5-middleware-odata-recorder.Sample,
ui5-tooling-transpiledescription revisedFound while assessing artifact:ui5-community-jsx-runtime, which requires this extension at version 3.12 or later for exactly that option: the record described the transpile step and said nothing about JSX, so the dependency was visible from one side only. The sentence rests on this package's own README, which says of the option that it "includes the `@babel/plugin-transform-react-jsx` into Babels plugin configuration to transform JSX/TSX syntax into JavaScript" (read 2026-10-19). The version the option arrived in is not stated there, so it stays on the requiring edge where the sentence that gives it lives, and nothing here names the runtime, which this README does not mention.Build tool,
ui5pluginentry revisedListed on bestofui5.org as ui5plugin and not yet in the atlas. Read from the repository README and package.json (name ui5plugin, displayName SAPUI5 Extension, version 1.21.1, Apache-2.0, engines vscode ^1.86.0) and the Marketplace page (identifier iljapostnovs.ui5plugin, description "Extension for working with UI5 projects"). The npm name ui5plugin is unpublished, so no npm link. No part_of edge: the README says the extension uses the parser and linter packages, which is a dependency and not a statement that they are parts of it. No capability for editor support on the UI5 door exists, so only linting is claimed.IDE extension,
ui5plugin-linterentry revisedListed on bestofui5.org and not yet in the atlas. Read from the repository README (https://github.com/iljapostnovs/ui5plugin-linter): "Command Line Linter for UI5 based projects."; the install, --rmcache and --format commands; the JS/TS, XML and properties checks; and "It is possible to add config for ui5plugin-parser as well." The npm record for 1.17.1 gives the bin ui5linter, Apache-2.0 and the ui5plugin-parser 1.10.1 dependency. It is a different tool from SAP's UI5 linter (github.com/UI5/linter), which the graph does not hold as an artifact.CLI,
ui5plugin-parserentry revisedListed on bestofui5.org and not yet in the atlas. Read from the repository README (https://github.com/iljapostnovs/ui5plugin-parser): "Parser package for UI5 based projects"; "Initialization process reads the metadata of standard SAPUI5 classes and parses all projects in CWD"; "UIClass will have class metadata such as fields, methods, properties, aggregations, associations, events etc."; "Primarely used by ui5plugin-linter package and Visual Studio Code SAPUI5 Extension"; "nested projects are not supported anymore"; and the npm record for 1.10.1 (Apache-2.0, author Ilja Postnovs). No provides edge: the README describes a parser, and none of the capabilities in the graph is a parsing library. Distribution through npm rests on the registry record alone, since the README gives no install command.Package,
Sat 17
14 changes
abap2UI5 Layout Editoradded to the atlasDrag-and-drop UI5 view editor that writes an abap2UI5 app classWeb tool,
Building an Attachment Upload and Download Solution Using UploadSetwithTable Controlexplains 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).Blog,
Building Secure SAPUI5 Applications: Best Practices for Developersexplains 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).Blog,
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).Tutorial,
Show 10 more
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).Blog,
Extend Upload Set to Fiori Elements and utilize Document Management 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).Blog,
Lintingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Media Handling in SAP CAPM – Backend and Frontend Implementationexplains 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).Blog,
Migrate your code with UI5 linter – Autofix has landedexplains 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).Blog,
The Complete Guide to Calling Actions in UI5 with Custom 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).Blog,
TypeScript supportdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit.Capability,
UI5 Has Entered the Chat: Building Interactive MCP Apps for SAPexplains 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).Blog,
Unlocking Efficiency: Leveraging SAP BTP Document Management Service in Fiori Applications # 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).Blog,
Upload attachments in a Freestyle UI5 and CAP 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).Blog,
Fri 16
1 change
open-steamgateadded to the atlasLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemApp,
Thu 15
4 changes
karma-ui5-transpilelifecycle, provides[capability:ui5-testing], description revisedThe README calls the karma-ui5 plugin obligatory and says the configuration is read from it, which is what makes it a prerequisite rather than a companion.Package,
UI5 testingcore coverage, coverage by flavor, framing by flavor, facets revisedTwo questions the options' own documentation answers and a reader asks first: which level of the suite a tool is for, and whether it produces a coverage report. Three more were researched and left out. Whether a tool reaches an app served elsewhere would have been stated yes by two options and by nobody as a no, so it would have separated rows by absence, which absence does not mean. The automation libraries a tool drives are named by one option only. Declared maturity is the lifecycle field on the artifact, not a column here.Capability,
ui5-test-runnerdescription, provides[capability:ui5-testing] revisedBoth are stated by the documentation in its own words: QUnit pages are labelled unit tests and OPA5 pages integration tests, and coverage is documented for both modes. Version 6 turns coverage off by default, which is a setting and not a change to whether it is available.CLI,
wdio-ui5-servicedescription, provides[capability:ui5-testing], links revisedThe documentation site SAP's own testing page links to as the wdi5 home page, and where the authentication and running pages read for this assessment are published.Package,
Wed 14
2 changes
Attachmentscoverage by ecosystem revisedThe five citations and four links to FileUploader.ts and UploadCollection.ts used the organisation the project has left, which now answers only as a redirect. Both files were opened at the new address on 2026-10-14 and carry the sentences quoted here, so every claim and every quote stands as written and only the addresses and their titles moved; the checked dates stay at the day each quote was last read in full.Capability,
TypeScript supportcoverage by flavor revisedThe library is an entry in the graph and provides this capability, so both paragraphs name it by its package name and link the entry, which the 2026-09-14 reasons above said did not exist yet. The two outward addresses they used are the organisation the project has left: github.com/SAP/ui5-webcomponents redirects to github.com/UI5/webcomponents. The React wrapper is not an entry, so it keeps an outward link, at the address its own published package names, github.com/UI5/webcomponents-react. No claim changed: the typescript-support page still reads "TypeScript Support is enabled for both component development and component consumption" and still dates stable definitions to 1.19.0, read again on 2026-10-14. Who provides the capability was not surveyed again, so the state and assessed_at stand.Capability,
Sat 10
1 change
Reading Between the Lines: Under-Documented Fiori Elements Capabilities in SAPUI5 1.149publishedReads SAPUI5 1.149's framework source, not its release notes, to show Fiori Elements shifting side-effect refresh, AI field placeholders and multi-user drafting from controller extensions into what the backing service annotates. Event-driven SideEffects push over a WebSocket channel through @cap-js-community/websocket, while Draft handling gains ABAP RAP's live field locking on CAP Node.js through Sören Leibach's own cap-collaborative-draft plugin. Both rest on Fiori annotations such as Common.SideEffects and CollaborativeDraft.enabled, which the frontend reads rather than requiring a manifest flag.Blog,
Fri 2
1 change
@satiroglu/kaevdescription, source available, provides revisedkaev.org groups one of its four categories as "Performance & OData" and the rule reference carries the rows behind it, so the tool answers frontend performance as well as linting, by static rule over the project's own code. That capability's reading says the core stops at configuration and the build and sends the reader to the browser's developer tools for the network log, which is the half these rules read statically instead. It was assessed core-only on 2026-09-14 and holds no provides edge from any artifact today, so this is the first one on it, and the state needs the same re-assessment as linting's.CLI,
Thu 1
1 change
@satiroglu/kaevdescription revisedThe manifest condition was not the README's claim. It states "The official UI5 Linter adapter currently applies to application roots" and "Integrates the official @ui5/linter in a restricted child process", so the condition came out and the child process went in. All seven sources were re-read on 2026-10-01 and every quote still stands word for word; 0.3.0, published 2026-09-30, is still the latest version, and github.com/satiroglu/kaev returned 404 again.CLI,

Wed 30
3 changes
@satiroglu/kaevadded to the atlasRule-based checker for SAPUI5 and OpenUI5 projectsCLI,
ui5-test-runneradded to the atlasCommand line running UI5 QUnit and OPA tests in parallelCLI,
@satiroglu/kaeventry revisedHanded over as three URLs. Typed cli because what is published is a command with a kaev bin entry, run in a project directory rather than installed into a UI5 build; independent because the site states "Independent developer tool. Not affiliated with or endorsed by SAP." It answers linting on the UI5 door, where the graph already reads UI5 linter as the core's answer and KAEV's own documentation names that linter as something it runs alongside its own rules — and it would be the first provider that capability holds on that door, whose coverage was assessed core-only on 2026-09-14 with a note saying the graph holds no UI5 provider. No repo link: the repository field of the npm record points at github.com/satiroglu/kaev, which still returned 404 on 2026-09-30, so the entry is reachable through npm, the site and the documentation. when_not_to_use states the proprietary licence and the heuristic disclaimer, both from the maker's own pages; identity.license is "Proprietary" because the npm record says "SEE LICENSE IN LICENSE" and the licence page says no open-source licence is granted.CLI,
Tue 29
2 changes
ui5-tcode-finderadded to the atlasBrowser page searching SAP transaction codesWeb tool,
ui5-tcode-finderentry revisedStaged with the capability Finding a transaction code, drafted in the same batch because the corpus held no concern for it. ecosystem: abap is a placement rather than a stated fact: the repository is an OpenUI5 and TypeScript application, but its subject is the transaction codes of a classic SAP system and the only stack its features name is SAP GUI for HTML. serves_ecosystems: ui5 rests on the overview sentence naming the T-Codes a UI5 or Fiori project needs. use_as: reference because it is consulted at its own address rather than installed into a project.Web tool,
Sun 27
2 changes
Attachmentscore coverage revisedThe paragraph opened with SAP's packages and never said that the runtime serves a @Core.MediaType element with nothing installed. capire's Serving Media Data page is that built-in layer, cited by pagination-and-streaming and not here. Two deliveries, said apart (docs/concepts/sap-ships-and-documents.md).Capability,
ui5-middleware-capdescription, provides, alternative to, compat, requires, identity revisedThe package manifest names the author, "author": "Peter Muessig". The entry recorded him as a contributor only, which is the weaker claim; cds-plugin-ui5 in the same repository already carries both.Build tool,
The last 30 days. Older changes stay in each entry's history.