JiaLiangC commented on PR #4166:
URL: https://github.com/apache/ambari/pull/4166#issuecomment-5279736773

   @arshadmohammad  The documentation under 
docs/frontend-refactor/ember-baseline defines the functional baseline for 
migrating the Ambari Web UI from Ember to React.
   
     Its purpose is to provide a traceable inventory of the classic Ember UI 
before comparing it with the React implementation. The documentation is 
organized by functional module and records:
   
     - User-visible features and complete workflow behavior.
     - Backend REST API contracts and their call sites.
     - Authentication, authorization, permissions, and feature flags.
     - Routes, navigation behavior, template actions, and persisted state.
     - WebSocket/STOMP transports, subscriptions, reconnect behavior, and 
lifecycle rules.
     - Complex flows such as cluster installation modes, Kerberos, HA, 
upgrades, and administration.
     - Source-code and test references supporting each documented behavior.
     - Known limitations, conditional behavior, compatibility decisions, and 
items requiring runtime validation.
     - Explicit scope boundaries. Metrics-related functionality is excluded 
from this refactoring baseline.
   
     These documents are intended to become the authoritative acceptance 
baseline for the React refactoring. For each module, we compare the existing 
React implementation against the documented Ember behavior, identify missing or 
incompatible functionality, implement the required changes, and add tests. This 
prevents
     the migration from silently losing behavior that may not be obvious from 
the visible UI alone.
   
     The generated inventories under 
docs/frontend-refactor/ember-baseline/generated supplement the hand-written 
module documents. They catalog AJAX definitions and call sites, direct HTTP 
calls, browser network entry points, permissions, feature flags, routes, 
template actions, realtime channels, client configuration
     downloads, and the feature index.
   
     The following command validates the integrity of that documentation set:
   
     node 
docs/frontend-refactor/ember-baseline/tools/validate-ember-baseline.mjs
   
     The validator checks that:
   
     - All required module documents exist.
     - Feature IDs are complete, unique, and stable.
     - Markdown tables and relative links are valid.
     - Referenced source files and line numbers exist.
     - Hand-written module features match the generated feature index.
     - Generated Markdown and JSON inventories remain synchronized.
     - AJAX contracts still match the classic Ember source definitions.
     - Dynamic AJAX dispatch points have explicit resolution contracts.
     - Direct HTTP calls and browser navigation/network entry points are 
accounted for.
     - Permission, feature-flag, route, and template-action inventories are 
consistent.
     - Realtime transport, destination, subscription, and lifecycle contracts 
are complete.
     - Metrics exclusions remain explicit.
     - Classic test inventories and frozen five-pass audit counts have not 
drifted unexpectedly.
   
     A successful run prints a JSON report containing "errors": [] and exits 
with status code 0. Any inconsistency causes a nonzero exit status so the 
command can be used in CI.
   
     This is a static documentation and source-consistency validator. It does 
not prove that the React implementation has reached parity, and it does not 
replace runtime validation against a real Ambari Server. Complex workflows such 
as installation, Kerberos, HA, upgrades, permissions, scheduled operations, and
     transport fallback still require dedicated runtime testing.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to