apache / apache/superset

[SIP-163] Archiving Dashboards

Open
#33,044 14 comments 14 reactions 0 assignees View on GitHub
dashboard design:proposal sip
Dominant language
Python
Stars
74.8k
Forks
18.3k
Avg merge
2d 4h
Merged PRs (30d)
664

Description

*Please make sure you are familiar with the SIP process documented*
[here](https://github.com/apache/superset/issues/5602). The SIP will be numbered by a committer upon acceptance.

## [SIP] Proposal for Archiving Dashboards

### Motivation

Dashboards have 2 states published and draft. However, there is state in which a dashboard my be deprecated and no longer needed, but required to be kept around for some time whether as a reference or any other reason. The archive status allows for these dashboard assets to be kept around for a while longer and not clutter up the dashboard lists of the owner (hidden) until searched for using the archived status filter.

### Proposed Change

I added a new state for dashboards. Archived. This will make it so that it will not appear in the list of dashboard, unless it's set as Archived.

Archived Dashboard
Image
Image
Image

Unarchived Dashboard
Image

Dashboard List
Image
Image

### New or Changed Public Interfaces
1. Added archive to dashboard model
2. Added button to archive dashboard
3. Added archive label to put in place of publish/draft labels for archived dashboards
4. Going from published to archived will unpublish it and put it back to draft.
4.5 Unarchiving it will make it remain in draft
5. Archived dashboards will not be seen on the dashboard list without the Archived status filter
6. Enabling the archive status filter will allow users to see all archived dashboards

### Migration Plan and Compatibility

Needs to add a new column to the dashboards. "archived"
Default value will be false. Can fully remove the column to downgrade

### Rejected Alternatives

Describe alternative approaches that were considered and rejected.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the dashboard model, the archive and unarchive actions, and the dashboard-list status filter described in the proposal. Check how published and draft states are represented, then determine the migration and UI entry points needed for archived dashboards to be hidden by default and shown with the Archived filter.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, react
Domain
backend, data-visualization, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.