[SIP] Proposal for alphabetically sorted columns & metrics in explore

Motivation

Currently, the order of columns is not deterministic, There is some prioritization, e.g. for datetime and certified columns, but all other columns are shown in the order returned by the db, which is not guaranteed to be the same. See: https://github.com/apache/superset/pull/33140#issuecomment-2810285010

Proposed Change

See: https://github.com/apache/superset/pull/33140

Display metrics and columns in alphabetical order. Keep certified columns on top, but sort them as well.

Left image is before, right is after:

Apache Superset [SIP-168] Alphabetically sorted columns & metrics in explore Apache Superset [SIP-168] Alphabetically sorted columns & metrics in explore

From: https://github.com/apache/superset/pull/33140

New or Changed Public Interfaces

DatasourcePanel logic will be changed to sort the columns alphabetically.

New dependencies

None.

Migration Plan and Compatibility

None.

Rejected Alternatives

None.

Comment From: sadpandajoe

Any reason why we wouldn't add what we have for sql lab where we can have the default order as is, and then allow a user to sort alphabetically or reverse alphabetically? This should give users a bit more control on what they want to see or not.

Image

Comment From: vanaigr

Any reason why we wouldn't add what we have for sql lab where we can have the default order as is, and then allow a user to sort alphabetically or reverse alphabetically? This should give users a bit more control on what they want to see or not.

I can add that, though I'm not sure where the button would best fit.

I assume it would switch to sorting by id in the metadata?

Comment From: rusackas

I don't see a DISCUSS thread on the dev@ mailing list. You'll need to do that, or this may eventually be closed as abandoned.

Comment From: vanaigr

I don't see a DISCUSS thread on the dev@ mailing list. You'll need to do that, or this may eventually be closed as abandoned.

Do I need to do something other than this?

Image

Comment From: rusackas

I somehow missed it since the number wasn't in the title 😅

Maybe @kasiazjc can provide a mockup of how we'd want to add/design the controls for this. Once we all agree on design, we can certainly put this up for a [VOTE] thread. If you already have code around this, you're welcome to open a Draft PR as a POC, btw.

Comment From: rusackas

Still hoping we can get this through to a VOTE. Input welcomed from anyone, but once we have a design AND implementation plan we can all agree on, I'm happy to put this up for a VOTE.