Skip to content

Commit 9be4e1d

Browse files
committed
docs: integrate remaining technical and advanced pages with deep dive
Builds on the deep-dive split (commit fcf5190) by wiring the rest of the documentation into the new structure, so readers have a clear learning path and every page knows where it sits. Top-level technical pages - concept.md: add a "How to Read the Technical Section" callout near the top, listing three reading paths (just-the-architecture, full picture, implementation deep dive) so readers pick a route before diving in. - dx.md: framing paragraph that positions the page as the practical counterpart to concept.md. - cloud.md: explicit "two questions answered" framing. - technology/overview.md: narrative intro about the cyclical pattern (server-rendered → SPA → server-driven again) and a pointer into the detailed comparisons. New page - technical/glossary.md: alphabetical reference for terms used across the technical section (HDA, SPA, MPA, OData, RAP, RTTI, S-RTTI, Draft, Stateful Session, UI5 Over the Wire, …). Each entry links to the section that explains the term in context. - Sidebar: added under Technical Insights → Glossary. Cross-links from /advanced/ into the deep dive - downporting.md, renaming.md, builds.md → tools and tradeoffs. - local.md → abapmerge tool, system-footprint section. - stateful.md → drafts section + Glossary. - rfc.md → architecture chapter. - fiori.md → RAP comparison + launchpad config. - extensibility/{user_exits, custom_js, frontend, custom_control} → all linked to "Inside an App → The Initial Request" and "Sending JavaScript Over the Wire", which explain the underlying framework mechanics. All internal doc links audited — no broken targets. https://claude.ai/code/session_011kvL4ihgqWYQa2SSufEaKv
1 parent fcf5190 commit 9be4e1d

17 files changed

Lines changed: 186 additions & 1 deletion

File tree

docs/.vitepress/config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ export default defineConfig({
279279
{ text: "abapmerge", link: "/technical/tools/abapmerge" },
280280
],
281281
},
282+
{ text: "Glossary", link: "/technical/glossary" },
282283
],
283284
},
284285
{

docs/advanced/builds.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,9 @@ For heavy abap2UI5 use, consider building your own version by defining a custom
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: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,8 @@ Some sample projects and other repositories also ship a downported version. Chec
1616

1717
## 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.

docs/advanced/extensibility/custom_control.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@ Write the JS code for your new custom control. Copy an existing control from [Ap
1414
## 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: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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.

docs/advanced/extensibility/frontend.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,8 @@ Convert the UI5 app to stringified ABAP:
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: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,9 @@ For full sources and the latest build, see the [abap2UI5-local repository](https
2323
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).
2424

2525
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: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,8 @@ For more on renaming ABAP artifacts, see:
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)