dosubot[bot] commented on issue #34441:
URL: https://github.com/apache/superset/issues/34441#issuecomment-3141863881

   <!-- Answer -->
   Superset 5 no longer supports customizing the main IndexView using 
FAB_INDEX_VIEW in the config file. Instead, you need to use FLASK_APP_MUTATOR 
to programmatically set appbuilder.indexview before views are registered. This 
is a breaking change from v4 and is why your previous approach now fails 
([source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/initialization/__init__.py)).
   
   Here's how you can migrate your custom IndexView logic:
   
   ```python
   from flask_appbuilder import expose, IndexView
   from superset.typing import FlaskResponse
   
   class MyDashboardView(IndexView):
       @expose("/")
       def index(self) -> FlaskResponse:
           # your custom logic here
           pass
   
   def mutate_app(app):
       from superset.extensions import appbuilder
       appbuilder.indexview = MyDashboardView
       # register other views/links as needed
   
   FLASK_APP_MUTATOR = mutate_app
   ```
   
   Remove FAB_INDEX_VIEW from your config. Make sure your FLASK_APP_MUTATOR 
function sets appbuilder.indexview to your custom class before registering any 
views. If you still have issues, check your logs for config loading errors and 
confirm that other config changes are taking effect 
([source](https://github.com/apache/superset/issues/33702)).
   
   
   <!-- Dosu Comment Footer -->
   *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*
   
   ---
   <sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/65dd0116-393e-45fb-89dc-39dce9a766b0?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu
 b)&nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/34441)


-- 
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