Follow the framework: no favicon field, a fixed page title, types and the exit interface under their new names - #172
Merged
Conversation
Reverts "Document the tab icon next to the other things the exit sets" (#164), because abap2UI5 is taking `cs_config-favicon` back out (abap2UI5/abap2UI5#2645 reverted): the tab icon was already reachable from the running app through `cs_event-set_favicon`, and a second way to set it earned a page here that documents a field readers cannot use. The runtime mechanism keeps its documentation - `set_favicon` stays in [Title](/cookbook/browser_interaction/title), which the removed page pointed at anyway. `resources/logo.md` linked to the removed page for "an app that sets its own": it now names the frontend event and links the cookbook page, so the sentence keeps saying the true thing and no link dangles.
abap2UI5 fixes the generated page's <title> to `abap2UI5` and stops reading `cs_config-title` (abap2UI5/abap2UI5, on main). The tab title is `cs_event-set_title` from the running app, and nothing else. Four pages said otherwise, one of them by example: - User Exits taught `cs_config-title = 'my title'` as the first line of the first example every reader copies. The line is gone, the sentence above it no longer promises the page title, and a warning says the field still compiles but does nothing. - Setup called the title one of the things the generated index.html gets configured with; it now says the tab title is not on that list and where it is set instead. - Title (cookbook) leads with the rule: the page always carries `<title>abap2UI5</title>`, that is what the tab shows while UI5 boots, and from the first roundtrip on the app owns it. - Deprecations has the row and the section, old code next to new, marked *next release* - it is on main and in no release yet. Release notes untouched: the field is not gone, and the behaviour change belongs to the version that ships it.
abap2UI5 retires `z2ui5_if_types`: every type it held now sits on the object whose signature is the reason it exists — `ty_s_get` and `ty_s_event_control` on `z2ui5_if_client`, the three HTTP config types on `z2ui5_if_exit`, `ty_s_draft` on `z2ui5_cl_ui5_srv_draft`, `ty_s_config` written out inside `ty_s_get`. Deprecations gets the row and a section with the full old-to-new table, and says the part that decides whether anyone has to act: the interface still ships unchanged from the frozen package and every moved type is identical field for field, so existing code compiles and still fits the new signatures. Marked *next release* — it is on main and in no release yet. Renaming listed `z2ui5_if_types` as one of the four segment-less public interfaces. It is three now, with the fourth named as what it became.
abap2UI5 renames `z2ui5_if_exit` to `z2ui5_if_ui5_exit` (on main). Both interfaces ship and the framework looks up both, so an existing exit class is found and called exactly as before. Deprecations gets the row and a section with both class skeletons next to each other, and states the part that decides whether anyone has to act: a class implementing the old interface keeps working, one implementing both is called once through the new one, and the old interface's types are references to the new one's rather than copies. Marked *next release*. User Exits gets a tip, because it is the page somebody reads while writing an exit. The example there still writes `z2ui5_if_exit` — every fenced ABAP example on this site is compiled against the RELEASE, and the new name is not in one yet. The examples follow when it is.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four changes on abap2UI5
main(abap2UI5/abap2UI5#2647), and what this site had to say about each.The favicon page is gone.
cs_config-faviconwas rolled back — the tab icon was always reachable from the running app throughcs_event-set_favicon, and a second way to set it had earned a page here documenting a field readers cannot use.resources/logo.mdlinked to that page for "an app that sets its own"; it now names the frontend event and points at the cookbook, so nothing dangles.The tab title is set by the app, not by the exit.
cs_config-titlestill compiles but is no longer read. Four places said otherwise, one of them by example: User Exits taughtcs_config-title = 'my title'as the first line of the first example anyone copies, Setup listed the title among the things the generatedindex.htmlgets configured with, and the cookbook's Title page now leads with the rule — the page always carries<title>abap2UI5</title>, and from the first roundtrip on the app owns it. Deprecations carries the row and the section.z2ui5_if_typesis retired. Every type now sits on the object that uses it. Deprecations gets the full old-to-new table plus the part that decides whether anyone has to act: the interface still ships unchanged and every moved type is identical field for field, so existing code compiles and still fits the new signatures.advanced/renaming.mdlisted it as one of four segment-less public interfaces; it is three now, with the fourth named as what it became.z2ui5_if_exitbecomesz2ui5_if_ui5_exit. Both ship, the framework looks up both, a class implementing the old one is found and called exactly as before, and one implementing both is called once. Deprecations shows both class skeletons side by side.Everything new is marked next release — it is on
mainand in no release yet.Why the examples still write
z2ui5_if_exitcheck:examplescompiles every fenced ABAP block against the released framework (1.143.0), which has neitherz2ui5_if_ui5_exitnor the new type homes. So the examples on Setup, Security, Style/CSS, Bootstrap Attributes and Logon Language stay on the old names and follow after a release. The User Exits page carries a tip saying so.Checks
npm run test(20/20),npm run docs:build— which is the dead-link gate —npm run check:examples(46 examples on 28 pages, linter clean) andnpm run check:samples, all green.🤖 Generated with Claude Code
https://claude.ai/code/session_018j2333w6boi4XEDiWo8qBF
Generated by Claude Code