You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2023/12/04 21:05:59 UTC

(superset) 14/15: chore: Clean up the examples dashboards (#26158)

This is an automated email from the ASF dual-hosted git repository.

michaelsmolina pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 5ec1edc87638d30ad1b13411fd99846984cc5972
Author: Michael S. Molina <70...@users.noreply.github.com>
AuthorDate: Mon Dec 4 16:05:08 2023 -0300

    chore: Clean up the examples dashboards (#26158)
    
    (cherry picked from commit 3ab27c6ec90d4b27e6a7c21783bd3d1f203280a4)
---
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |   6 +-
 .../cypress/e2e/dashboard/tabs.test.ts             |   3 -
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |   1 -
 .../cypress-base/cypress/support/e2e.ts            |   2 +-
 .../examples/configs/charts/Filter_Segments.yaml   |  68 ---
 .../configs/charts/Filtering_Vaccines.yaml         |  53 --
 .../configs/charts/Vehicle_Sales_Filter.yaml       |  47 --
 .../configs/charts/Video_Game_Sales_Filter.yaml    |  55 --
 .../dashboards/COVID_Vaccine_Dashboard.yaml        | 128 ++---
 .../dashboards/FCC_New_Coder_Survey_2018.yaml      | 608 ++++++++++-----------
 .../configs/dashboards/Sales_Dashboard.yaml        | 300 ++++------
 .../configs/dashboards/Video_Game_Sales.yaml       | 389 ++++++-------
 superset/examples/misc_dashboard.py                | 148 ++---
 superset/examples/world_bank.py                    |  39 +-
 tests/integration_tests/charts/api_tests.py        |   6 +-
 .../integration_tests/dashboards/commands_tests.py |  20 +-
 tests/integration_tests/dashboards/dao_tests.py    |  54 --
 tests/integration_tests/databases/api_tests.py     |   2 +-
 tests/integration_tests/utils_tests.py             |  44 --
 19 files changed, 659 insertions(+), 1314 deletions(-)

diff --git a/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts b/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts
index e8457ba94b..7683d7f878 100644
--- a/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts
+++ b/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts
@@ -113,7 +113,7 @@ function prepareDashboardFilters(
         },
         type: 'NATIVE_FILTER',
         description: '',
-        chartsInScope: [6],
+        chartsInScope: [5],
         tabsInScope: [],
       });
     });
@@ -150,7 +150,7 @@ function prepareDashboardFilters(
             meta: {
               width: 4,
               height: 50,
-              chartId: 6,
+              chartId: 5,
               sliceName: 'Most Populated Countries',
             },
           },
@@ -414,7 +414,7 @@ describe('Native filters', () => {
       cy.createSampleDashboards([0]);
     });
 
