[SIP-163] Archiving Dashboards
- 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
Unarchived Dashboard
Dashboard List
### 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
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