Skip to content

Commit c8cad74

Browse files
authored
Merge pull request #49 from abap2UI5/claude/improve-docs-nwiCf
Claude/improve docs nwi cf
2 parents ee5b62b + 9be4e1d commit c8cad74

89 files changed

Lines changed: 1505 additions & 787 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/.vitepress/config.mjs

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export default defineConfig({
6161
items: [
6262
{ text: "Introduction", link: "/get_started/about" },
6363
{ text: "Cookbook", link: "/development/general" },
64-
{ text: "Configuration", link: "/configuration/setup" },
64+
{ text: "Configuration", link: "/configuration/checklist" },
6565
{ text: "Advanced Topics", link: "/advanced/downporting" },
6666
{ text: "Technical Insights", link: "/technical/concept" },
6767
{ text: "Resources", link: "/resources/addons" },
@@ -179,9 +179,10 @@ export default defineConfig({
179179
},
180180
{
181181
text: "Configuration",
182-
link: "/configuration/setup",
182+
link: "/configuration/checklist",
183183
collapsed: true,
184184
items: [
185+
{ text: "Production Checklist", link: "/configuration/checklist" },
185186
{ text: "General", link: "/configuration/setup" },
186187
{ text: "Security", link: "/configuration/security" },
187188
{ text: "Authorization", link: "/configuration/authorization" },
@@ -243,18 +244,31 @@ export default defineConfig({
243244
{ text: "UI5 Over-the-Wire", link: "/technical/concept" },
244245
{ text: "ABAP Thinking, UI5 Results", link: "/technical/dx" },
245246
{ text: "Cloud Readiness", link: "/technical/cloud" },
246-
{ text: "Behind the Scenes", link: "/technical/how_it_all_works" },
247247
{
248-
text: "Technology",
248+
text: "Deep Dive",
249+
link: "/technical/how_it_all_works",
250+
collapsed: false,
251+
items: [
252+
{ text: "Behind the Scenes", link: "/technical/how_it_all_works" },
253+
{ text: "1. Foundations", link: "/technical/deep_dive/foundations" },
254+
{ text: "2. The abap2UI5 Architecture", link: "/technical/deep_dive/architecture" },
255+
{ text: "3. Inside an App", link: "/technical/deep_dive/lifecycle" },
256+
{ text: "4. Trade-offs and Compatibility", link: "/technical/deep_dive/tradeoffs" },
257+
],
258+
},
259+
{
260+
text: "Comparisons",
249261
link: "/technical/technology/overview",
262+
collapsed: true,
250263
items: [
251-
{ text: "RAP", link: "/technical/technology/rap" },
252-
{ text: "UI5 Freestyle", link: "/technical/technology/ui5" },
264+
{ text: "Technology Overview", link: "/technical/technology/overview" },
265+
{ text: "RAP vs. abap2UI5", link: "/technical/technology/rap" },
266+
{ text: "UI5 Freestyle vs. abap2UI5", link: "/technical/technology/ui5" },
253267
],
254268
},
255269
{
256270
text: "Tools",
257-
collapsed: false,
271+
collapsed: true,
258272
items: [
259273
{ text: "abapGit", link: "/technical/tools/abapgit" },
260274
{ text: "ajson", link: "/technical/tools/ajson" },
@@ -265,6 +279,7 @@ export default defineConfig({
265279
{ text: "abapmerge", link: "/technical/tools/abapmerge" },
266280
],
267281
},
282+
{ text: "Glossary", link: "/technical/glossary" },
268283
],
269284
},
270285
{
@@ -273,6 +288,7 @@ export default defineConfig({
273288
collapsed: true,
274289
items: [
275290
{ text: "Add-ons", link: "/resources/addons" },
291+
{ text: "Samples Index", link: "/resources/samples_index" },
276292
{ text: "References", link: "/resources/references" },
277293
{ text: "Who Uses abap2UI5?", link: "/resources/who_uses" },
278294
{ text: "Releases", link: "/resources/changelog" },

docs/advanced/builds.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Builder
55

@@ -8,7 +8,13 @@ For heavy abap2UI5 use, consider building your own version by defining a custom
88
- Install multiple instances of abap2UI5 and upgrade each one at its own pace.
99
- Build a custom abap2UI5 release with frontend components and add-ons matched to your needs.
1010

11-
#### Builder
11+
## Builder
1212
Make your own abap2UI5 build with the [builder](https://github.com/abap2UI5/builder).
1313

1414
<img width="700" alt="abap2UI5 builder interface for generating custom namespaced builds" src="https://github.com/user-attachments/assets/7c7f55d4-6667-4036-bc71-4cd7472f2ae9" />
15+
16+
## See Also
17+
18+
- **[Renaming](/advanced/renaming)** — picking a custom namespace.
19+
- **[Local](/advanced/local)** — bundle the framework into a single class instead of a custom build.
20+
- **[abapmerge](/technical/tools/abapmerge)** — the merge tool used by the local build.

docs/advanced/downporting.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Downporting
55

66
abap2UI5 works right away on ABAP 7.50 and later. On an earlier release, install the downported version, which supports R/3 NetWeaver 7.02 and later.
77

8-
#### Branch
8+
## Branch
99
To install on an older system, use the `702` branch:
1010
| Branch | System |
1111
|-----------| ----------------------------|
@@ -14,5 +14,10 @@ To install on an older system, use the `702` branch:
1414

1515
Some sample projects and other repositories also ship a downported version. Check whether a `702` branch is available.
1616

17-
#### Functionality
17+
## Functionality
1818
For more on the downport feature, see the blog post [Running abap2UI5 on older R/3 Releases](https://www.linkedin.com/pulse/running-abap2ui5-older-r3-releases-downport-compatibility-abaplint-mjkle).
19+
20+
## See Also
21+
22+
- **[Trade-offs and Compatibility](/technical/deep_dive/tradeoffs#compatibility-and-downporting)** — why abap2UI5 keeps a single codebase compatible with both Standard ABAP and ABAP Cloud.
23+
- **[abaplint](/technical/tools/abaplint)** — the tool that produces the `702` branch automatically.
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Custom Controls
55

66
You can build your own UI5 custom controls and use them in abap2UI5 apps.
77

88
First, set up your VS Code environment with the abap2UI5 frontend artifacts, following the [Frontend](/advanced/extensibility/frontend) page.
99

10-
#### Frontend
10+
## Frontend
1111

1212
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.
1313

14-
#### Backend
14+
## Backend
1515
Extend the custom control view class by adding a method and defining the new control's properties:
1616
[z2ui5_cl_xml_view_cc.clas.abap](https://github.com/abap2UI5/abap2UI5/blob/main/src/02/z2ui5_cl_xml_view_cc.clas.abap)
17+
18+
## See Also
19+
20+
- **[Inside an App → Sending JavaScript Over the Wire](/technical/deep_dive/lifecycle#sending-javascript-over-the-wire)** — the underlying mechanism that lets you ship JS to the frontend.
21+
- **[Custom JS](/advanced/extensibility/custom_js)** — for one-off JavaScript without building a full control.
22+
- **[Frontend](/advanced/extensibility/frontend)** — local setup for building and testing controls.

docs/advanced/extensibility/custom_js.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Custom JS
55

@@ -30,3 +30,8 @@ Below is a starting point that works. The `_generic` method creates a custom XML
3030
3131
ENDMETHOD.
3232
```
33+
34+
## See Also
35+
36+
- **[Inside an App → Sending JavaScript Over the Wire](/technical/deep_dive/lifecycle#sending-javascript-over-the-wire)** — why this works and how the framework forwards JavaScript to the frontend.
37+
- **[Custom Control](/advanced/extensibility/custom_control)** — wrap reusable JS into proper UI5 controls.
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Frontend
55

66
The abap2UI5 frontend artifacts live in the `app` folder. To adjust them:
77

8-
#### Setup
8+
## Setup
99
Open VS Code (or your editor of choice), then run in the terminal:
1010
```sh
1111
git clone https://github.com/abap2UI5/abap2UI5
@@ -15,7 +15,7 @@ Point all three files to your ABAP backend system:
1515

1616
<img width="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">
1717

18-
#### Build & Test
18+
## Build & Test
1919
Set the backend system in the YAML files.<br>
2020
Replace `/sap/bc/z2ui5` with your endpoint in the manifest, then run:
2121
```sh
@@ -25,9 +25,14 @@ npm run start-noflp
2525
You'll see output like this:
2626
<img width="1000" alt="npm run start-noflp output showing the local dev server running" src="https://github.com/user-attachments/assets/3e0118e8-d05f-48d1-bcc0-28073adf6e47">
2727

28-
#### Before PR (Optional)
28+
## Before PR (Optional)
2929
Convert the UI5 app to stringified ABAP:
3030
```sh
3131
cd ..
3232
npm run auto_app2abap
3333
```
34+
35+
## See Also
36+
37+
- **[Inside an App → The Initial Request](/technical/deep_dive/lifecycle#the-initial-request)** — why the static frontend shell lives as a string inside the HTTP handler.
38+
- **[Custom Control](/advanced/extensibility/custom_control)** — extend the shell with new UI5 controls.

docs/advanced/extensibility/user_exits.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# User Exits
55

@@ -36,3 +36,9 @@ CLASS zcl_a2ui5_user_exit IMPLEMENTATION.
3636
3737
ENDCLASS.
3838
```
39+
40+
## See Also
41+
42+
- **[Inside an App → The Initial Request](/technical/deep_dive/lifecycle#the-initial-request)** — what `set_config_http_get` actually customizes.
43+
- **[Inside an App → Drafts](/technical/deep_dive/lifecycle#drafts-stateful-feel-stateless-backend)** — what `draft_exp_time_in_hours` controls under the hood.
44+
- **[General Setup](/configuration/setup)** — common things to configure via the user exit.

docs/advanced/fiori.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Integration into Fiori Elements Apps
55

66
Extend the object page of a Fiori list report app with an abap2UI5 app. See the [ABAP2UI5_COMP_CONT repository](https://github.com/axelmohnen/ABAP2UI5_COMP_CONT) for a complete example.
77

88
<img width="747" height="387" alt="abap2UI5 app embedded in Fiori Elements object page" src="https://github.com/user-attachments/assets/c14d5732-3b8c-4fa5-83ab-6d188a4d87db" />
99

10-
### Guide
10+
## Guide
1111

1212
1. Register the FLP integration in the component.js:
1313

@@ -88,3 +88,8 @@ On the ABAP side, the app receives the Fiori startup parameters (like the app cl
8888
8989
ENDMETHOD.
9090
```
91+
92+
## See Also
93+
94+
- **[RAP vs. abap2UI5](/technical/technology/rap)** — how the two approaches differ, and where they complement each other.
95+
- **[Fiori Launchpad](/configuration/launchpad)** — embedding standalone abap2UI5 apps in the launchpad (as opposed to inside an FE object page).

docs/advanced/local.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,31 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Local
55

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 artifacts into a single HTTP handler class. With one additional database table for session storage, you can run abap2UI5 self-contained — no separate framework installation required.
77

8-
For full details, see the repository: [abap2UI5-local](https://github.com/abap2UI5/abap2UI5-local)
8+
For full sources and the latest build, see the [abap2UI5-local repository](https://github.com/abap2UI5/abap2UI5-local).
9+
10+
## When to Use
11+
12+
- **Restricted systems** — environments where you cannot install full abap2UI5 via abapGit but can still create a class and an HTTP handler.
13+
- **Demos and PoCs** — drop a single class into a sandbox system and have a working UI5 app within minutes.
14+
- **Distribution** — ship a self-contained app that does not depend on an existing abap2UI5 installation on the target system.
15+
16+
## When Not to Use
17+
18+
- **Productive multi-app setups** — for systems running several abap2UI5 apps, the standard installation is leaner: one shared framework instead of a copy embedded into every handler.
19+
- **Frequent framework updates**`abap2UI5-local` is a generated build. Updating means replacing the bundled class instead of pulling abapGit changes.
20+
21+
## How It Works
22+
23+
The `abap2UI5-local` build is produced by [abapmerge](/technical/tools/abapmerge): all framework classes are merged into one class. You install that class plus a database table for session storage, then point an HTTP service at it the same way as in the [Quickstart](/get_started/quickstart).
24+
25+
The resulting app behaves like any other abap2UI5 app — same APIs, same view DSL, same event flow. The difference is purely in how the framework reaches the system.
26+
27+
## See Also
28+
29+
- **[abapmerge](/technical/tools/abapmerge)** — the tool that produces the local build.
30+
- **[Builder](/advanced/builds)** — for full custom builds with namespace + add-ons.
31+
- **[Trade-offs → System Footprint](/technical/deep_dive/tradeoffs#system-footprint)** — why the framework is small enough to bundle into a single class.

docs/advanced/renaming.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
outline: [2, 4]
2+
outline: [2, 3]
33
---
44
# Renaming
55

@@ -10,9 +10,14 @@ The entire abap2UI5 project lives under the `z2ui5` namespace. You may need to r
1010

1111
abap2UI5 works with the abaplint renaming feature and supports namespaces up to 9 characters, e.g., `zabap2ui5`.
1212

13-
#### Functionality
13+
## Functionality
1414
For more on renaming ABAP artifacts, see:
1515
[Automagic standalone renaming of ABAP objects](https://community.sap.com/t5/application-development-blog-posts/automagic-standalone-renaming-of-abap-objects/ba-p/13499851)
1616

1717
For more background, see the blog post:
1818
[Renaming of ABAP Artifacts - The Power of abaplint and abapGit in ABAP Development](https://www.linkedin.com/pulse/renaming-abap-artifacts-power-abaplint-github-actions-development-kqede/).
19+
20+
## See Also
21+
22+
- **[abaplint](/technical/tools/abaplint)** — the tool that performs the rename.
23+
- **[Builder](/advanced/builds)** — for shipping a custom-namespaced abap2UI5 build.

0 commit comments

Comments
 (0)