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]