-    it('Verify that default value is respected after revisit', () => {
+    it.only('Verify that default value is respected after revisit', () => {
       prepareDashboardFilters([
         { name: 'country_name', column: 'country_name', datasetId: 2 },
       ]);
diff --git a/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts b/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts
index 6fc89c1446..ba442e600a 100644
--- a/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts
+++ b/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts
@@ -25,7 +25,6 @@ import { TABBED_DASHBOARD } from 'cypress/utils/urls';
 import { expandFilterOnLeftPanel } from './utils';
 
 const TREEMAP = { name: 'Treemap', viz: 'treemap_v2' };
-const FILTER_BOX = { name: 'Region Filter', viz: 'filter_box' };
 const LINE_CHART = { name: 'Growth Rate', viz: 'line' };
 const BOX_PLOT = { name: 'Box plot', viz: 'box_plot' };
 const BIG_NUMBER = { name: 'Number of Girls', viz: 'big_number_total' };
@@ -41,7 +40,6 @@ function topLevelTabs() {
 function resetTabs() {
   topLevelTabs();
   cy.get('@top-level-tabs').first().click();
-  waitForChartLoad(FILTER_BOX);
   waitForChartLoad(TREEMAP);
   waitForChartLoad(BIG_NUMBER);
   waitForChartLoad(TABLE);
@@ -96,7 +94,6 @@ describe('Dashboard tabs', () => {
 
   it.skip('should send new queries when tab becomes visible', () => {
     // landing in first tab
-    waitForChartLoad(FILTER_BOX);
     waitForChartLoad(TREEMAP);
 
     getChartAliasBySpec(TREEMAP).then(treemapAlias => {
diff --git a/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts b/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
index ca539039cf..c63df51d10 100644
--- a/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
+++ b/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
@@ -23,7 +23,6 @@ import { ChartSpec, waitForChartLoad } from 'cypress/utils';
 export const WORLD_HEALTH_CHARTS = [
   { name: '% Rural', viz: 'world_map' },
   { name: 'Most Populated Countries', viz: 'table' },
-  { name: 'Region Filter', viz: 'filter_box' },
   { name: "World's Population", viz: 'big_number' },
   { name: 'Growth Rate', viz: 'line' },
   { name: 'Rural Breakdown', viz: 'sunburst' },
diff --git a/superset-frontend/cypress-base/cypress/support/e2e.ts b/superset-frontend/cypress-base/cypress/support/e2e.ts
index 6642e0120c..cccc7b2005 100644
--- a/superset-frontend/cypress-base/cypress/support/e2e.ts
+++ b/superset-frontend/cypress-base/cypress/support/e2e.ts
@@ -18,7 +18,7 @@
  */
 import '@cypress/code-coverage/support';
 import '@applitools/eyes-cypress/commands';
-import failOnConsoleError, { Config } from 'cypress-fail-on-console-error';
+import failOnConsoleError from 'cypress-fail-on-console-error';
 
 require('cy-verify-downloads').addCustomCommand();
 
diff --git a/superset/examples/configs/charts/Filter_Segments.yaml b/superset/examples/configs/charts/Filter_Segments.yaml
deleted file mode 100644
index 605e33ca7e..0000000000
--- a/superset/examples/configs/charts/Filter_Segments.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-slice_name: Filter Segments
-viz_type: filter_box
-params:
-  adhoc_filters: []
-  datasource: 42__table
-  date_filter: false
-  filter_configs:
-  - asc: true
-    clearable: true
-    column: ethnic_minority
-    key: -xNBqpfQo
-    label: Ethnic Minority
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: gender
-    key: 19VeBGTKf
-    label: Gender
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: developer_type
-    key: OWTb4s69T
-    label: Developer Type
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: lang_at_home
-    key: Fn-YClyhb
-    label: Language at Home
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: country_live
-    key: 2fNskRCLJ
-    label: Country live
-    multiple: true
-    searchAllOptions: false
-  granularity_sqla: time_start
-  queryFields: {}
-  slice_id: 1387
-  time_range: No filter
-  url_params: {}
-  viz_type: filter_box
-cache_timeout: null
-uuid: 6420629a-ce74-2c6b-ef7d-b2e78baa3cfe
-version: 1.0.0
-dataset_uuid: d95a2865-53ce-1f82-a53d-8e3c89331469
diff --git a/superset/examples/configs/charts/Filtering_Vaccines.yaml b/superset/examples/configs/charts/Filtering_Vaccines.yaml
deleted file mode 100644
index e458c5a009..0000000000
--- a/superset/examples/configs/charts/Filtering_Vaccines.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-slice_name: Filtering Vaccines
-viz_type: filter_box
-params:
-  adhoc_filters: []
-  datasource: 69__table
-  date_filter: false
-  filter_configs:
-  - asc: true
-    clearable: true
-    column: country_name
-    key: D00hRxPLE
-    label: Country
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: product_category
-    key: jJ7x2cuIc
-    label: Vaccine Approach
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: clinical_stage
-    key: EgGwwAUU6
-    label: Clinical Stage
-    multiple: true
-    searchAllOptions: false
-  queryFields: {}
-  slice_id: 3965
-  time_range: No filter
-  url_params: {}
-  viz_type: filter_box
-cache_timeout: null
-uuid: c29381ce-0e99-4cf3-bf0f-5f55d6b94176
-version: 1.0.0
-dataset_uuid: 974b7a1c-22ea-49cb-9214-97b7dbd511e0
diff --git a/superset/examples/configs/charts/Vehicle_Sales_Filter.yaml b/superset/examples/configs/charts/Vehicle_Sales_Filter.yaml
deleted file mode 100644
index 91c8f76bb8..0000000000
--- a/superset/examples/configs/charts/Vehicle_Sales_Filter.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-slice_name: Vehicle Sales Filter
-viz_type: filter_box
-params:
-  adhoc_filters: []
-  datasource: 23__table
-  date_filter: true
-  filter_configs:
-  - asc: true
-    clearable: true
-    column: product_line
-    key: 7oUjq15eQ
-    label: Product Line
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: deal_size
-    key: c3hO6Eub8
-    label: Deal Size
-    multiple: true
-    searchAllOptions: false
-  granularity_sqla: order_date
-  queryFields: {}
-  slice_id: 671
-  time_range: '2003-01-01T00:00:00 : 2005-06-01T00:00:00'
-  url_params: {}
-  viz_type: filter_box
-cache_timeout: null
-uuid: a5689df7-98fc-7c51-602c-ebd92dc3ec70
-version: 1.0.0
-dataset_uuid: e8623bb9-5e00-f531-506a-19607f5f8005
diff --git a/superset/examples/configs/charts/Video_Game_Sales_Filter.yaml b/superset/examples/configs/charts/Video_Game_Sales_Filter.yaml
deleted file mode 100644
index 6c76d53e8e..0000000000
--- a/superset/examples/configs/charts/Video_Game_Sales_Filter.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-slice_name: Video Game Sales filter
-viz_type: filter_box
-params:
-  adhoc_filters: []
-  datasource: 21__table
-  date_filter: true
-  filter_configs:
-  - asc: true
-    clearable: true
-    column: platform
-    key: s3ItH9vhG
-    label: Platform
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: genre
-    key: 202hDeMsG
-    label: Genre
-    multiple: true
-    searchAllOptions: false
-  - asc: true
-    clearable: true
-    column: publisher
-    key: 5Os6jsJFK
-    label: Publisher
-    multiple: true
-    searchAllOptions: false
-  granularity_sqla: year
-  queryFields: {}
-  time_range: No filter
-  url_params:
-    preselect_filters: '{"1389": {"platform": ["PS", "PS2", "PS3", "PS4"], "genre":
-      null, "__time_range": "No filter"}}'
-  viz_type: filter_box
-cache_timeout: null
-uuid: fd9ce7ec-ae08-4f71-93e0-7c26b132b2e6
-version: 1.0.0
-dataset_uuid: 53d47c0c-c03d-47f0-b9ac-81225f808283
diff --git a/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml b/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml
index 363077aebe..1d870880b9 100644
--- a/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml
+++ b/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml
@@ -18,6 +18,9 @@ dashboard_title: COVID Vaccine Dashboard
 description: null
 css: ""
 slug: null
+certified_by: ""
+certification_details: ""
+published: true
 uuid: f4065089-110a-41fa-8dd7-9ce98a65e250
 position:
   CHART-63bEuxjDMJ:
@@ -25,32 +28,32 @@ position:
     id: CHART-63bEuxjDMJ
     meta:
       chartId: 3961
-      height: 72
+      height: 60
       sliceName: Vaccine Candidates per Country
       sliceNameOverride: Map of Vaccine Candidates
       uuid: ddc91df6-fb40-4826-bdca-16b85af1c024
-      width: 12
+      width: 8
     parents:
       - ROOT_ID
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
-      - ROW-zvw7luvEL
+      - ROW-xSeNAspgw
     type: CHART
   CHART-F-fkth0Dnv:
     children: []
     id: CHART-F-fkth0Dnv
     meta:
       chartId: 3960
-      height: 60
+      height: 82
       sliceName: Vaccine Candidates per Country
       sliceNameOverride: Treemap of Vaccine Candidates per Country
       uuid: e2f5a8a7-feb0-4f79-bc6b-01fe55b98b3c
-      width: 8
+      width: 4
     parents:
       - ROOT_ID
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
-      - ROW-xSeNAspgw
+      - ROW-dieUdkeUw
     type: CHART
   CHART-RjD_ygqtwH:
     children: []
@@ -66,7 +69,7 @@ position:
       - ROOT_ID
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
-      - ROW-zvw7luvEL
+      - ROW-zhOlQLQnB
     type: CHART
   CHART-aGfmWtliqA:
     children: []
@@ -81,17 +84,17 @@ position:
       - ROOT_ID
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
-      - ROW-zvw7luvEL
+      - ROW-zhOlQLQnB
     type: CHART
-  CHART-j4hUvP5dDD:
+  CHART-dCUpAcPsji:
     children: []
-    id: CHART-j4hUvP5dDD
+    id: CHART-dCUpAcPsji
     meta:
-      chartId: 3962
+      chartId: 3963
       height: 82
-      sliceName: Vaccine Candidates per Approach & Stage
-      sliceNameOverride: Heatmap of Approaches & Clinical Stages
-      uuid: 0c953c84-0c9a-418d-be9f-2894d2a2cee0
+      sliceName: Vaccine Candidates per Country & Stage
+      sliceNameOverride: Heatmap of Countries & Clinical Stages
+      uuid: cd111331-d286-4258-9020-c7949a109ed2
       width: 4
     parents:
       - ROOT_ID
@@ -99,37 +102,37 @@ position:
       - TAB-BCIJF4NvgQ
       - ROW-dieUdkeUw
     type: CHART
-  CHART-dCUpAcPsji:
+  CHART-fYo7IyvKZQ:
     children: []
-    id: CHART-dCUpAcPsji
+    id: CHART-fYo7IyvKZQ
     meta:
-      chartId: 3963
-      height: 72
+      chartId: 3964
+      height: 60
       sliceName: Vaccine Candidates per Country & Stage
-      sliceNameOverride: Heatmap of Countries & Clinical Stages
-      uuid: cd111331-d286-4258-9020-c7949a109ed2
+      sliceNameOverride: Sunburst of Country & Clinical Stages
+      uuid: f69c556f-15fe-4a82-a8bb-69d5b6954123
       width: 4
     parents:
       - ROOT_ID
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
-      - ROW-dieUdkeUw
+      - ROW-xSeNAspgw
     type: CHART
-  CHART-eirDduqb1A:
+  CHART-j4hUvP5dDD:
     children: []
-    id: CHART-eirDduqb1A
+    id: CHART-j4hUvP5dDD
     meta:
-      chartId: 3965
-      height: 60
-      sliceName: Filtering Vaccines
-      sliceNameOverride: Filter Box of Vaccines
-      uuid: c29381ce-0e99-4cf3-bf0f-5f55d6b94176
+      chartId: 3962
+      height: 82
+      sliceName: Vaccine Candidates per Approach & Stage
+      sliceNameOverride: Heatmap of Approaches & Clinical Stages
+      uuid: 0c953c84-0c9a-418d-be9f-2894d2a2cee0
       width: 4
     parents:
       - ROOT_ID
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
-      - ROW-xSeNAspgw
+      - ROW-dieUdkeUw
     type: CHART
   DASHBOARD_VERSION_KEY: v2
   GRID_ID:
@@ -189,46 +192,17 @@ position:
       - TAB-BCIJF4NvgQ
       - ROW-zhOlQLQnB
     type: MARKDOWN
-  CHART-fYo7IyvKZQ:
-    children: []
-    id: CHART-fYo7IyvKZQ
-    meta:
-      chartId: 3964
-      height: 72
-      sliceName: Vaccine Candidates per Country & Stage
-      sliceNameOverride: Sunburst of Country & Clinical Stages
-      uuid: f69c556f-15fe-4a82-a8bb-69d5b6954123
-      width: 4
-    parents:
-      - ROOT_ID
-      - TABS-wUKya7eQ0Z
-      - TAB-BCIJF4NvgQ
-      - ROW-dieUdkeUw
-    type: CHART
   ROOT_ID:
     children:
       - TABS-wUKya7eQ0Z
     id: ROOT_ID
     type: ROOT
-  ROW-zhOlQLQnB:
-    children:
-      - MARKDOWN-VjQQ5SFj5v
-      - CHART-RjD_ygqtwH
-      - CHART-aGfmWtliqA
-    id: ROW-zhOlQLQnB
-    meta:
-      "0": ROOT_ID
-      background: BACKGROUND_TRANSPARENT
-    parents:
-      - ROOT_ID
-      - TABS-wUKya7eQ0Z
-      - TAB-BCIJF4NvgQ
-    type: ROW
-  ROW-xSeNAspgw:
+  ROW-dieUdkeUw:
     children:
-      - CHART-eirDduqb1A
       - CHART-F-fkth0Dnv
-    id: ROW-xSeNAspgw
+      - CHART-dCUpAcPsji
+      - CHART-j4hUvP5dDD
+    id: ROW-dieUdkeUw
     meta:
       "0": ROOT_ID
       background: BACKGROUND_TRANSPARENT
@@ -237,12 +211,11 @@ position:
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
     type: ROW
-  ROW-dieUdkeUw:
+  ROW-xSeNAspgw:
     children:
-      - CHART-dCUpAcPsji
+      - CHART-63bEuxjDMJ
       - CHART-fYo7IyvKZQ
-      - CHART-j4hUvP5dDD
-    id: ROW-dieUdkeUw
+    id: ROW-xSeNAspgw
     meta:
       "0": ROOT_ID
       background: BACKGROUND_TRANSPARENT
@@ -251,10 +224,12 @@ position:
       - TABS-wUKya7eQ0Z
       - TAB-BCIJF4NvgQ
     type: ROW
-  ROW-zvw7luvEL:
+  ROW-zhOlQLQnB:
     children:
-      - CHART-63bEuxjDMJ
-    id: ROW-zvw7luvEL
+      - MARKDOWN-VjQQ5SFj5v
+      - CHART-RjD_ygqtwH
+      - CHART-aGfmWtliqA
+    id: ROW-zhOlQLQnB
     meta:
       "0": ROOT_ID
       background: BACKGROUND_TRANSPARENT
@@ -267,7 +242,6 @@ position:
     children:
       - ROW-zhOlQLQnB
       - ROW-xSeNAspgw
-      - ROW-zvw7luvEL
       - ROW-dieUdkeUw
     id: TAB-BCIJF4NvgQ
     meta:
@@ -316,18 +290,4 @@ metadata:
     Unknown: "#EFA1AA"
     Live attenuated virus: "#FDE380"
     COUNT(*): "#D1C6BC"
-  filter_scopes:
-    "3965":
-      country_name:
-        scope:
-          - ROOT_ID
-        immune: []
-      product_category:
-        scope:
-          - ROOT_ID
-        immune: []
-      clinical_stage:
-        scope:
-          - ROOT_ID
-        immune: []
 version: 1.0.0
diff --git a/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml b/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml
index 2e97e6b576..b1508daff0 100644
--- a/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml
+++ b/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml
@@ -16,8 +16,11 @@
 # under the License.
 dashboard_title: FCC New Coder Survey 2018
 description: null
-css: ''
+css: ""
 slug: null
+certified_by: ""
+certification_details: ""
+published: true
 uuid: 5b12b583-8204-08e9-392c-422209c29787
 position:
   CHART--0GPGmD-pO:
@@ -25,17 +28,17 @@ position:
     id: CHART--0GPGmD-pO
     meta:
       chartId: 1361
-      height: 48
-      sliceName: 'Current Developers: Is this your first development job?'
+      height: 56
+      sliceName: "Current Developers: Is this your first development job?"
       sliceNameOverride: Is this your first development job?
       uuid: bfe5a8e6-146f-ef59-5e6c-13d519b236a8
       width: 2
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-b7USYEngT
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-b7USYEngT
     type: CHART
   CHART--w_Br1tPP3:
     children: []
@@ -47,27 +50,27 @@ position:
       uuid: a6dd2d5a-2cdc-c8ec-f30c-85920f4f8a65
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW-DR80aHJA2c
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW-DR80aHJA2c
     type: CHART
   CHART-0-zzTwBINh:
     children: []
     id: CHART-0-zzTwBINh
     meta:
       chartId: 3631
-      height: 49
+      height: 55
       sliceName: Last Year Income Distribution
       uuid: a2ec5256-94b4-43c4-b8c7-b83f70c5d4df
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-b7USYEngT
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-b7USYEngT
     type: CHART
   CHART-37fu7fO6Z0:
     children: []
@@ -79,11 +82,11 @@ position:
       uuid: 02f546ae-1bf4-bd26-8bc2-14b9279c8a62
       width: 7
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-kNjtGVFpp
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-kNjtGVFpp
     type: CHART
   CHART-5QwNlSbXYU:
     children: []
@@ -95,11 +98,11 @@ position:
       uuid: 097c05c9-2dd2-481d-813d-d6c0c12b4a3d
       width: 5
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-kNjtGVFpp
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-kNjtGVFpp
     type: CHART
   CHART-FKuVqq4kaA:
     children: []
@@ -112,11 +115,11 @@ position:
       uuid: e6b09c28-98cf-785f-4caf-320fd4fca802
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW-DR80aHJA2c
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW-DR80aHJA2c
     type: CHART
   CHART-JnpdZOhVer:
     children: []
@@ -124,16 +127,16 @@ position:
     meta:
       chartId: 1369
       height: 50
-      sliceName: "\U0001F393 Highest degree held"
+      sliceName: Highest degree held
       uuid: 9f7d2b9c-6b3a-69f9-f03e-d3a141514639
       width: 2
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW--BIzjz9F0
-    - COLUMN-IEKAo_QJlz
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW--BIzjz9F0
+      - COLUMN-IEKAo_QJlz
     type: CHART
   CHART-LjfhrUkEef:
     children: []
@@ -145,11 +148,11 @@ position:
       uuid: 067c4a1e-ae03-4c0c-8e2a-d2c0f4bf43c3
       width: 5
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-s3l4os7YY
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-s3l4os7YY
     type: CHART
   CHART-Q3pbwsH3id:
     children: []
@@ -162,27 +165,27 @@ position:
       uuid: def07750-b5c0-0b69-6228-cb2330916166
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-mOvr_xWm1
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-mOvr_xWm1
     type: CHART
   CHART-QVql08s5Bv:
     children: []
     id: CHART-QVql08s5Bv
     meta:
       chartId: 3632
-      height: 50
+      height: 56
       sliceName: First Time Developer?
       uuid: edc75073-8f33-4123-a28d-cd6dfb33cade
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-b7USYEngT
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-b7USYEngT
     type: CHART
   CHART-UtSaz4pfV6:
     children: []
@@ -194,12 +197,12 @@ position:
       uuid: 5f1ea868-604e-f69d-a241-5daa83ff33be
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-UsW-_RPAb
-    - COLUMN-OJ5spdMmNh
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-UsW-_RPAb
+      - COLUMN-OJ5spdMmNh
     type: CHART
   CHART-VvFbGxi3X_:
     children: []
@@ -211,12 +214,12 @@ position:
       uuid: 03a74c97-52fc-cf87-233c-d4275f8c550c
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-UsW-_RPAb
-    - COLUMN-OJ5spdMmNh
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-UsW-_RPAb
+      - COLUMN-OJ5spdMmNh
     type: CHART
   CHART-XHncHuS5pZ:
     children: []
@@ -229,11 +232,11 @@ position:
       uuid: a0e5329f-224e-6fc8-efd2-d37d0f546ee8
       width: 2
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW-DR80aHJA2c
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW-DR80aHJA2c
     type: CHART
   CHART-YSzS5GOOLf:
     children: []
@@ -245,11 +248,11 @@ position:
       uuid: 4880e4f4-b701-4be0-86f3-e7e89432e83b
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-mOvr_xWm1
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-mOvr_xWm1
     type: CHART
   CHART-ZECnzPz8Bi:
     children: []
@@ -261,44 +264,27 @@ position:
       uuid: 5596e0f6-78a9-465d-8325-7139c794a06a
       width: 7
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-s3l4os7YY
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-s3l4os7YY
     type: CHART
   CHART-aytwlT4GAq:
     children: []
     id: CHART-aytwlT4GAq
     meta:
       chartId: 1384
-      height: 50
+      height: 30
       sliceName: Breakdown of Developer Type
       uuid: b8386be8-f44e-6535-378c-2aa2ba461286
-      width: 4
-    parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-y-GwJPgxLr
-    type: CHART
-  CHART-d6vjW6rC6V:
-    children: []
-    id: CHART-d6vjW6rC6V
-    meta:
-      chartId: 1387
-      height: 54
-      sliceName: Filter Segments
-      sliceNameOverride: Filter By
-      uuid: 6420629a-ce74-2c6b-ef7d-b2e78baa3cfe
-      width: 5
+      width: 6
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-y-GwJPgxLr
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-y-GwJPgxLr
     type: CHART
   CHART-fLpTSAHpAO:
     children: []
@@ -310,11 +296,11 @@ position:
       uuid: 2ba66056-a756-d6a3-aaec-0c243fb7062e
       width: 9
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-UsW-_RPAb
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-UsW-_RPAb
     type: CHART
   CHART-lQVSAw0Or3:
     children: []
@@ -327,11 +313,11 @@ position:
       uuid: cb8998ab-9f93-4f0f-4e4b-3bfe4b0dea9d
       width: 4
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW--BIzjz9F0
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW--BIzjz9F0
     type: CHART
   CHART-o-JPAWMZK-:
     children: []
@@ -343,11 +329,11 @@ position:
       uuid: 0f6b447c-828c-e71c-87ac-211bc412b214
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-mOvr_xWm1
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-mOvr_xWm1
     type: CHART
   CHART-v22McUFMtx:
     children: []
@@ -360,12 +346,12 @@ position:
       uuid: 6d0ceb30-2008-d19c-d285-cf77dc764433
       width: 4
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW--BIzjz9F0
-    - COLUMN-IEKAo_QJlz
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW--BIzjz9F0
+      - COLUMN-IEKAo_QJlz
     type: CHART
   CHART-wxWVtlajRF:
     children: []
@@ -377,49 +363,49 @@ position:
       uuid: bff88053-ccc4-92f2-d6f5-de83e950e8cd
       width: 4
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW--BIzjz9F0
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW--BIzjz9F0
     type: CHART
   COLUMN-IEKAo_QJlz:
     children:
-    - CHART-JnpdZOhVer
-    - CHART-v22McUFMtx
+      - CHART-JnpdZOhVer
+      - CHART-v22McUFMtx
     id: COLUMN-IEKAo_QJlz
     meta:
       background: BACKGROUND_TRANSPARENT
       width: 4
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW--BIzjz9F0
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW--BIzjz9F0
     type: COLUMN
   COLUMN-OJ5spdMmNh:
     children:
-    - CHART-VvFbGxi3X_
-    - CHART-UtSaz4pfV6
+      - CHART-VvFbGxi3X_
+      - CHART-UtSaz4pfV6
     id: COLUMN-OJ5spdMmNh
     meta:
       background: BACKGROUND_TRANSPARENT
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-UsW-_RPAb
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-UsW-_RPAb
     type: COLUMN
   DASHBOARD_VERSION_KEY: v2
   GRID_ID:
     children:
-    - TABS-L-d9eyOE-b
+      - TABS-L-d9eyOE-b
     id: GRID_ID
     parents:
-    - ROOT_ID
+      - ROOT_ID
     type: GRID
   HEADER_ID:
     id: HEADER_ID
@@ -453,21 +439,21 @@ position:
       height: 50
       width: 4
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
-    - ROW-DR80aHJA2c
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
+      - ROW-DR80aHJA2c
     type: MARKDOWN
   MARKDOWN-NQmSPDOtpl:
     children: []
     id: MARKDOWN-NQmSPDOtpl
     meta:
-      code: '# Current Developers
+      code: "# Current Developers
 
 
-        While majority of the students on FCC are Aspiring developers, there''s a
-        nontrivial minority that''s there to continue leveling up their skills (17%
+        While majority of the students on FCC are Aspiring developers, there's a
+        nontrivial minority that's there to continue leveling up their skills (17%
         of the survey respondents).
 
 
@@ -480,28 +466,28 @@ position:
         - The proportion of developers whose current job is their first developer
         job
 
-        - Distribution of last year''s income
+        - Distribution of last year's income
 
         - The geographic distribution of these developers
 
         - The overlap between commute time and if their current job is their first
         developer job
 
-        - Potential link between highest degree earned and last year''s income'
-      height: 50
+        - Potential link between highest degree earned and last year's income"
+      height: 56
       width: 4
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
-    - ROW-b7USYEngT
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
+      - ROW-b7USYEngT
     type: MARKDOWN
   MARKDOWN-__u6CsUyfh:
     children: []
     id: MARKDOWN-__u6CsUyfh
     meta:
-      code: '## FreeCodeCamp New Coder Survey 2018
+      code: "## FreeCodeCamp New Coder Survey 2018
 
 
         Every year, FCC surveys its user base (mostly budding software developers)
@@ -513,21 +499,22 @@ position:
 
         - [Dataset](https://github.com/freeCodeCamp/2018-new-coder-survey)
 
-        - [FCC Blog Post](https://www.freecodecamp.org/news/we-asked-20-000-people-who-they-are-and-how-theyre-learning-to-code-fff5d668969/)'
-      height: 45
-      width: 3
-    parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-y-GwJPgxLr
+        - [FCC Blog Post](https://www.freecodecamp.org/news/we-asked-20-000-people-who-they-are-and-how-theyre-learning-to-code-fff5d668969/)"
+      height: 30
+      width: 6
+    parents:
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-y-GwJPgxLr
     type: MARKDOWN
   MARKDOWN-zc2mWxZeox:
     children: []
     id: MARKDOWN-zc2mWxZeox
     meta:
-      code: "# Demographics\n\nFreeCodeCamp is a completely-online community of people\
+      code:
+        "# Demographics\n\nFreeCodeCamp is a completely-online community of people\
         \ learning to code and consists of aspiring & current developers from all\
         \ over the world. That doesn't necessarily mean that access to these types\
         \ of opportunities are evenly distributed. \n\nThe following charts can begin\
@@ -537,243 +524,220 @@ position:
       height: 52
       width: 3
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
-    - ROW-mOvr_xWm1
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
+      - ROW-mOvr_xWm1
     type: MARKDOWN
   ROOT_ID:
     children:
-    - GRID_ID
+      - GRID_ID
     id: ROOT_ID
     type: ROOT
   ROW--BIzjz9F0:
     children:
-    - COLUMN-IEKAo_QJlz
-    - CHART-lQVSAw0Or3
-    - CHART-wxWVtlajRF
+      - COLUMN-IEKAo_QJlz
+      - CHART-lQVSAw0Or3
+      - CHART-wxWVtlajRF
     id: ROW--BIzjz9F0
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
     type: ROW
   ROW-DR80aHJA2c:
     children:
-    - MARKDOWN-BUmyHM2s0x
-    - CHART-XHncHuS5pZ
-    - CHART--w_Br1tPP3
-    - CHART-FKuVqq4kaA
+      - MARKDOWN-BUmyHM2s0x
+      - CHART-XHncHuS5pZ
+      - CHART--w_Br1tPP3
+      - CHART-FKuVqq4kaA
     id: ROW-DR80aHJA2c
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-YT6eNksV-
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-YT6eNksV-
     type: ROW
   ROW-UsW-_RPAb:
     children:
-    - COLUMN-OJ5spdMmNh
-    - CHART-fLpTSAHpAO
+      - COLUMN-OJ5spdMmNh
+      - CHART-fLpTSAHpAO
     id: ROW-UsW-_RPAb
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
     type: ROW
   ROW-b7USYEngT:
     children:
-    - MARKDOWN-NQmSPDOtpl
-    - CHART--0GPGmD-pO
-    - CHART-QVql08s5Bv
-    - CHART-0-zzTwBINh
+      - MARKDOWN-NQmSPDOtpl
+      - CHART--0GPGmD-pO
+      - CHART-QVql08s5Bv
+      - CHART-0-zzTwBINh
     id: ROW-b7USYEngT
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
     type: ROW
   ROW-kNjtGVFpp:
     children:
-    - CHART-5QwNlSbXYU
-    - CHART-37fu7fO6Z0
+      - CHART-5QwNlSbXYU
+      - CHART-37fu7fO6Z0
     id: ROW-kNjtGVFpp
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
     type: ROW
   ROW-mOvr_xWm1:
     children:
-    - MARKDOWN-zc2mWxZeox
-    - CHART-Q3pbwsH3id
-    - CHART-o-JPAWMZK-
-    - CHART-YSzS5GOOLf
+      - MARKDOWN-zc2mWxZeox
+      - CHART-Q3pbwsH3id
+      - CHART-o-JPAWMZK-
+      - CHART-YSzS5GOOLf
     id: ROW-mOvr_xWm1
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
     type: ROW
   ROW-s3l4os7YY:
     children:
-    - CHART-LjfhrUkEef
-    - CHART-ZECnzPz8Bi
+      - CHART-LjfhrUkEef
+      - CHART-ZECnzPz8Bi
     id: ROW-s3l4os7YY
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-l_9I0aNYZ
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-l_9I0aNYZ
     type: ROW
   ROW-y-GwJPgxLr:
     children:
-    - MARKDOWN-__u6CsUyfh
-    - CHART-aytwlT4GAq
-    - CHART-d6vjW6rC6V
+      - MARKDOWN-__u6CsUyfh
+      - CHART-aytwlT4GAq
     id: ROW-y-GwJPgxLr
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
-    - TAB-AsMaxdYL_t
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
+      - TAB-AsMaxdYL_t
     type: ROW
   TAB-AsMaxdYL_t:
     children:
-    - ROW-y-GwJPgxLr
-    - ROW-mOvr_xWm1
-    - ROW-UsW-_RPAb
+      - ROW-y-GwJPgxLr
+      - ROW-mOvr_xWm1
+      - ROW-UsW-_RPAb
     id: TAB-AsMaxdYL_t
     meta:
       text: Overview
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
     type: TAB
   TAB-YT6eNksV-:
     children:
-    - ROW-DR80aHJA2c
-    - ROW--BIzjz9F0
+      - ROW-DR80aHJA2c
+      - ROW--BIzjz9F0
     id: TAB-YT6eNksV-
     meta:
       text: "\U0001F680 Aspiring Developers"
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
     type: TAB
   TAB-l_9I0aNYZ:
     children:
-    - ROW-b7USYEngT
-    - ROW-kNjtGVFpp
-    - ROW-s3l4os7YY
+      - ROW-b7USYEngT
+      - ROW-kNjtGVFpp
+      - ROW-s3l4os7YY
     id: TAB-l_9I0aNYZ
     meta:
       text: "\U0001F4BB Current Developers"
     parents:
-    - ROOT_ID
-    - GRID_ID
-    - TABS-L-d9eyOE-b
+      - ROOT_ID
+      - GRID_ID
+      - TABS-L-d9eyOE-b
     type: TAB
   TABS-L-d9eyOE-b:
     children:
-    - TAB-AsMaxdYL_t
-    - TAB-YT6eNksV-
-    - TAB-l_9I0aNYZ
+      - TAB-AsMaxdYL_t
+      - TAB-YT6eNksV-
+      - TAB-l_9I0aNYZ
     id: TABS-L-d9eyOE-b
     meta: {}
     parents:
-    - ROOT_ID
-    - GRID_ID
+      - ROOT_ID
+      - GRID_ID
     type: TABS
 metadata:
   timed_refresh_immune_slices: []
   expanded_slices: {}
   refresh_frequency: 0
-  default_filters: '{}'
+  default_filters: "{}"
   color_scheme: supersetColors
-  filter_scopes:
-    '1387':
-      ethnic_minority:
-        scope:
-        - TAB-AsMaxdYL_t
-        immune: []
-      gender:
-        scope:
-        - ROOT_ID
-        immune: []
-      developer_type:
-        scope:
-        - ROOT_ID
-        immune: []
-      lang_at_home:
-        scope:
-        - ROOT_ID
-        immune: []
-      country_live:
-        scope:
-        - ROOT_ID
-        immune: []
   label_colors:
-    '0': '#FCC700'
-    '1': '#A868B7'
-    '15': '#3CCCCB'
-    '30': '#A38F79'
-    '45': '#8FD3E4'
-    age: '#1FA8C9'
-    Yes,: '#1FA8C9'
-    Female: '#454E7C'
-    Prefer: '#5AC189'
-    No,: '#FF7F44'
-    Male: '#666666'
-    Prefer not to say: '#E04355'
-    Ph.D.: '#FCC700'
-    associate's degree: '#A868B7'
-    bachelor's degree: '#3CCCCB'
-    high school diploma or equivalent (GED): '#A38F79'
-    master's degree (non-professional): '#8FD3E4'
-    no high school (secondary school): '#A1A6BD'
-    professional degree (MBA, MD, JD, etc.): '#ACE1C4'
-    some college credit, no degree: '#FEC0A1'
-    some high school: '#B2B2B2'
-    trade, technical, or vocational training: '#EFA1AA'
-    No, not an ethnic minority: '#1FA8C9'
-    Yes, an ethnic minority: '#454E7C'
-    <NULL>: '#5AC189'
-    'Yes': '#FF7F44'
-    'No': '#666666'
-    last_yr_income: '#E04355'
-    More: '#A1A6BD'
-    Less: '#ACE1C4'
-    I: '#FEC0A1'
-    expected_earn: '#B2B2B2'
-    'Yes: Willing To': '#EFA1AA'
-    'No: Not Willing to': '#FDE380'
-    No Answer: '#D3B3DA'
-    In an Office (with Other Developers): '#9EE5E5'
-    No Preference: '#D1C6BC'
-    From Home: '#1FA8C9'
+    "0": "#FCC700"
+    "1": "#A868B7"
+    "15": "#3CCCCB"
+    "30": "#A38F79"
+    "45": "#8FD3E4"
+    age: "#1FA8C9"
+    Yes,: "#1FA8C9"
+    Female: "#454E7C"
+    Prefer: "#5AC189"
+    No,: "#FF7F44"
+    Male: "#666666"
+    Prefer not to say: "#E04355"
+    Ph.D.: "#FCC700"
+    associate's degree: "#A868B7"
+    bachelor's degree: "#3CCCCB"
+    high school diploma or equivalent (GED): "#A38F79"
+    master's degree (non-professional): "#8FD3E4"
+    no high school (secondary school): "#A1A6BD"
+    professional degree (MBA, MD, JD, etc.): "#ACE1C4"
+    some college credit, no degree: "#FEC0A1"
+    some high school: "#B2B2B2"
+    trade, technical, or vocational training: "#EFA1AA"
+    No, not an ethnic minority: "#1FA8C9"
+    Yes, an ethnic minority: "#454E7C"
+    <NULL>: "#5AC189"
+    "Yes": "#FF7F44"
+    "No": "#666666"
+    last_yr_income: "#E04355"
+    More: "#A1A6BD"
+    Less: "#ACE1C4"
+    I: "#FEC0A1"
+    expected_earn: "#B2B2B2"
+    "Yes: Willing To": "#EFA1AA"
+    "No: Not Willing to": "#FDE380"
+    No Answer: "#D3B3DA"
+    In an Office (with Other Developers): "#9EE5E5"
+    No Preference: "#D1C6BC"
+    From Home: "#1FA8C9"
 version: 1.0.0
diff --git a/superset/examples/configs/dashboards/Sales_Dashboard.yaml b/superset/examples/configs/dashboards/Sales_Dashboard.yaml
index 3efea3af25..439b763d0c 100644
--- a/superset/examples/configs/dashboards/Sales_Dashboard.yaml
+++ b/superset/examples/configs/dashboards/Sales_Dashboard.yaml
@@ -16,8 +16,11 @@
 # under the License.
 dashboard_title: Sales Dashboard
 description: null
-css: ''
+css: ""
 slug: null
+certified_by: ""
+certification_details: ""
+published: true
 uuid: 04f79081-fb49-7bac-7f14-cc76cd2ad93b
 position:
   CHART-1NOOLm5YPs:
@@ -31,26 +34,26 @@ position:
       uuid: c3d643cd-fd6f-4659-a5b7-59402487a8d0
       width: 2
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-Tyv02UA_6W
-    - COLUMN-8Rp54B6ikC
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-Tyv02UA_6W
+      - COLUMN-8Rp54B6ikC
     type: CHART
   CHART-AYpv8gFi_q:
     children: []
     id: CHART-AYpv8gFi_q
     meta:
       chartId: 2810
-      height: 91
+      height: 70
       sliceName: Number of Deals (for each Combination)
       uuid: bd20fc69-dd51-46c1-99b5-09e37a434bf1
-      width: 3
+      width: 6
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-0l1WcDzW3
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-4fthLQmdX
+      - ROW-0l1WcDzW3
     type: CHART
   CHART-KKT9BsnUst:
     children: []
@@ -63,90 +66,74 @@ position:
       uuid: db9609e4-9b78-4a32-87a7-4d9e19d51cd8
       width: 7
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-oAtmu5grZ
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-oAtmu5grZ
     type: CHART
   CHART-OJ9aWDmn1q:
     children: []
     id: CHART-OJ9aWDmn1q
     meta:
       chartId: 2808
-      height: 91
+      height: 70
       sliceName: Proportion of Revenue by Product Line
       sliceNameOverride: Proportion of Monthly Revenue by Product Line
       uuid: 08aff161-f60c-4cb3-a225-dc9b1140d2e3
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-0l1WcDzW3
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-4fthLQmdX
+      - ROW-0l1WcDzW3
     type: CHART
   CHART-YFg-9wHE7s:
     children: []
     id: CHART-YFg-9wHE7s
     meta:
       chartId: 2811
-      height: 63
+      height: 49
       sliceName: Seasonality of Revenue (per Product Line)
       uuid: cf0da099-b3ab-4d94-ab62-cf353ac3c611
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-E7MDSGfnm
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-4fthLQmdX
+      - ROW-E7MDSGfnm
     type: CHART
   CHART-_LMKI0D3tj:
     children: []
     id: CHART-_LMKI0D3tj
     meta:
       chartId: 2809
-      height: 62
-      sliceName: Revenue by Deal SIze
+      height: 49
+      sliceName: Revenue by Deal Size
       sliceNameOverride: Monthly Revenue by Deal SIze
       uuid: f065a533-2e13-42b9-bd19-801a21700dff
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-E7MDSGfnm
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-4fthLQmdX
+      - ROW-E7MDSGfnm
     type: CHART
   CHART-id4RGv80N-:
     children: []
     id: CHART-id4RGv80N-
     meta:
       chartId: 2807
-      height: 40
+      height: 59
       sliceName: Total Items Sold (By Product Line)
       sliceNameOverride: Total Products Sold (By Product Line)
       uuid: b8b7ca30-6291-44b0-bc64-ba42e2892b86
       width: 2
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-oAtmu5grZ
-    - COLUMN-G6_2DvG8aK
-    type: CHART
-  CHART-iyvXMcqHt9:
-    children: []
-    id: CHART-iyvXMcqHt9
-    meta:
-      chartId: 671
-      height: 39
-      sliceName: Filter
-      uuid: a5689df7-98fc-7c51-602c-ebd92dc3ec70
-      width: 2
-    parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-0l1WcDzW3
-    - COLUMN-jlNWyWCfTC
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-oAtmu5grZ
+      - COLUMN-G6_2DvG8aK
     type: CHART
   CHART-j24u8ve41b:
     children: []
@@ -159,10 +146,10 @@ position:
       uuid: 09c497e0-f442-1121-c9e7-671e37750424
       width: 3
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-oAtmu5grZ
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-oAtmu5grZ
     type: CHART
   CHART-lFanAaYKBK:
     children: []
@@ -174,11 +161,11 @@ position:
       uuid: 7b12a243-88e0-4dc5-ac33-9a840bb0ac5a
       width: 3
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-Tyv02UA_6W
-    - COLUMN-8Rp54B6ikC
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-Tyv02UA_6W
+      - COLUMN-8Rp54B6ikC
     type: CHART
   CHART-vomBOiI7U9:
     children: []
@@ -191,58 +178,44 @@ position:
       uuid: 692aca26-a526-85db-c94c-411c91cc1077
       width: 7
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-Tyv02UA_6W
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-Tyv02UA_6W
     type: CHART
   COLUMN-8Rp54B6ikC:
     children:
-    - CHART-lFanAaYKBK
-    - CHART-1NOOLm5YPs
+      - CHART-lFanAaYKBK
+      - CHART-1NOOLm5YPs
     id: COLUMN-8Rp54B6ikC
     meta:
       background: BACKGROUND_TRANSPARENT
       width: 2
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-Tyv02UA_6W
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-Tyv02UA_6W
     type: COLUMN
   COLUMN-G6_2DvG8aK:
     children:
-    - CHART-id4RGv80N-
+      - CHART-id4RGv80N-
     id: COLUMN-G6_2DvG8aK
     meta:
       background: BACKGROUND_TRANSPARENT
       width: 2
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-oAtmu5grZ
-    type: COLUMN
-  COLUMN-jlNWyWCfTC:
-    children:
-    - MARKDOWN-HrzsMmvGQo
-    - CHART-iyvXMcqHt9
-    id: COLUMN-jlNWyWCfTC
-    meta:
-      background: BACKGROUND_TRANSPARENT
-      width: 3
-    parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-0l1WcDzW3
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-oAtmu5grZ
     type: COLUMN
   DASHBOARD_VERSION_KEY: v2
   GRID_ID:
     children: []
     id: GRID_ID
     parents:
-    - ROOT_ID
+      - ROOT_ID
     type: GRID
   HEADER_ID:
     id: HEADER_ID
@@ -253,7 +226,8 @@ position:
     children: []
     id: MARKDOWN--AtDSWnapE
     meta:
-      code: "# \U0001F697 Vehicle Sales Dashboard \U0001F3CD\n\nThis example dashboard\
+      code:
+        "# \U0001F697 Vehicle Sales Dashboard \U0001F3CD\n\nThis example dashboard\
         \ provides insight into the business operations of vehicle seller. The dataset\
         \ powering this dashboard can be found [here on Kaggle](https://www.kaggle.com/kyanyoga/sample-sales-data).\n\
         \n### Timeline\n\nThe dataset contains data on all orders from the 2003 and\
@@ -265,151 +239,113 @@ position:
       height: 53
       width: 3
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
-    - ROW-Tyv02UA_6W
-    type: MARKDOWN
-  MARKDOWN-HrzsMmvGQo:
-    children: []
-    id: MARKDOWN-HrzsMmvGQo
-    meta:
-      code: "# \U0001F50D Filter Box\n\nDashboard filters are a powerful way to enable\
-        \ teams to dive deeper into their business operations data. This filter box\
-        \ helps focus the charts along the following variables:\n\n- Time Range: Focus\
-        \ in on a specific time period (e.g. a holiday or quarter)\n- Product Line:\
-        \ Choose 1 or more product lines to see relevant sales data\n- Deal Size:\
-        \ Zoom in on small, medium, and / or large sales deals\n\nThe filter box below\
-        \ \U0001F447 is configured to only apply to the charts in this tab (**Exploratory**).\
-        \ You can customize the charts that this filter box applies to by:\n\n- entering\
-        \ Edit mode in this dashboard\n- selecting the `...` in the top right corner\n\
-        - selecting the **Set filter mapping** button"
-      height: 50
-      width: 3
-    parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
-    - ROW-0l1WcDzW3
-    - COLUMN-jlNWyWCfTC
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
+      - ROW-Tyv02UA_6W
     type: MARKDOWN
   ROOT_ID:
     children:
-    - TABS-e5Ruro0cjP
+      - TABS-e5Ruro0cjP
     id: ROOT_ID
     type: ROOT
   ROW-0l1WcDzW3:
     children:
-    - COLUMN-jlNWyWCfTC
-    - CHART-OJ9aWDmn1q
-    - CHART-AYpv8gFi_q
+      - CHART-OJ9aWDmn1q
+      - CHART-AYpv8gFi_q
     id: ROW-0l1WcDzW3
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-4fthLQmdX
     type: ROW
   ROW-E7MDSGfnm:
     children:
-    - CHART-YFg-9wHE7s
-    - CHART-_LMKI0D3tj
+      - CHART-YFg-9wHE7s
+      - CHART-_LMKI0D3tj
     id: ROW-E7MDSGfnm
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-4fthLQmdX
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-4fthLQmdX
     type: ROW
   ROW-Tyv02UA_6W:
     children:
-    - COLUMN-8Rp54B6ikC
-    - CHART-vomBOiI7U9
-    - MARKDOWN--AtDSWnapE
+      - COLUMN-8Rp54B6ikC
+      - CHART-vomBOiI7U9
+      - MARKDOWN--AtDSWnapE
     id: ROW-Tyv02UA_6W
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
     type: ROW
   ROW-oAtmu5grZ:
     children:
-    - COLUMN-G6_2DvG8aK
-    - CHART-KKT9BsnUst
-    - CHART-j24u8ve41b
+      - COLUMN-G6_2DvG8aK
+      - CHART-KKT9BsnUst
+      - CHART-j24u8ve41b
     id: ROW-oAtmu5grZ
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
-    - TAB-d-E0Zc1cTH
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
+      - TAB-d-E0Zc1cTH
     type: ROW
   TAB-4fthLQmdX:
     children:
-    - ROW-0l1WcDzW3
-    - ROW-E7MDSGfnm
+      - ROW-0l1WcDzW3
+      - ROW-E7MDSGfnm
     id: TAB-4fthLQmdX
     meta:
       text: "\U0001F9ED Exploratory"
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
     type: TAB
   TAB-d-E0Zc1cTH:
     children:
-    - ROW-Tyv02UA_6W
-    - ROW-oAtmu5grZ
+      - ROW-Tyv02UA_6W
+      - ROW-oAtmu5grZ
     id: TAB-d-E0Zc1cTH
     meta:
       text: "\U0001F3AF Sales Overview"
     parents:
-    - ROOT_ID
-    - TABS-e5Ruro0cjP
+      - ROOT_ID
+      - TABS-e5Ruro0cjP
     type: TAB
   TABS-e5Ruro0cjP:
     children:
-    - TAB-d-E0Zc1cTH
-    - TAB-4fthLQmdX
+      - TAB-d-E0Zc1cTH
+      - TAB-4fthLQmdX
     id: TABS-e5Ruro0cjP
     meta: {}
     parents:
-    - ROOT_ID
+      - ROOT_ID
     type: TABS
 metadata:
   timed_refresh_immune_slices: []
   expanded_slices: {}
   refresh_frequency: 0
-  default_filters: '{"671": {"__time_range": "No filter"}}'
-  filter_scopes:
-    "671":
-      product_line:
-        scope:
-        - TAB-4fthLQmdX
-        immune: []
-      deal_size:
-        scope:
-        - ROOT_ID
-        immune: []
-      __time_range:
-        scope:
-        - ROOT_ID
-        immune: []
+  default_filters: "{}"
   color_scheme: supersetColors
   label_colors:
-    Medium: '#1FA8C9'
-    Small: '#454E7C'
-    Large: '#5AC189'
-    SUM(SALES): '#1FA8C9'
-    Classic Cars: '#454E7C'
-    Vintage Cars: '#5AC189'
-    Motorcycles: '#FF7F44'
-    Trucks and Buses: '#666666'
-    Planes: '#E04355'
-    Ships: '#FCC700'
-    Trains: '#A868B7'
+    Medium: "#1FA8C9"
+    Small: "#454E7C"
+    Large: "#5AC189"
+    SUM(SALES): "#1FA8C9"
+    Classic Cars: "#454E7C"
+    Vintage Cars: "#5AC189"
+    Motorcycles: "#FF7F44"
+    Trucks and Buses: "#666666"
+    Planes: "#E04355"
+    Ships: "#FCC700"
+    Trains: "#A868B7"
 version: 1.0.0
diff --git a/superset/examples/configs/dashboards/Video_Game_Sales.yaml b/superset/examples/configs/dashboards/Video_Game_Sales.yaml
index 958d32b069..2edaad2d1a 100644
--- a/superset/examples/configs/dashboards/Video_Game_Sales.yaml
+++ b/superset/examples/configs/dashboards/Video_Game_Sales.yaml
@@ -16,39 +16,27 @@
 # under the License.
 dashboard_title: Video Game Sales
 description: null
-css: ''
+css: ""
 slug: null
+certified_by: ""
+certification_details: ""
+published: true
 uuid: c7bc10f4-6a2d-7569-caae-bbc91864ee11
 position:
-  CHART-1L7NIcXvVN:
-    children: []
-    id: CHART-1L7NIcXvVN
-    meta:
-      chartId: 3544
-      height: 79
-      sliceName: Games per Genre over time
-      uuid: 0f8976aa-7bb4-40c7-860b-64445a51aaaf
-      width: 6
-    parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-fjg6YQBkH
-    type: CHART
   CHART-7mKdnU7OUJ:
     children: []
     id: CHART-7mKdnU7OUJ
     meta:
       chartId: 3545
-      height: 80
+      height: 55
       sliceName: Games per Genre
       uuid: 0499bdec-0837-44f3-ae8a-8c670de81afd
-      width: 3
+      width: 8
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-yP9SB89PZ
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
+      - ROW-yP9SB89PZ
     type: CHART
   CHART-8OG3UJX-Tn:
     children: []
@@ -56,15 +44,15 @@ position:
     meta:
       chartId: 661
       height: 54
-      sliceName: '# of Games That Hit 100k in Sales By Release Year'
-      sliceNameOverride: 'Top 10 Consoles, by # of Hit Games'
+      sliceName: "# of Games That Hit 100k in Sales By Release Year"
+      sliceNameOverride: "Top 10 Consoles, by # of Hit Games"
       uuid: 2b69887b-23e3-b46d-d38c-8ea11856c555
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-7kAf1blYU
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
+      - ROW-7kAf1blYU
     type: CHART
   CHART-W02beJK7ms:
     children: []
@@ -77,10 +65,10 @@ position:
       uuid: d20b7324-3b80-24d4-37e2-3bd583b66713
       width: 3
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-7kAf1blYU
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
+      - ROW-7kAf1blYU
     type: CHART
   CHART-XFag0yZdLk:
     children: []
@@ -93,10 +81,10 @@ position:
       uuid: 1810975a-f6d4-07c3-495c-c3b535d01f21
       width: 3
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-7kAf1blYU
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
+      - ROW-7kAf1blYU
     type: CHART
   CHART-XRvRfsMsaQ:
     children: []
@@ -104,14 +92,14 @@ position:
     meta:
       chartId: 3546
       height: 62
-      sliceName: 'Top 10 Games: Proportion of Sales in Markets'
+      sliceName: "Top 10 Games: Proportion of Sales in Markets"
       uuid: a40879d5-653a-42fe-9314-bbe88ad26e92
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-NuR8GFQTO
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
+      - ROW-NuR8GFQTO
     type: CHART
   CHART-XVIYTeubZh:
     children: []
@@ -121,12 +109,12 @@ position:
       height: 80
       sliceName: Games
       uuid: 2a5e562b-ab37-1b9b-1de3-1be4335c8e83
-      width: 5
+      width: 6
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-yP9SB89PZ
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
+      - ROW-yP9SB89PZ
     type: CHART
   CHART-_sx22yawJO:
     children: []
@@ -138,78 +126,45 @@ position:
       uuid: 326fc7e5-b7f1-448e-8a6f-80d0e7ce0b64
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-NuR8GFQTO
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
+      - ROW-NuR8GFQTO
     type: CHART
   CHART-nYns6xr4Ft:
     children: []
     id: CHART-nYns6xr4Ft
     meta:
       chartId: 3548
-      height: 79
+      height: 80
       sliceName: Total Sales per Market (Grouped by Genre)
       uuid: d8bf948e-46fd-4380-9f9c-a950c34bcc92
       width: 6
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-fjg6YQBkH
-    type: CHART
-  CHART-uP9GF0z0rT:
-    children: []
-    id: CHART-uP9GF0z0rT
-    meta:
-      chartId: 3547
-      height: 45
-      sliceName: Filter
-      uuid: fd9ce7ec-ae08-4f71-93e0-7c26b132b2e6
-      width: 4
-    parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-yP9SB89PZ
-    - COLUMN-F53B1OSMcz
-    type: CHART
-  CHART-wt6ZO8jRXZ:
-    children: []
-    id: CHART-wt6ZO8jRXZ
-    meta:
-      chartId: 659
-      height: 72
-      sliceName: Rise & Fall of Video Game Consoles
-      sliceNameOverride: Global Sales per Console
-      uuid: 83b0e2d0-d38b-d980-ed8e-e1c9846361b6
-      width: 12
-    parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-XT1DsNA_V
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
+      - ROW-fjg6YQBkH
     type: CHART
   COLUMN-F53B1OSMcz:
     children:
-    - MARKDOWN-7K5cBNy7qu
-    - CHART-uP9GF0z0rT
+      - MARKDOWN-7K5cBNy7qu
     id: COLUMN-F53B1OSMcz
     meta:
       background: BACKGROUND_TRANSPARENT
       width: 4
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-yP9SB89PZ
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
+      - ROW-yP9SB89PZ
     type: COLUMN
   DASHBOARD_VERSION_KEY: v2
   GRID_ID:
     children: []
     id: GRID_ID
     parents:
-    - ROOT_ID
+      - ROOT_ID
     type: GRID
   HEADER_ID:
     id: HEADER_ID
@@ -220,224 +175,194 @@ position:
     children: []
     id: MARKDOWN-7K5cBNy7qu
     meta:
-      code: "# \U0001F93F Explore Trends\n\nDive into data on popular video games\
+      code:
+        "# \U0001F93F Explore Trends\n\nDive into data on popular video games\
         \ using the following dimensions:\n\n- Year\n- Platform\n- Publisher\n- Genre\n\
         \nTo use the **Filter Games** box below, select values for each dimension\
         \ you want to zoom in on and then click **Apply**. \n\nThe filter criteria\
         \ you set in this Filter-box will apply to *all* charts in this tab."
-      height: 33
+      height: 55
       width: 4
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
-    - ROW-yP9SB89PZ
-    - COLUMN-F53B1OSMcz
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
+      - ROW-yP9SB89PZ
+      - COLUMN-F53B1OSMcz
     type: MARKDOWN
   MARKDOWN-JOZKOjVc3a:
     children: []
     id: MARKDOWN-JOZKOjVc3a
     meta:
-      code: "## \U0001F3AEVideo Game Sales\n\nThis dashboard visualizes sales & platform\
+      code:
+        "## \U0001F3AEVideo Game Sales\n\nThis dashboard visualizes sales & platform\
         \ data on video games that sold more than 100k copies. The data was last updated\
         \ in early 2017.\n\n[Original dataset](https://www.kaggle.com/gregorut/videogamesales)"
       height: 18
       width: 12
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    - ROW-0F99WDC-sz
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
+      - ROW-0F99WDC-sz
     type: MARKDOWN
   ROOT_ID:
     children:
-    - TABS-97PVJa11D_
+      - TABS-97PVJa11D_
     id: ROOT_ID
     type: ROOT
   ROW-0F99WDC-sz:
     children:
-    - MARKDOWN-JOZKOjVc3a
+      - MARKDOWN-JOZKOjVc3a
     id: ROW-0F99WDC-sz
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
     type: ROW
   ROW-7kAf1blYU:
     children:
-    - CHART-W02beJK7ms
-    - CHART-XFag0yZdLk
-    - CHART-8OG3UJX-Tn
+      - CHART-W02beJK7ms
+      - CHART-XFag0yZdLk
+      - CHART-8OG3UJX-Tn
     id: ROW-7kAf1blYU
     meta:
-      '0': ROOT_ID
+      "0": ROOT_ID
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
     type: ROW
   ROW-NuR8GFQTO:
     children:
-    - CHART-_sx22yawJO
-    - CHART-XRvRfsMsaQ
+      - CHART-_sx22yawJO
+      - CHART-XRvRfsMsaQ
     id: ROW-NuR8GFQTO
     meta:
-      '0': ROOT_ID
-      '1': TABS-97PVJa11D_
-      background: BACKGROUND_TRANSPARENT
-    parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
-    type: ROW
-  ROW-XT1DsNA_V:
-    children:
-    - CHART-wt6ZO8jRXZ
-    id: ROW-XT1DsNA_V
-    meta:
+      "0": ROOT_ID
+      "1": TABS-97PVJa11D_
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-lg-5ymUDgm
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-lg-5ymUDgm
     type: ROW
   ROW-fjg6YQBkH:
     children:
-    - CHART-1L7NIcXvVN
-    - CHART-nYns6xr4Ft
+      - CHART-nYns6xr4Ft
+      - CHART-XVIYTeubZh
     id: ROW-fjg6YQBkH
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
     type: ROW
   ROW-yP9SB89PZ:
     children:
-    - COLUMN-F53B1OSMcz
-    - CHART-XVIYTeubZh
-    - CHART-7mKdnU7OUJ
+      - COLUMN-F53B1OSMcz
+      - CHART-7mKdnU7OUJ
     id: ROW-yP9SB89PZ
     meta:
       background: BACKGROUND_TRANSPARENT
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
-    - TAB-2_QXp8aNq
+      - ROOT_ID
+      - TABS-97PVJa11D_
+      - TAB-2_QXp8aNq
     type: ROW
   TAB-2_QXp8aNq:
     children:
-    - ROW-yP9SB89PZ
-    - ROW-fjg6YQBkH
+      - ROW-yP9SB89PZ
+      - ROW-fjg6YQBkH
     id: TAB-2_QXp8aNq
     meta:
       text: "\U0001F93F Explore Trends"
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
+      - ROOT_ID
+      - TABS-97PVJa11D_
     type: TAB
   TAB-lg-5ymUDgm:
     children:
-    - ROW-0F99WDC-sz
-    - ROW-XT1DsNA_V
-    - ROW-7kAf1blYU
-    - ROW-NuR8GFQTO
+      - ROW-0F99WDC-sz
+      - ROW-7kAf1blYU
+      - ROW-NuR8GFQTO
     id: TAB-lg-5ymUDgm
     meta:
       text: Overview
     parents:
-    - ROOT_ID
-    - TABS-97PVJa11D_
+      - ROOT_ID
+      - TABS-97PVJa11D_
     type: TAB
   TABS-97PVJa11D_:
     children:
-    - TAB-lg-5ymUDgm
-    - TAB-2_QXp8aNq
+      - TAB-lg-5ymUDgm
+      - TAB-2_QXp8aNq
     id: TABS-97PVJa11D_
     meta: {}
     parents:
-    - ROOT_ID
+      - ROOT_ID
     type: TABS
 metadata:
   timed_refresh_immune_slices: []
   expanded_slices: {}
   refresh_frequency: 0
-  default_filters: '{"3547": {"platform": ["PS", "PS2", "PS3", "XB", "X360"], "__time_range":
-    "No filter"}}'
+  default_filters: "{}"
   color_scheme: supersetColors
-  filter_scopes:
-    "3547":
-      platform:
-        scope:
-        - TAB-2_QXp8aNq
-        immune: []
-      genre:
-        scope:
-        - ROOT_ID
-        immune: []
-      publisher:
-        scope:
-        - ROOT_ID
-        immune: []
-      __time_range:
-        scope:
-        - ROOT_ID
-        immune: []
   label_colors:
-    '0': '#1FA8C9'
-    '1': '#454E7C'
-    '2600': '#666666'
-    Europe: '#5AC189'
-    Japan: '#FF7F44'
-    North America: '#666666'
-    Other: '#E04355'
-    PS2: '#FCC700'
-    X360: '#A868B7'
-    PS3: '#3CCCCB'
-    Wii: '#A38F79'
-    DS: '#8FD3E4'
-    PS: '#A1A6BD'
-    GBA: '#ACE1C4'
-    PSP: '#FEC0A1'
-    PS4: '#B2B2B2'
-    PC: '#EFA1AA'
-    GB: '#FDE380'
-    XB: '#D3B3DA'
-    NES: '#9EE5E5'
-    3DS: '#D1C6BC'
-    N64: '#1FA8C9'
-    SNES: '#454E7C'
-    GC: '#5AC189'
-    XOne: '#FF7F44'
-    WiiU: '#E04355'
-    PSV: '#FCC700'
-    SAT: '#A868B7'
-    GEN: '#3CCCCB'
-    DC: '#A38F79'
-    SCD: '#8FD3E4'
-    NG: '#A1A6BD'
-    WS: '#ACE1C4'
-    TG16: '#FEC0A1'
-    3DO: '#B2B2B2'
-    GG: '#EFA1AA'
-    PCFX: '#FDE380'
-    Nintendo: '#D3B3DA'
-    Take-Two Interactive: '#9EE5E5'
-    Microsoft Game Studios: '#D1C6BC'
-    Action: '#1FA8C9'
-    Adventure: '#454E7C'
-    Fighting: '#5AC189'
-    Misc: '#FF7F44'
-    Platform: '#666666'
-    Puzzle: '#E04355'
-    Racing: '#FCC700'
-    Role-Playing: '#A868B7'
-    Shooter: '#3CCCCB'
-    Simulation: '#A38F79'
-    Sports: '#8FD3E4'
-    Strategy: '#A1A6BD'
+    "0": "#1FA8C9"
+    "1": "#454E7C"
+    "2600": "#666666"
+    Europe: "#5AC189"
+    Japan: "#FF7F44"
+    North America: "#666666"
+    Other: "#E04355"
+    PS2: "#FCC700"
+    X360: "#A868B7"
+    PS3: "#3CCCCB"
+    Wii: "#A38F79"
+    DS: "#8FD3E4"
+    PS: "#A1A6BD"
+    GBA: "#ACE1C4"
+    PSP: "#FEC0A1"
+    PS4: "#B2B2B2"
+    PC: "#EFA1AA"
+    GB: "#FDE380"
+    XB: "#D3B3DA"
+    NES: "#9EE5E5"
+    3DS: "#D1C6BC"
+    N64: "#1FA8C9"
+    SNES: "#454E7C"
+    GC: "#5AC189"
+    XOne: "#FF7F44"
+    WiiU: "#E04355"
+    PSV: "#FCC700"
+    SAT: "#A868B7"
+    GEN: "#3CCCCB"
+    DC: "#A38F79"
+    SCD: "#8FD3E4"
+    NG: "#A1A6BD"
+    WS: "#ACE1C4"
+    TG16: "#FEC0A1"
+    3DO: "#B2B2B2"
+    GG: "#EFA1AA"
+    PCFX: "#FDE380"
+    Nintendo: "#D3B3DA"
+    Take-Two Interactive: "#9EE5E5"
+    Microsoft Game Studios: "#D1C6BC"
+    Action: "#1FA8C9"
+    Adventure: "#454E7C"
+    Fighting: "#5AC189"
+    Misc: "#FF7F44"
+    Platform: "#666666"
+    Puzzle: "#E04355"
+    Racing: "#FCC700"
+    Role-Playing: "#A868B7"
+    Shooter: "#3CCCCB"
+    Simulation: "#A38F79"
+    Sports: "#8FD3E4"
+    Strategy: "#A1A6BD"
 version: 1.0.0
diff --git a/superset/examples/misc_dashboard.py b/superset/examples/misc_dashboard.py
index 6336a78820..aa8d037495 100644
--- a/superset/examples/misc_dashboard.py
+++ b/superset/examples/misc_dashboard.py
@@ -38,37 +38,22 @@ def load_misc_dashboard() -> None:
     js = textwrap.dedent(
         """\
 {
-    "CHART-BkeVbh8ANQ": {
-        "children": [],
-        "id": "CHART-BkeVbh8ANQ",
-        "meta": {
-            "chartId": 4004,
-            "height": 34,
-            "sliceName": "Multi Line",
-            "width": 8
-        },
-        "type": "CHART"
-    },
-    "CHART-H1HYNzEANX": {
-        "children": [],
-        "id": "CHART-H1HYNzEANX",
-        "meta": {
-            "chartId": 3940,
-            "height": 50,
-            "sliceName": "Energy Sankey",
-            "width": 6
-        },
-        "type": "CHART"
-    },
     "CHART-HJOYVMV0E7": {
         "children": [],
         "id": "CHART-HJOYVMV0E7",
         "meta": {
             "chartId": 3969,
-            "height": 63,
+            "height": 69,
             "sliceName": "Mapbox Long/Lat",
-            "width": 6
+            "uuid": "164efe31-295b-4408-aaa6-2f4bfb58a212",
+            "width": 4
         },
+        "parents": [
+            "ROOT_ID",
+            "GRID_ID",
+            "ROW-S1MK4M4A4X",
+            "COLUMN-ByUFVf40EQ"
+        ],
         "type": "CHART"
     },
     "CHART-S1WYNz4AVX": {
@@ -76,32 +61,16 @@ def load_misc_dashboard() -> None:
         "id": "CHART-S1WYNz4AVX",
         "meta": {
             "chartId": 3989,
-            "height": 25,
+            "height": 69,
             "sliceName": "Parallel Coordinates",
+            "uuid": "e84f7e74-031a-47bb-9f80-ae0694dcca48",
             "width": 4
         },
-        "type": "CHART"
-    },
-    "CHART-r19KVMNCE7": {
-        "children": [],
-        "id": "CHART-r19KVMNCE7",
-        "meta": {
-            "chartId": 3971,
-            "height": 34,
-            "sliceName": "Calendar Heatmap multiformat 0",
-            "width": 4
-        },
-        "type": "CHART"
-    },
-    "CHART-rJ4K4GV04Q": {
-        "children": [],
-        "id": "CHART-rJ4K4GV04Q",
-        "meta": {
-            "chartId": 3941,
-            "height": 63,
-            "sliceName": "Energy Force Layout",
-            "width": 6
-        },
+        "parents": [
+            "ROOT_ID",
+            "GRID_ID",
+            "ROW-SytNzNA4X"
+        ],
         "type": "CHART"
     },
     "CHART-rkgF4G4A4X": {
@@ -109,54 +78,27 @@ def load_misc_dashboard() -> None:
         "id": "CHART-rkgF4G4A4X",
         "meta": {
             "chartId": 3970,
-            "height": 25,
+            "height": 69,
             "sliceName": "Birth in France by department in 2016",
-            "width": 8
-        },
-        "type": "CHART"
-    },
-    "CHART-rywK4GVR4X": {
-        "children": [],
-        "id": "CHART-rywK4GVR4X",
-        "meta": {
-            "chartId": 3942,
-            "height": 50,
-            "sliceName": "Heatmap",
-            "width": 6
-        },
-        "type": "CHART"
-    },
-    "COLUMN-ByUFVf40EQ": {
-        "children": [
-            "CHART-rywK4GVR4X",
-            "CHART-HJOYVMV0E7"
-        ],
-        "id": "COLUMN-ByUFVf40EQ",
-        "meta": {
-            "background": "BACKGROUND_TRANSPARENT",
-            "width": 6
+            "uuid": "54583ae9-c99a-42b5-a906-7ee2adfe1fb1",
+            "width": 4
         },
-        "type": "COLUMN"
-    },
-    "COLUMN-rkmYVGN04Q": {
-        "children": [
-            "CHART-rJ4K4GV04Q",
-            "CHART-H1HYNzEANX"
+        "parents": [
+            "ROOT_ID",
+            "GRID_ID",
+            "ROW-SytNzNA4X"
         ],
-        "id": "COLUMN-rkmYVGN04Q",
-        "meta": {
-            "background": "BACKGROUND_TRANSPARENT",
-            "width": 6
-        },
-        "type": "COLUMN"
+        "type": "CHART"
     },
+    "DASHBOARD_VERSION_KEY": "v2",
     "GRID_ID": {
         "children": [
-            "ROW-SytNzNA4X",
-            "ROW-S1MK4M4A4X",
-            "ROW-HkFFEzVRVm"
+            "ROW-SytNzNA4X"
         ],
         "id": "GRID_ID",
+        "parents": [
+            "ROOT_ID"
+        ],
         "type": "GRID"
     },
     "HEADER_ID": {
@@ -173,40 +115,22 @@ def load_misc_dashboard() -> None:
         "id": "ROOT_ID",
         "type": "ROOT"
     },
-    "ROW-HkFFEzVRVm": {
-        "children": [
-            "CHART-r19KVMNCE7",
-            "CHART-BkeVbh8ANQ"
-        ],
-        "id": "ROW-HkFFEzVRVm",
-        "meta": {
-            "background": "BACKGROUND_TRANSPARENT"
-        },
-        "type": "ROW"
-    },
-    "ROW-S1MK4M4A4X": {
-        "children": [
-            "COLUMN-rkmYVGN04Q",
-            "COLUMN-ByUFVf40EQ"
-        ],
-        "id": "ROW-S1MK4M4A4X",
-        "meta": {
-            "background": "BACKGROUND_TRANSPARENT"
-        },
-        "type": "ROW"
-    },
     "ROW-SytNzNA4X": {
         "children": [
             "CHART-rkgF4G4A4X",
-            "CHART-S1WYNz4AVX"
+            "CHART-S1WYNz4AVX",
+            "CHART-HJOYVMV0E7"
         ],
         "id": "ROW-SytNzNA4X",
         "meta": {
             "background": "BACKGROUND_TRANSPARENT"
         },
+        "parents": [
+            "ROOT_ID",
+            "GRID_ID"
+        ],
         "type": "ROW"
-    },
-    "DASHBOARD_VERSION_KEY": "v2"
+    }
 }
     """
     )
diff --git a/superset/examples/world_bank.py b/superset/examples/world_bank.py
index 5513a52d64..1541e3e472 100644
--- a/superset/examples/world_bank.py
+++ b/superset/examples/world_bank.py
@@ -167,35 +167,6 @@ def create_slices(tbl: BaseDatasource) -> list[Slice]:
     }
 
     return [
-        Slice(
-            slice_name="Region Filter",
-            viz_type="filter_box",
-            datasource_type=DatasourceType.TABLE,
-            datasource_id=tbl.id,
-            params=get_slice_json(
-                defaults,
-                viz_type="filter_box",
-                date_filter=False,
-                filter_configs=[
-                    {
-                        "asc": False,
-                        "clearable": True,
-                        "column": "region",
-                        "key": "2s98dfu",
-                        "metric": "sum__SP_POP_TOTL",
-                        "multiple": False,
-                    },
-                    {
-                        "asc": False,
-                        "clearable": True,
-                        "key": "li3j2lk",
-                        "column": "country_name",
-                        "metric": "sum__SP_POP_TOTL",
-                        "multiple": True,
-                    },
-                ],
-            ),
-        ),
         Slice(
             slice_name="World's Population",
             viz_type="big_number",
@@ -372,18 +343,12 @@ def create_slices(tbl: BaseDatasource) -> list[Slice]:
 
 
 dashboard_positions = {
-    "CHART-36bfc934": {
-        "children": [],
-        "id": "CHART-36bfc934",
-        "meta": {"chartId": 40, "height": 25, "sliceName": "Region Filter", "width": 2},
-        "type": "CHART",
-    },
     "CHART-37982887": {
         "children": [],
         "id": "CHART-37982887",
         "meta": {
             "chartId": 41,
-            "height": 25,
+            "height": 52,
             "sliceName": "World's Population",
             "width": 2,
         },
@@ -464,7 +429,7 @@ dashboard_positions = {
         "type": "COLUMN",
     },
     "COLUMN-fe3914b8": {
-        "children": ["CHART-36bfc934", "CHART-37982887"],
+        "children": ["CHART-37982887"],
         "id": "COLUMN-fe3914b8",
         "meta": {"background": "BACKGROUND_TRANSPARENT", "width": 2},
         "type": "COLUMN",
diff --git a/tests/integration_tests/charts/api_tests.py b/tests/integration_tests/charts/api_tests.py
index fe489a0f36..69888104fa 100644
--- a/tests/integration_tests/charts/api_tests.py
+++ b/tests/integration_tests/charts/api_tests.py
@@ -981,7 +981,7 @@ class TestChartApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixin):
         rv = self.get_assert_metric(uri, "get_list")
         self.assertEqual(rv.status_code, 200)
         data = json.loads(rv.data.decode("utf-8"))
-        self.assertEqual(data["count"], 34)
+        self.assertEqual(data["count"], 33)
 
     @pytest.mark.usefixtures("load_energy_table_with_slice", "add_dashboard_to_chart")
     def test_get_charts_dashboards(self):
@@ -1447,7 +1447,7 @@ class TestChartApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixin):
         """
         Chart API: Test get charts filter
         """
-        # Assuming we have 34 sample charts
+        # Assuming we have 33 sample charts
         self.login(username="admin")
         arguments = {"page_size": 10, "page": 0}
         uri = f"api/v1/chart/?q={prison.dumps(arguments)}"
@@ -1461,7 +1461,7 @@ class TestChartApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixin):
         rv = self.get_assert_metric(uri, "get_list")
         self.assertEqual(rv.status_code, 200)
         data = json.loads(rv.data.decode("utf-8"))
-        self.assertEqual(len(data["result"]), 4)
+        self.assertEqual(len(data["result"]), 3)
 
     def test_get_charts_no_data_access(self):
         """
diff --git a/tests/integration_tests/dashboards/commands_tests.py b/tests/integration_tests/dashboards/commands_tests.py
index cfc992b95f..175a8a3198 100644
--- a/tests/integration_tests/dashboards/commands_tests.py
+++ b/tests/integration_tests/dashboards/commands_tests.py
@@ -97,17 +97,11 @@ class TestExportDashboardsCommand(SupersetTestCase):
             "published": False,
             "uuid": str(example_dashboard.uuid),
             "position": {
-                "CHART-36bfc934": {
-                    "children": [],
-                    "id": "CHART-36bfc934",
-                    "meta": {"height": 25, "sliceName": "Region Filter", "width": 2},
-                    "type": "CHART",
-                },
                 "CHART-37982887": {
                     "children": [],
                     "id": "CHART-37982887",
                     "meta": {
-                        "height": 25,
+                        "height": 52,
                         "sliceName": "World's Population",
                         "width": 2,
                     },
@@ -180,7 +174,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
                     "type": "COLUMN",
                 },
                 "COLUMN-fe3914b8": {
-                    "children": ["CHART-36bfc934", "CHART-37982887"],
+                    "children": ["CHART-37982887"],
                     "id": "COLUMN-fe3914b8",
                     "meta": {"background": "BACKGROUND_TRANSPARENT", "width": 2},
                     "type": "COLUMN",
@@ -299,7 +293,9 @@ class TestExportDashboardsCommand(SupersetTestCase):
         mock_suffix.side_effect = (str(i) for i in itertools.count(1))
 
         position = get_default_position("example")
-        chart_1 = db.session.query(Slice).filter_by(slice_name="Region Filter").one()
+        chart_1 = (
+            db.session.query(Slice).filter_by(slice_name="World's Population").one()
+        )
         new_position = append_charts(position, {chart_1})
         assert new_position == {
             "DASHBOARD_VERSION_KEY": "v2",
@@ -328,7 +324,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
                 "meta": {
                     "chartId": chart_1.id,
                     "height": 50,
-                    "sliceName": "Region Filter",
+                    "sliceName": "World's Population",
                     "uuid": str(chart_1.uuid),
                     "width": 4,
                 },
@@ -375,7 +371,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
                 "meta": {
                     "chartId": chart_1.id,
                     "height": 50,
-                    "sliceName": "Region Filter",
+                    "sliceName": "World's Population",
                     "uuid": str(chart_1.uuid),
                     "width": 4,
                 },
@@ -406,7 +402,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
                 "meta": {
                     "chartId": chart_1.id,
                     "height": 50,
-                    "sliceName": "Region Filter",
+                    "sliceName": "World's Population",
                     "uuid": str(chart_1.uuid),
                     "width": 4,
                 },
diff --git a/tests/integration_tests/dashboards/dao_tests.py b/tests/integration_tests/dashboards/dao_tests.py
index 8f73e5c2f8..65fc9e32dd 100644
--- a/tests/integration_tests/dashboards/dao_tests.py
+++ b/tests/integration_tests/dashboards/dao_tests.py
@@ -33,60 +33,6 @@ from tests.integration_tests.fixtures.world_bank_dashboard import (
 
 
 class TestDashboardDAO(SupersetTestCase):
-    @pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
-    def test_set_dash_metadata(self):
-        dash: Dashboard = (
-            db.session.query(Dashboard).filter_by(slug="world_health").first()
-        )
-        data = dash.data
-        positions = data["position_json"]
-        data.update({"positions": positions})
-        original_data = copy.deepcopy(data)
-
-        # add filter scopes
-        filter_slice = next(slc for slc in dash.slices if slc.viz_type == "filter_box")
-        immune_slices = [slc for slc in dash.slices if slc != filter_slice]
-        filter_scopes = {
-            str(filter_slice.id): {
-                "region": {
-                    "scope": ["ROOT_ID"],
-                    "immune": [slc.id for slc in immune_slices],
-                }
-            }
-        }
-        data.update({"filter_scopes": json.dumps(filter_scopes)})
-        DashboardDAO.set_dash_metadata(dash, data)
-        updated_metadata = json.loads(dash.json_metadata)
-        self.assertEqual(updated_metadata["filter_scopes"], filter_scopes)
-
-        # remove a slice and change slice ids (as copy slices)
-        removed_slice = immune_slices.pop()
-        removed_components = [
-            key
-            for (key, value) in positions.items()
-            if isinstance(value, dict)
-            and value.get("type") == "CHART"
-            and value["meta"]["chartId"] == removed_slice.id
-        ]
-        for component_id in removed_components:
-            del positions[component_id]
-
-        data.update({"positions": positions})
-        DashboardDAO.set_dash_metadata(dash, data)
-        updated_metadata = json.loads(dash.json_metadata)
-        expected_filter_scopes = {
-            str(filter_slice.id): {
-                "region": {
-                    "scope": ["ROOT_ID"],
-                    "immune": [slc.id for slc in immune_slices],
-                }
-            }
-        }
-        self.assertEqual(updated_metadata["filter_scopes"], expected_filter_scopes)
-
-        # reset dash to original data
-        DashboardDAO.set_dash_metadata(dash, original_data)
-
     @pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
     @patch("superset.utils.core.g")
     @patch("superset.security.manager.g")
diff --git a/tests/integration_tests/databases/api_tests.py b/tests/integration_tests/databases/api_tests.py
index 6e6f6e15b8..496012390e 100644
--- a/tests/integration_tests/databases/api_tests.py
+++ b/tests/integration_tests/databases/api_tests.py
@@ -2074,7 +2074,7 @@ class TestDatabaseApi(SupersetTestCase):
         rv = self.get_assert_metric(uri, "related_objects")
         self.assertEqual(rv.status_code, 200)
         response = json.loads(rv.data.decode("utf-8"))
-        self.assertEqual(response["charts"]["count"], 34)
+        self.assertEqual(response["charts"]["count"], 33)
         self.assertEqual(response["dashboards"]["count"], 3)
 
     def test_get_database_related_objects_not_found(self):
diff --git a/tests/integration_tests/utils_tests.py b/tests/integration_tests/utils_tests.py
index 405040e3d0..ddd0b0caf4 100644
--- a/tests/integration_tests/utils_tests.py
+++ b/tests/integration_tests/utils_tests.py
@@ -744,50 +744,6 @@ class TestUtils(SupersetTestCase):
         self.assertListEqual(as_list([123]), [123])
         self.assertListEqual(as_list("foo"), ["foo"])
 
-    @pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
-    def test_build_extra_filters(self):
-        world_health = db.session.query(Dashboard).filter_by(slug="world_health").one()
-        layout = json.loads(world_health.position_json)
-        filter_ = db.session.query(Slice).filter_by(slice_name="Region Filter").one()
-        world = db.session.query(Slice).filter_by(slice_name="World's Population").one()
-        box_plot = db.session.query(Slice).filter_by(slice_name="Box plot").one()
-        treemap = db.session.query(Slice).filter_by(slice_name="Treemap").one()
-
-        filter_scopes = {
-            str(filter_.id): {
-                "region": {"scope": ["ROOT_ID"], "immune": [treemap.id]},
-                "country_name": {
-                    "scope": ["ROOT_ID"],
-                    "immune": [treemap.id, box_plot.id],
-                },
-            }
-        }
-
-        default_filters = {
-            str(filter_.id): {
-                "region": ["North America"],
-                "country_name": ["United States"],
-            }
-        }
-
-        # immune to all filters
-        assert (
-            build_extra_filters(layout, filter_scopes, default_filters, treemap.id)
-            == []
-        )
-
-        # in scope
-        assert build_extra_filters(
-            layout, filter_scopes, default_filters, world.id
-        ) == [
-            {"col": "region", "op": "==", "val": "North America"},
-            {"col": "country_name", "op": "in", "val": ["United States"]},
-        ]
-
-        assert build_extra_filters(
-            layout, filter_scopes, default_filters, box_plot.id
-        ) == [{"col": "region", "op": "==", "val": "North America"}]
-
     def test_merge_extra_filters_with_no_extras(self):
         form_data = {
             "time_range": "Last 10 days",