JSON gets its own section, and ajson stops inviting app code in - #323
Merged
Merged
Conversation
Three things on this site said different, incompatible things about JSON. `technical/tools/ajson` told the reader "Use it anywhere in your code" with a `z2ui5_cl_ajson=>parse( )` example - the exact call the abap2UI5 linter reports as `non-released-api`, and the exact thing `resources/deprecations` says two pages away not to do. What ships under that name is a MIRRORED copy of an external project, resynced automatically, so the invitation was to depend on something nobody reviews for app-facing impact. The page now says what ajson is - the framework's model engine, what `json = abap_true` is implemented with - and sends the reader to the section below for what to write instead. That section did not exist: the guidance was four sentences buried in the "Utility classes" warning, which is not where anybody looks for it and is not an anchor anything could link. It is now `### JSON is built and read by hand`, with the outbound and inbound halves written out, plus two limits the short version did not carry: - "the payloads are flat" is true of the samples and NOT guaranteed by the marshaller - Lib.js `projectValue` passes an object- or array-valued control property through unchanged, so a nested node is possible. Binding the value is the answer there, not a bigger parser. - a payload the APP composes needs escaping on both ends, which the two framework-written samples do not show, because a quote the user typed ends the value early for a `substring_before` reader. Z2UI5_CL_SMPS_APP_489 is linked as the worked case. The two sample links in the `custom_mapper` table pointed at `src/00`, where those classes have not been since abap2UI5/samples#843 moved them to `src/01`. `check:samples` was already red on main over exactly those two lines - it is green again, and the three new source links it also validates are present. `resources/api.md` and `client-api.json` are regenerated in the same pass: they were stale against framework main by one entry, `cs_event-store_data`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011Fu4Wn6gtdBwFDtnzEMxwb
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.
Three things on this site said different, incompatible things about JSON.
technical/tools/ajsoninvited app code inIt said "Use it anywhere in your code" with a
z2ui5_cl_ajson=>parse( )example — the exact call the abap2UI5 linter reports asnon-released-api, and the exact thingresources/deprecationssays two pages away not to do. What ships under that name is a mirrored copy of an external project, resynced automatically, so the invitation was to depend on something nobody reviews for app-facing impact.The page now says what ajson is — the framework's model engine, what
json = abap_trueis implemented with — and sends the reader to the section below for what to write instead.That section did not exist
The guidance was four sentences buried inside the "Utility classes" warning: not where anybody looks for it, and not an anchor anything could link. It is now
### JSON is built and read by hand, with the outbound and inbound halves written out, plus two limits the short version did not carry:Lib.jsprojectValuepasses an object- or array-valued control property through unchanged, so a nested node is possible. Binding the value is the answer there, not a bigger parser.substring_beforereader.Z2UI5_CL_SMPS_APP_489is linked as the worked case.Two links were 404s, and the site's own gate said so
check:samplesis already red onmainover exactly these two lines:Both moved to
src/01in abap2UI5/samples#843. Fixed, and the three new source links this PR adds are validated by the same gate.Also
resources/api.mdandpublic/api/client-api.jsonare regenerated in the same pass — they were stale against frameworkmainby one entry,cs_event-store_data.check:api-referencewas red onmainover that.Verified
npm run test251/251 pass (spelling gate included —marshalled→marshaledapplied vianpm run fix:spelling) ·check:version,check:conventions,check:api-names,check:api-reference,check:playgroundclean ·check:samplesdown from 11 problems to 9, the two removed being exactly the broken links; the remaining 9 are pre-existing "generated samples block is out of date" on unrelated pages and are left alone.npm run buildcannot run in this sandbox — it fetcheshttps://abap2ui5.github.io/playground/sitemap.xmland the proxy answers 403. Confirmed pre-existing by stashing the change and re-running; unrelated to this PR.🤖 Generated with Claude Code
https://claude.ai/code/session_011Fu4Wn6gtdBwFDtnzEMxwb
Generated by Claude Code