rusackas opened a new pull request, #41222: URL: https://github.com/apache/superset/pull/41222
### SUMMARY Adds a **"Customizing the landing page (index view)"** section to the configuration docs. Customizing the `/` route via `FAB_INDEX_VIEW` actually works in current Superset — Flask-AppBuilder resolves it during `init_app` and it overrides the default `SupersetIndexView` (`superset/initialization/__init__.py`, `flask_appbuilder/base.py:169-173`). But the mechanism and its non-obvious gotchas are undocumented, which has produced recurring confusion (e.g. #34422, where the path was thought to be unsupported and folks resorted to monkeypatching workarounds). The new section documents: - Setting `FAB_INDEX_VIEW` to an importable dotted path, with a working example. - **Subclass `SupersetIndexView`** (not bare `IndexView`) to retain the `/lang/<locale>` locale handling. - The class must be **importable as a real module** on `PYTHONPATH`; only uppercase names are copied out of `superset_config.py`, so referencing a class defined there only works if `superset_config` is importable by name — otherwise put the view in a separate module (relevant when loading config via `SUPERSET_CONFIG_PATH`). - Don't set `appbuilder.indexview` from `FLASK_APP_MUTATOR` — it runs after routes are registered, so it has no effect. Imports in the example were verified against the codebase (`FlaskResponse` is in `superset.superset_typing`; `SupersetIndexView` is importable from `superset.initialization`). ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Docs-only; new subsection under "Flask app Configuration Hook" in `configuring-superset.mdx`. Netlify preview will render it. ### TESTING INSTRUCTIONS Build the docs (or view the Netlify deploy preview) and confirm the new section renders under Configuration → Configuring Superset. ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Introduces new feature or API - [ ] Removes existing feature or API 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
