You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "villebro (via GitHub)" <gi...@apache.org> on 2024/04/15 23:38:42 UTC
[I] [SIP] User preferences [superset]
villebro opened a new issue, #28047:
URL: https://github.com/apache/superset/issues/28047
## [SIP] Proposal for User Preferences
### Motivation
Currently it's possible to customize various aspects of Superset:
- Color palettes
- Enable/disable thumbnails
- Default viz type
- Number formats and currencies
- etc
However, these are configured per deployment, meaning users can't override the globally defined defaults. In addition, the lack of user-specific configurability has made it difficult to introduce typically available customizability, like
- Timezone support (local vs fixed timezone)
- Light/dark mode
### Proposed Change
We propose introducing a settings page where new user-specific settings can be easily introduced and changed per user. This would make it possible to change the functionality and appearance of Superset per user, without having to impose the same for all.
### New or Changed Public Interfaces
A new config would be introduced which defines the default user settings. These could then be overridden per user, via a User Preferences page.
As a pilot for this, I propose implementing timezone support, as Superset currently only works with naive or single timezone timestamps. As many databases work in UTC, it's often painful for users to convert UTC to whichever timezone they're in. While it's possible to force a certain timezone for a dataset/chart, enforcing a single timezone for all users can be difficult, especially if the users are distributed across multiple timezones.
I did some hacking on adding timezone support to the chart data endpoint, but decided against implementing it until it can be made generally available via a per-user customizable setting. See here: #23511
### Migration Plan and Compatibility
Backwards compatible with a new feature flag until the user preferences page becomes stable. After that, new experimental preferences would be introduced via an experimental flag to ensure they're not exposed to users before they're stable.
### Rejected Alternatives
Adding light/dark/auto mode, timezone etc to the config, which takes effect for all users.
--
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: notifications-unsubscribe@superset.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas closed issue #28047: [SIP-127] User Preferences
URL: https://github.com/apache/superset/issues/28047
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "villebro (via GitHub)" <gi...@apache.org>.
villebro commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2085938793
> @kasiazjc @villebro Can we add the following to the SIP? I'm available if we want to schedule a meeting to do this.
>
> > A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc
@michael-s-molina I've added a section for this in the proposal. I also added the decal-based accessibility feature as an alternative for a POC, as it feels like it would be fairly easy to do, and would help us reach new users that may previously have been unable to use Superset.
@kasiazjc do you think you'd be able to work on a draft for the Preferences page? This would be a huge help, as that's probably the main thing we're missing right now.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2058218596
Another needed example would be enabling accessibility features (e.g. ECharts decals/patterns) since few would want to turn this on deployment-wide, but any org would want their users to opt into such capabilities.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2176348594
@villebro think this is ready for a VOTE?
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "michael-s-molina (via GitHub)" <gi...@apache.org>.
michael-s-molina commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2085407228
@kasiazjc @villebro Can we add the following to the SIP? I'm available if we want to schedule a meeting to do this.
> A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "villebro (via GitHub)" <gi...@apache.org>.
villebro commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2059586193
thanks @michael-s-molina - I added an initial proposal for the API, storage and frontend handling of the preference object.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "mistercrunch (via GitHub)" <gi...@apache.org>.
mistercrunch commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-3001466013
the ability to pick a `locale` would be nice if people want to deviate from their OS-level settings, or debug a specific locale, with that would come a default currency / language / ...
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "michael-s-molina (via GitHub)" <gi...@apache.org>.
michael-s-molina commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2059047078
Thank you for the SIP @villebro. This is a much needed feature.
I'm always trying to dive deeper during analysis phase, even if our first version will be just a subset of the whole. I think it's important to have a vision of where we want to go and avoid structural decisions that block that vision because they were made considering only the subset. For that reason, I think it would be good if the SIP includes:
- A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc
- The proposed API changes. We generally don't do this upfront and that's why many of our APIs are poorly designed. This is simply specifying the new or changed endpoints, params, payload, response, etc. Something like [this](https://github.com/apache/superset/pull/17337).
- How the frontend should access this information. I believe we're going to use Redux here, so it would be good to see where this information will be placed and how it will be modeled in the Redux state.
I'm happy to collaborate with you and @kasiazjc on this effort as I think it's a very valuable feature for users.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "kasiazjc (via GitHub)" <gi...@apache.org>.
kasiazjc commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2100930440
> > @kasiazjc @villebro Can we add the following to the SIP? I'm available if we want to schedule a meeting to do this.
> > > A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc
>
> @michael-s-molina I've added a section for this in the proposal. I also added the decal-based accessibility feature as an alternative for a POC, as it feels like it would be fairly easy to do, and would help us reach new users that may previously have been unable to use Superset.
>
> @kasiazjc do you think you'd be able to work on a draft for the Preferences page? This would be a huge help, as that's probably the main thing we're missing right now.
Actually settings page is something that I've been trying to advocate for in Preset, but never had the resources. So happy to contribute :)
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "mistercrunch (via GitHub)" <gi...@apache.org>.
mistercrunch commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-3001523966
@kasiazjc do you think a modal make sense for this?
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "villebro (via GitHub)" <gi...@apache.org>.
villebro commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2113614570
Update from design meeting today (@michael-s-molina @rusackas @kasiazjc @justinpark @villebro present):
@kasiazjc shared first mocks:
Proposal 1 (user/global tabs on top):

Proposal 2 (nav on left hand side):


Quick summary of discussion:
- Regular users would only see the user preferences
- Admins should be able to edit global defaults through this UI rather than having to make the changes in `superset_config.py`. These would be shown in a separate section with same options as user preferences.
- As we're expecting lots of preferences to be added over time, we should introduce a global search that makes it possible to quickly find the relevant preferences
- For the UI, it would be preferable to create a new React component that can be used to design the new version of the Explore Control Panel. This way we could introduce global search in the Control Panel, too.
- The schema for preferences should probably be stored in a big blob, either in the key-value store or the user object, and support the following features:
- versioning: make it possible to migrate to new versions with ease, similar to how the chart migration tool works
- be able to mark deprecated preferences
- support deep nesting. This will be especially important on the Explore Control Panel, where complex schemas will make it possible to fully leverage the ECharts schema for high customizability of charts
The work can roughly be split up in the following major tasks:
- Design: next steps to see if we can add deep nesting to the design @kasiazjc
- Component design: See if a JSON schema can be created that makes it possible to render the preference section/control panel. @rusackas @michael-s-molina @justinpark
- Backend design: User preference blob schema, migration + persistence in backend. @villebro
Ping @anamitraadhikari who may be interested in also contributing to the FE work.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2551776748
Closing this since it was approved.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2072720417
Think this is ready for a DISCUSS thread?
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "villebro (via GitHub)" <gi...@apache.org>.
villebro commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2058220187
> Another needed example would be enabling accessibility features (e.g. ECharts decals/patterns) since few would want to turn this on deployment-wide, but any org would want their users to opt into such capabilities.
Oh, super good example - I'll add it to the summary 👍
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [I] [SIP-127] User Preferences [superset]
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on issue #28047:
URL: https://github.com/apache/superset/issues/28047#issuecomment-2091217844
@villebro the one issue I have with custom user preferences—depending on the actual preference—is that a chart or dashboard shared amongst users could be perceived differently based on their user preferences.
For example if users are using the local time zone and discussing an anomaly in a chart, then the time of the anomaly would be different if they were based in different time zones. Similarly different color palettes could result in misinterpretation of the data when two or more users are discussing the "blue line" (or similar).
I think—from a data transparency/community perspective—consistency is vital, thus only a subset of the proposed user preferences are actually applicable. Maybe it makes more sense if the actual settings are discussed individually.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org