You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: improve clarity and fix inconsistencies across all sections
Sweep of the whole documentation for understandability, fixing
contradictions, stale references, and unclear wording:
- get_started: resolve 7.02/7.50 release contradiction, explain the
extensibility tiers, unify "startup page" naming, explain the NS
operator and the empty edit-button column in the full example
- cookbook: fix wrong method/event names (bind_edit, download_b),
correct the OData metadata-binding example (entity type name and
sap:label value), align the soft-lock example table name, repair
numbered-heading anchors, explain nav_app_leave's two modes and the
$event prefix exception, remove a stray demo button, fix the EML
double backslash
- configuration: update the outdated default CSP, clarify SAPUI5 vs
the OpenUI5 bootstrap default, use get_form_field for the app_start
URL parameter, neutral handler class name, clearer launchpad and
transport guidance
- advanced/technical: fix broken clone path and name the three config
files, align dispatcher order in agent.md with the canonical
template, promote H5 headings in how_it_all_works so the outline
works, consistent "Over-the-Wire" spelling and backend-system
terminology, complete truncated code snippets
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EC2cWJafPETwcMbh3NCsgH
Copy file name to clipboardExpand all lines: docs/advanced/addons.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ outline: [2, 4]
5
5
6
6
abap2UI5 focuses on core capabilities — rendering views, handling events, and exchanging data. This keeps the framework lean and easy to maintain. The real strength lies in the ecosystem: **ready-to-use add-ons and community projects** that extend abap2UI5 for specific needs.
7
7
8
-
#### Add-ons
8
+
#### Available Add-ons
9
9
10
10
Browse the [abap2UI5-addons](https://github.com/abap2UI5-addons) organization to find what you need. Features include:
11
11
- Layout variant handling, similar to classic SAP GUI selection screens or ALV reports
Copy file name to clipboardExpand all lines: docs/advanced/builds.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,12 +3,12 @@ outline: [2, 4]
3
3
---
4
4
# Builder
5
5
6
-
For heavy abap2UI5 use, consider building your own version by defining a custom namespace and including the add-ons you need:
6
+
If you run abap2UI5 in production or across several systems, consider building your own version — a release under a custom namespace that includes exactly the add-ons and frontend components you need:
7
7
- Use abap2UI5 in the `z2ui5` namespace for improvements and pull requests, and keep a separate namespace for your production version.
8
8
- Install multiple instances of abap2UI5 and upgrade each one at its own pace.
9
9
- Build a custom abap2UI5 release with frontend components and add-ons matched to your needs.
10
10
11
-
#### Builder
11
+
#### The Builder Tool
12
12
Make your own abap2UI5 build with the [builder](https://github.com/abap2UI5/builder).
13
13
14
14
<imgwidth="700"alt="abap2UI5 builder interface for generating custom namespaced builds"src="https://github.com/user-attachments/assets/7c7f55d4-6667-4036-bc71-4cd7472f2ae9" />
Copy file name to clipboardExpand all lines: docs/advanced/extensibility/custom_control.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ First, set up your VS Code environment with the abap2UI5 frontend artifacts, fol
9
9
10
10
#### Frontend
11
11
12
-
Write the JS code for your new custom control. Copy an existing control from [App.controller.js](https://github.com/abap2UI5/abap2UI5/blob/main/app/webapp/controller/App.controller.js) and adapt it.
12
+
Write the JavaScript for your new custom control. Each custom control lives in its own file under [app/webapp/cc/](https://github.com/abap2UI5/abap2UI5/tree/main/app/webapp/cc) — copy an existing one (e.g. `Timer.js`) and adapt it to your needs.
13
13
14
14
#### Backend
15
15
Extend the custom control view class by adding a method and defining the new control's properties:
Copy file name to clipboardExpand all lines: docs/advanced/extensibility/frontend.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,15 +9,14 @@ The abap2UI5 frontend artifacts live in the `app` folder. To adjust them:
9
9
Open VS Code (or your editor of choice), then run in the terminal:
10
10
```sh
11
11
git clone https://github.com/abap2UI5/abap2UI5
12
-
cd app
12
+
cdabap2UI5/app
13
13
```
14
-
Next replace `<<system>>`and let all three files point to your ABAP backend system:
14
+
Next replace `<<system>>`in the three config files — `ui5.yaml`, `ui5-local.yaml` and `ui5-mock.yaml` — so they all point to your ABAP backend system:
15
15
16
16
<imgwidth="400"alt="Frontend config files where the backend system URL must be replaced"src="https://github.com/user-attachments/assets/155c9a3f-8a0a-494b-8fc4-a4bba2bf0e90">
17
17
18
18
#### Build & Test
19
-
Set the backend system in the YAML files.<br>
20
-
Replace `/sap/bc/z2ui5` with your endpoint in the manifest, then run:
19
+
If your HTTP service uses a different path, also replace `/sap/bc/z2ui5` with your endpoint in the manifest. Then run:
On the ABAP side, the app receives the Fiori startup parameters (like the app class name and any custom key-value pairs) via `client->get( )-t_comp_params`. The `check_initialized` flag ensures the parameters are read only once, on the first roundtrip. Setting `backgrounddesign = 'List'` gives the page a white background matching the Fiori object page:
69
+
On the ABAP side, the app receives the Fiori startup parameters (like the app class name and any custom key-value pairs) via `client->get( )-t_comp_params`. The `check_initialized` flag — a public `abap_bool` attribute of the app class — ensures the parameters are read only once, on the first roundtrip. Setting `backgrounddesign = 'List'` gives the page a white background matching the Fiori object page:
70
70
```abap
71
+
" class definition:
72
+
" PUBLIC SECTION.
73
+
" INTERFACES z2ui5_if_app.
74
+
" DATA check_initialized TYPE abap_bool.
75
+
71
76
METHOD z2ui5_if_app~main.
72
77
73
78
IF check_initialized = abap_false.
74
79
check_initialized = abap_true.
75
80
76
81
* ---------- Get startup parameters ---------------------------------------------------------------
Copy file name to clipboardExpand all lines: docs/advanced/http.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,12 +18,12 @@ The system that calls the app (the frontend system) ships with the UI5 library a
18
18
19
19
#### Installation
20
20
21
-
_Prerequisite: Set up an SM59 HTTP destination pointing to the source system. Install abap2UI5 on both systems._
21
+
_Prerequisite: Set up an SM59 HTTP destination pointing to the backend system (the system that runs the apps). Install abap2UI5 on both systems._
22
22
23
23
Steps:
24
24
1. Install the [abap2UI5 HTTP Connector](https://github.com/abap2UI5-addons/http-connector) via abapGit on both systems
25
-
2. In the HTTP handler, configure the destination to point to your source system
26
-
3. In your browser, call the endpoint of the HTTP Connector
25
+
2. In the HTTP handler, configure the destination to point to the backend system
26
+
3. In your browser, call the HTTP Connector's endpoint on the frontend system (the ICF service installed with the connector — analogous to `.../sap/bc/2ui5_rfc` for the RFC Connector)
27
27
28
28
#### Further Information
29
29
For the latest details, source code, and updates, see the [HTTP Connector repository on GitHub](https://github.com/abap2UI5-addons/http-connector).
Copy file name to clipboardExpand all lines: docs/advanced/local.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,6 @@ outline: [2, 4]
3
3
---
4
4
# Local
5
5
6
-
abap2UI5-local is a special build that bundles all artifacts into a single HTTP handler. Create one extra database table, and you can run abap2UI5 independently of any other installation on the system.
6
+
abap2UI5-local is a special build that bundles all framework classes into a single HTTP handler class. Besides that, you only need to create one additional database table. This gives you a self-contained copy of abap2UI5 that runs independently of any other abap2UI5 installation on the same system.
7
7
8
8
For full details, see the repository: [abap2UI5-local](https://github.com/abap2UI5/abap2UI5-local)
Copy file name to clipboardExpand all lines: docs/configuration/authorization.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,23 +6,23 @@ outline: [2, 4]
6
6
abap2UI5 gives you flexibility in managing authorization. It has no built-in authorization mechanism, so you can build your own solution at either the service or the app level.
7
7
8
8
### Service-Level
9
-
An easy way to manage access to different apps: add checks in the HTTP handler. This approach restricts access to individual apps based on the APP_START parameter, directly in the ICF service handler class.
9
+
The easiest way to manage access to different apps is to add authorization checks in the HTTP handler. This approach restricts access to individual apps based on the `app_start` URL parameter, directly in the ICF service handler class.
10
10
11
11
#### Example: Restricting Access Based on URL Parameters
12
-
In this example, we use the ICF handler class to control which apps users can access, based on the APP_START parameter in the HTTP request. The `get_header_field( 'APP_START' )`method reads the URL query parameter that names the abap2UI5 app class to launch. If the user requests an unauthorized app, the handler refuses access.
12
+
In this example, we use the ICF handler class to control which apps users can access. The `get_form_field( `app_start` )`call reads the `app_start`URL parameter that names the abap2UI5 app class to launch (e.g. `...?app_start=my_app`). If the user requests an unauthorized app, the handler refuses access.
13
13
```abap
14
-
CLASS z2ui5_cl_launchpad_handler DEFINITION PUBLIC.
#### Example: Authorization Objects in Service Handlers
39
39
You can also pair this with SAP authorization objects. The example below uses a custom authorization object `Z_APP_AUTH` with an `APP` field — define the object in transaction `SU21` and assign it to the matching roles on your system:
40
40
```abap
41
-
CLASS z2ui5_cl_launchpad_handler DEFINITION PUBLIC.
0 commit comments