Skip to content

Add comprehensive full example tutorial and reorganize getting started docs - #90

Merged
oblomov-dev merged 9 commits into
mainfrom
claude/serene-planck-XIBO9
May 23, 2026
Merged

Add comprehensive full example tutorial and reorganize getting started docs#90
oblomov-dev merged 9 commits into
mainfrom
claude/serene-planck-XIBO9

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Summary

This PR adds a complete end-to-end tutorial demonstrating a realistic abap2UI5 application, reorganizes the getting started documentation structure, and enhances existing docs with clarifications on lifecycle patterns and binding requirements.

Key Changes

New Documentation:

  • Added docs/get_started/full_example.md — a comprehensive walkthrough of a complete sales-order management app covering:
    • Selection screen with date range and customer filter
    • Data reading from database
    • Result table display with edit functionality
    • Popup dialog for inline editing
    • Change persistence and table refresh
    • Demonstrates the standard lifecycle pattern with proper state management

Documentation Reorganization:

  • Moved sample apps content from dedicated samples.md page into next.md as a discovery section
  • Reordered getting started navigation: Introduction → Quickstart → Use Cases → Hello World → Full Example → What's Next?
  • Removed standalone samples.md and experimental feature pages (drag_drop.md, smart_control.md)
  • Reorganized cookbook sidebar: grouped "Advanced Features" under "Beyond Basics" section with collapsible subsections

Enhanced Existing Documentation:

  • Added "Lifecycle Pitfalls" section to lifecycle.md documenting three critical patterns:
    • Bound attributes must be public (not protected/private)
    • View is only sent when view_display() is called
    • check_on_event() fires once per roundtrip
  • Updated binding.md with warning about public attribute requirement for binding
  • Added "Mapping UI5 XML ↔ ABAP Fluent API" section to definition.md explaining:
    • Naming conventions (snake_case, property mapping)
    • Generic builder for complete UI5 control coverage
    • Recommendation for AI-assisted development
  • Added "Jump into the Code" section to hello_world.md documenting Ctrl+F12 source viewer
  • Updated cross-references from /get_started/samples to /get_started/next#sample-apps

Notable Implementation Details

  • The full example uses dummy data to run without a database, with clear comments showing where real SELECTs and UPDATEs would go
  • Demonstrates proper use of public attributes for state management across request roundtrips
  • Shows popup lifecycle: opening with popup_display(), closing with popup_destroy(), while main view persists
  • Illustrates event dispatching pattern with CASE abap_true and check_on_event()

https://claude.ai/code/session_01Egr9sbJJ944KALJbdahgBG

@oblomov-dev
oblomov-dev merged commit 9b76f3d into main May 23, 2026
@oblomov-dev
oblomov-dev deleted the claude/serene-planck-XIBO9 branch May 23, 2026 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants