Skip to content

OpenUI5 vs SAPUI5 list, and custom controls in their own BSP - #345

Merged
oblomov-dev merged 2 commits into
mainfrom
claude/keen-cray-i65b2g
Sep 28, 2026
Merged

oblomov-dev merged 2 commits into
mainfrom
claude/keen-cray-i65b2g

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Two corrections, one commit each.

1. Bootstrapping: sap.viz is SAPUI5, not OpenUI5

The "OpenUI5 vs SAPUI5" section of configuration/setup/ui5_bootstrapping.md listed sap.viz among the libraries OpenUI5 contains. It does not:

  • @openui5/sap.viz does not exist on npm; only @sapui5/sap.viz does.
  • The abap2UI5 linter lists it as SAPUI5-only.

A reader who stayed on the default OpenUI5 bootstrap for a VizFrame chart got a view that could not load.

The fix:

  • sap.viz moves to the SAPUI5 bullet.
  • Next to it are two other SAPUI5-only libraries readers run into: sap.ui.richtexteditor (RichTextEditor) and sap.ui.export (spreadsheet export).
  • The closing paragraph now says what happens on the wrong bootstrap.

I checked every library the section names against the npm scopes. The OpenUI5 ones exist only as @openui5/*; the SAPUI5 ones exist only as @sapui5/*.

2. Custom controls: the own-BSP route, not the framework folder

advanced/extensibility/custom_control.md told readers to put a new control into the framework's app/webapp/cc/ and to copy Timer.js, which the framework marks obsolete (app/webapp/cc/Timer.js:8). The framework says app code belongs in a BSP of its own:

  • The frontend reserves the resource roots z2ui5_ccc and z2ui5_cci in app/webapp/manifest.json.
  • z2ui5_if_client says frontend code of the app's own ships as a custom control in z2ui5_ccc.
  • Insight 12 on this site says the same.

The rewritten Frontend section covers:

  • the two roots;
  • the custom-controls-customer template, its Example control, npm run app2bsp and abapGit;
  • how a control that wraps a third-party library loads it, following the custom-controls add-on: jsDelivr on main, which the CSP has to allow; the BSP itself on local.

The backend example now uses the template's real control and the z2ui5_ccc.cc namespace. A closing note gives the console check that tells a typo in the one differing letter apart from a missing BSP.

advanced/extensibility/frontend.md also told readers to run npm run auto_app2abap before a pull request. Per the framework's AGENTS.md, that step alone leaves the generated ABAP un-normalized. The command is now npm run app2abap, which formats, generates and normalizes.

Side note for the framework, not changed here: Component.js, z2ui5_cl_ui5_http_handler and the framework's AGENTS.md name abap2UI5/customer-frontend-extension as the z2ui5_ccc template. That repository does not exist; the template lives at abap2UI5-addons/custom-controls-customer, which is what this site already links from addons.md and renaming.md.

Verification

Run locally, all green:

  • npm test
  • check:vocabulary, check:line-length (custom_control.md is now a wrapped page)
  • check:conventions (covers the new chain), check:playground
  • check:api-names and check:examples, with A2UI5_HOME pointing at a framework clone on main
  • check:images, check:design
  • docs:build, check:cross-site

npm run build could not run in my environment: it borrows files from abap2ui5.github.io, which the proxy blocks, and it fails the same way on unchanged main. This PR's CI covers it.

🤖 Generated with Claude Code

https://claude.ai/code/session_014hMqkiuAQP6mAVnUEDHoTv


Generated by Claude Code

The OpenUI5 vs SAPUI5 section listed sap.viz among the libraries OpenUI5
contains. It does not: there is no @openui5/sap.viz on npm, only
@sapui5/sap.viz, and the abap2UI5 linter lists it as SAPUI5-only. A reader
who kept the default OpenUI5 bootstrap for a VizFrame chart got a view
that could not load.

sap.viz moves to the SAPUI5 bullet, next to two other SAPUI5-only
libraries readers run into: sap.ui.richtexteditor (RichTextEditor) and
sap.ui.export (spreadsheet export). The closing paragraph now also says
what happens on the wrong bootstrap: OpenUI5 cannot load their controls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014hMqkiuAQP6mAVnUEDHoTv
The page told readers to put a new control into the framework's own
app/webapp/cc/ and to copy Timer.js, which the framework marks obsolete.
That folder ships inside the framework's inline preload on every page
load and is rewritten by every update. The framework itself says app
code belongs in a BSP of its own: the frontend reserves the resource
roots z2ui5_ccc (the customer's own artifacts) and z2ui5_cci (the
community custom-controls add-on) for exactly this, as insight 12 on
this site already says.

The Frontend section now describes that route: the two roots, the
custom-controls-customer template with its Example control,
npm run app2bsp and abapGit, and how a control that wraps a third-party
library loads it (jsDelivr on main, which the CSP has to allow; the BSP
itself on the local branch). The backend example uses the template's
real control and the z2ui5_ccc.cc namespace, and a closing note gives
the console check that tells a typo in the one differing letter from a
missing BSP.

frontend.md told readers to run npm run auto_app2abap before a pull
request. That step alone leaves the generated ABAP un-normalized; the
command that runs format, generate and normalize is npm run app2abap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014hMqkiuAQP6mAVnUEDHoTv
@oblomov-dev
oblomov-dev merged commit 2268759 into main Sep 28, 2026
1 check passed
@oblomov-dev
oblomov-dev deleted the claude/keen-cray-i65b2g branch September 28, 2026 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants