You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "armanmshah (via GitHub)" <gi...@apache.org> on 2025/06/12 17:09:26 UTC
[D] Customizing the Welcome Page [superset]
GitHub user armanmshah created a discussion: Customizing the Welcome Page
I'm trying to customize the welcome page so it has some basic information for our use, but I also want to keep the current functionality of the welcome page. Is there a way to insert some html into the welcome page without having to fork the repo? If not, is this a feature that could be added?
Here is code of what I was trying to accomplish. I added it to the `superset_config.py` and was trying to import existing functions used in superset to be able to render the rest of the welcome page.
```class SupersetDashboardIndexView(IndexView):
@expose("/test")
def index(self):
import json
from superset.views.utils import (bootstrap_user_data)
from superset.views.base import (common_bootstrap_payload)
from superset import db
from superset.utils import core
from superset.views.core import (render_template)
if not g.user or not get_user_id():
return redirect("/login")
payload = {
"user": bootstrap_user_data(g.user, include_perms=True),
"common": common_bootstrap_payload(),
}
welcome_page = render_template(
"superset/spa.html",
entry="spa",
bootstrap_data=json.dumps(
payload, default=core.pessimistic_json_iso_dttm_ser
),
)
print(welcome_page)
html = f"""
<!DOCTYPE html>
<html>
<head>
<link rel="icon" type="image/png" href="/static/assets/images/favicon.png">
<style>
body {{
font-family: Inter,Helvetica,Arial;
-webkit-font-smoothing: antialiased;
color: #333;
font-size: 14px;
line-height: 1.4;
box-sizing: border-box;
}}
.navbar {{
display: flex;
align-items: center;
background-color: #fff;
border-bottom: 2px solid #F7F7F7;
padding-left: 1rem;
}}
.navbar-brand {{
display: inline-block;
padding-top: .3125rem;
padding-bottom: .3125rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}}
.navbar-brand img {{
cursor: pointer;
font-size: 18px;
line-height: 19px;
border: 0;
box-sizing: border-box;
display: block;
height: 30px;
object-fit: contain;
}}
.main-nav {{
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
display: flex;
align-items: center;
}}
.main-nav li a {{
display: block;
color: #333;
text-align: center;
padding: 14px 16px;
text-decoration: none;
border-bottom: 2px solid transparent;
}}
.main-nav li a {{
display: block;
color: #484848;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}}
.info-section {{
color: darkgreen;
width: 100%;
padding: 20px;
margin-top: 20px;
background-color: #f9f9f9;
font-size: 15px;
line-height: 1.6;
}}
.info-section ul {{
padding-left: 30px;
list-style-position: inside;
}}
.info-section b {{
font-size: 18px;
}}
.main-nav li a:hover {{
background-color: #f2f2f2;
border-bottom: 2px solid #1EA7C8;
}}
</style>
</head>
<body>
<div class="navbar">
<a class="navbar-brand" href="/superset/welcome/">
<img src="/static/assets/images/superset-logo-horiz.png" alt="Superset">
</a>
<ul class="main-nav">
<li><a href="/dashboard/list/">Dashboards</a></li>
<li><a href="/chart/list/">Charts</a></li>
<li><a href="/tablemodelview/list/">Datasets</a></li>
<li><a href="/superset/sqllab/">SQL</a></li>
</ul>
</div>
<div class="info-section">
<ul>
<b>What is this tool for?</b>
<li>Data visualisation or Data Reporting by building charts and dashboards</li>
</ul>
</div>
{welcome_page}
</body>
</html>
"""
return html
FAB_INDEX_VIEW = f"{SupersetDashboardIndexView.__module__}.{SupersetDashboardIndexView.__name__}"```
GitHub link: https://github.com/apache/superset/discussions/33761
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] Customizing the Welcome Page [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: Customizing the Welcome Page
<!-- Greeting -->
Hi @armanmshah! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team.
<!-- Answer -->
Superset doesn't currently support injecting custom HTML directly into the welcome page via configuration or `superset_config.py`—the welcome page is rendered by a React app, and most of its content can't be changed from the backend or config alone. Your approach with a custom `IndexView` in `superset_config.py` won't work for modifying the actual welcome page content; it can only redirect or replace the page entirely, not insert HTML into the existing React-rendered content [reference](https://github.com/apache/superset/discussions/18571).
If you're on Superset 5.0.0 or later, you can inject HTML into the `<head>` of all pages (including the welcome page) by adding a `head_custom_extra.html` file, but this only affects the `<head>`, not the body content [reference](https://github.com/apache/superset/issues/31686).
For more advanced customization (like adding info sections or banners to the welcome page body), you'd need to fork the frontend or use the React extension points (`welcome.message`, `welcome.banner`, etc.)—but these require writing a Superset frontend plugin, not just Python config [reference](https://github.com/apache/superset/blob/e6af4ea126058052506e5437cbe90f9c5f2192d0/superset-frontend/src/pages/Home/index.tsx).
If you want this kind of HTML injection as a config feature, it would need to be proposed and implemented as a new feature.
<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*
---
Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).
[](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=2edb077b-3267-4f46-911d-d034864a04f1) [](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)
GitHub link: https://github.com/apache/superset/discussions/33761#discussioncomment-13451346
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] Customizing the Welcome Page [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: Customizing the Welcome Page
<!-- Greeting -->
Hi @armanmshah! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team.
<!-- Answer -->
Superset doesn't currently support injecting custom HTML directly into the welcome page via configuration or `superset_config.py`—the welcome page is rendered by a React app, and most of its content can't be changed from the backend or config alone. Your approach with a custom `IndexView` in `superset_config.py` won't work for modifying the actual welcome page content; it can only redirect or replace the page entirely, not insert HTML into the existing React-rendered content [reference](https://github.com/apache/superset/discussions/18571).
If you're on Superset 5.0.0 or later, you can inject HTML into the `<head>` of all pages (including the welcome page) by adding a `head_custom_extra.html` file, but this only affects the `<head>`, not the body content [reference](https://github.com/apache/superset/issues/31686).
For more advanced customization (like adding info sections or banners to the welcome page body), you'd need to fork the frontend or use the React extension points (`welcome.message`, `welcome.banner`, etc.)—but these require writing a Superset frontend plugin, not just Python config [reference](https://github.com/apache/superset/blob/e6af4ea126058052506e5437cbe90f9c5f2192d0/superset-frontend/src/pages/Home/index.tsx).
If you want this kind of HTML injection as a config feature, it would need to be proposed and implemented as a new feature.
<!-- 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/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/2edb077b-3267-4f46-911d-d034864a04f1?feedback_type=other)</sup> [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/33761)
GitHub link: https://github.com/apache/superset/discussions/33761#discussioncomment-13451346
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org