diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs index aa0861a2..0e0e183d 100644 --- a/docs/.vitepress/config.mjs +++ b/docs/.vitepress/config.mjs @@ -380,7 +380,6 @@ export default defineConfig({ { text: "Bootstrapping", link: "/configuration/setup/ui5_bootstrapping" }, { text: "Bootstrap Attributes", link: "/configuration/setup/bootstrap_attributes" }, { text: "Style / CSS", link: "/configuration/setup/style_css" }, - { text: "Favicon", link: "/configuration/setup/favicon" }, { text: "Logon Language", link: "/configuration/setup/logon_language" }, ], }, diff --git a/docs/advanced/extensibility/user_exits.md b/docs/advanced/extensibility/user_exits.md index 668d66b6..a71523dd 100644 --- a/docs/advanced/extensibility/user_exits.md +++ b/docs/advanced/extensibility/user_exits.md @@ -6,10 +6,10 @@ outline: [2, 4] abap2UI5 offers predefined user exits for tweaking the standard behavior. The interface [`Z2UI5_IF_EXIT`](https://github.com/abap2UI5/abap2UI5/blob/main/src/02/z2ui5_if_exit.intf.abap) exposes the user exits. To use them on your system, build a class that implements the interface and its methods. The abap2UI5 class [`Z2UI5_CL_UI5_USER_EXIT`](https://github.com/abap2UI5/abap2UI5/blob/main/src/01/04/z2ui5_cl_ui5_user_exit.clas.abap) calls them dynamically. Put your class in a custom package — **not** in the abap2UI5 packages. The interface exposes two exit methods: -- **`set_config_http_get`** — called on the initial HTTP GET request (page load). Use it to set frontend properties like the page title, UI5 theme, or UI5 version. +- **`set_config_http_get`** — called on the initial HTTP GET request (page load). Use it to set frontend properties like the UI5 theme, the UI5 version, or the inline CSS. - **`set_config_http_post`** — called on every later HTTP POST request (each roundtrip). Use it to set backend behavior like the draft expiration time. -Both methods take a `cs_config` changing parameter whose fields you can set as needed. The example below changes the title, the theme, and how long the backend keeps drafts: +Both methods take a `cs_config` changing parameter whose fields you can set as needed. The example below changes the theme and how long the backend keeps drafts: ```abap CLASS zcl_a2ui5_user_exit DEFINITION PUBLIC. @@ -23,7 +23,6 @@ CLASS zcl_a2ui5_user_exit IMPLEMENTATION. METHOD z2ui5_if_exit~set_config_http_get. - cs_config-title = `my title`. cs_config-theme = `sap_belize`. ENDMETHOD. @@ -40,3 +39,18 @@ CLASS zcl_a2ui5_user_exit IMPLEMENTATION. ENDCLASS. ``` + +::: tip The interface is being renamed +`z2ui5_if_exit` becomes `z2ui5_if_ui5_exit`, following the framework's naming. +Both work — abap2UI5 looks up both interfaces, so an existing exit keeps +running — and the examples here move to the new name once it is in a release. +See [Deprecations](/resources/deprecations). +::: + +::: warning The tab title is not set here +`cs_config-title` is still on the structure — an exit that assigns it compiles +and runs — but nothing reads it any more. The generated page always carries +`abap2UI5`, and the title the user sees is set by the running +app with the `set_title` frontend event: see +[Title](/cookbook/browser_interaction/title). +::: diff --git a/docs/advanced/renaming.md b/docs/advanced/renaming.md index 768344dd..4552b3a7 100644 --- a/docs/advanced/renaming.md +++ b/docs/advanced/renaming.md @@ -52,7 +52,7 @@ alone would let them collide; the segment is what keeps them apart. | Segment | Meaning | |---|---| -| *(none)* — `z2ui5_if_app`, `z2ui5_if_client`, `z2ui5_if_types`, `z2ui5_if_exit` | **The public API.** The four interfaces carry no segment on purpose: they are the contract, and a contract does not move between layers | +| *(none)* — `z2ui5_if_app`, `z2ui5_if_client`, `z2ui5_if_exit` | **The public API.** The three interfaces carry no segment on purpose: they are the contract, and a contract does not move between layers. `z2ui5_if_types` carries none either and is the exception that proves the rule: it is retired, ships unchanged so existing apps keep compiling, and every type it held now sits on the object that uses it — see [Deprecations](/resources/deprecations) | | `ui5` | The framework itself — the engine and the shipped apps (`z2ui5_cl_ui5_handler`, `z2ui5_cl_ui5_srv_draft`, `z2ui5_cl_ui5_app_start`), plus the two public classes `z2ui5_cl_ui5_http_handler` and `z2ui5_cl_ui5_view_builder` | | `ui5f` | The UI5 **f**rontend, embedded as ABAP string constants and **generated** — never edit one by hand, the next build overwrites it | | `ajson`, `srt` | [ajson](/technical/tools/ajson) and [S-RTTI](/technical/tools/srtti), mirrored from their upstream projects under this namespace | diff --git a/docs/configuration/setup.md b/docs/configuration/setup.md index 56a41ec3..473f3b81 100644 --- a/docs/configuration/setup.md +++ b/docs/configuration/setup.md @@ -3,7 +3,7 @@ outline: [2, 4] --- # Setup -Every UI5 application has an `index.html` that bootstraps the framework, picks a theme, defines the page title and so on. With abap2UI5 you don't maintain that file by hand — the framework generates it on every page load. To change what ends up in it, implement the `z2ui5_if_exit` interface in your own ABAP class: +Every UI5 application has an `index.html` that bootstraps the framework, picks a theme, loads a UI5 version and so on. With abap2UI5 you don't maintain that file by hand — the framework generates it on every page load. To change what ends up in it, implement the `z2ui5_if_exit` interface in your own ABAP class: ```abap CLASS zcl_a2ui5_user_exit DEFINITION PUBLIC. @@ -32,11 +32,12 @@ ENDCLASS. | [Bootstrapping](/configuration/setup/ui5_bootstrapping) | `src` | `src` of the bootstrap script (UI5 version + delivery channel) | | [Bootstrap Attributes](/configuration/setup/bootstrap_attributes) | `t_add_config` | Additional `data-sap-ui-*` attributes | | [Style / CSS](/configuration/setup/style_css) | `styles_css` | Inline `