{"version":3,"sources":["webpack:///./src/pages/docs/version-one-page.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","src","parentName","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-version-one-page-mdx-87a7b0161850783bb922.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"superset-10\"\n    }}>{`Superset 1.0`}</h2>\n    <p>{`Apache Superset 1.0 is a major milestone that the community has been working towards since the\nvery first commit at a hackathon at Airbnb back in 2015. Superset 1.0 packs a lot of new features,\nuplevels usability, holds a higher quality standard, and raises the bar for releases to come.`}</p>\n    <p>{`This page chronicles the key advancements that our community has been building up towards this release.`}</p>\n    <p>{`While growing fast over the past four years, Superset had accumulated a certain amount of technical debt,\ndesign debt, bugs, and idiosyncrasies. For this release, we wanted to pay the bulk of that debt off,\nstreamlining the core user flows, refreshing the overall look and feel, taking off some of the\nscaffolding that was left standing around, and more generally, leveling up the user experience.`}</p>\n    <h2 {...{\n      \"id\": \"user-experience\"\n    }}>{`User Experience`}</h2>\n    <p>{`Visually, Superset 1.0 is stunning, introducing card layouts with thumbnails throughout the application,\nstreamlining navigation and content discovery with a new home page, redesigned menus,\nand generally enriching existing pages.`}</p>\n    <img src=\"/images/dashboard_card_view.jpg\" />\n    <p>{`Behind the scenes, we moved away from Bootstrap 2x in favor of building a\nproper design system on top of Ant Design.\nWe also redesigned all of our CRUD (Create Read Update Delete), moving away\nfrom the rigid scaffolding “auto-magic” provided by FAB (Flask App Builder),\nto our own React-based solution that enables us to build richer experiences.`}</p>\n    <img src=\"/images/explore_ui.jpg\" />\n    <p>{`More generally,\nmany rough edges got buffed, the whole product got polished,\nand we managed to get our core user flows to, well, flow nicely.`}</p>\n    <h2 {...{\n      \"id\": \"api\"\n    }}>{`API`}</h2>\n    <p>{`For engineers and hackers, we’ve made Superset much more modular,\nextensible and integratable. We’re now exposing the building blocks of Superset\nfor engineers to extend or use in other projects. It’s now easier than ever to\ncreate new visualization plugins for Superset and to share those plugins back with the community.`}</p>\n    <p>{` We’re excited by the possibilities that this opens and excited to observe a growing ecosystem of\nplugins take life. We’ve also formalized a `}<a parentName=\"p\" {...{\n        \"href\": \"/docs/rest-api\"\n      }}>{`public REST API`}</a>{` that enables engineers to essentially\ndo everything that users can do in Superset, programmatically.`}</p>\n    <h2 {...{\n      \"id\": \"honorable-mentions\"\n    }}>{`Honorable Mentions`}</h2>\n    <p>{`With 1680 PRs merged and 25+ SIPs (Superset Improvement Proposals) over 2020, it’s hard\nto summarize what went into this release. Improvements happened in all aspects\nof the project, from infrastructure to design, through backend and frontend, to community and\ngovernance. Here are some honorable mentions that we haven’t been covered above,\nbut deserve a mention in this post:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`Asynchronous backend improvements`}</li>\n      <li parentName=\"ul\">{`Metadata and data pane in explorer view`}</li>\n      <li parentName=\"ul\">{`Toolbars redesign (SQL Lab, dashboard, explore)`}</li>\n      <li parentName=\"ul\">{`Date range picker redesign`}</li>\n      <li parentName=\"ul\">{`Various Docker / Helm improvements`}</li>\n      <li parentName=\"ul\">{`Migration of key visualization to plugins using Echarts`}</li>\n      <li parentName=\"ul\">{`Time series forecasting leveraging the Prophet library`}</li>\n      <li parentName=\"ul\">{`Improvements to and extensive use of our feature flag framework`}</li>\n      <li parentName=\"ul\">{`Improved analytics logging, capturing more events more consistently`}</li>\n      <li parentName=\"ul\">{`Exploration control panels improvements`}</li>\n      <li parentName=\"ul\">{`Improved SQL-to-explore flows`}</li>\n    </ul>\n    <p><strong parentName=\"p\">{`Release Notes`}</strong></p>\n    <p>{`To digest the full set of changes in 1.0, we recommend reading the\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/apache/superset/tree/master/RELEASING/release-notes-1-0\"\n      }}>{`full Release Notes`}</a>{`\non Github.`}</p>\n    <h2 {...{\n      \"id\": \"start-using-superset-10\"\n    }}>{`Start Using Superset 1.0`}</h2>\n    <p><strong parentName=\"p\">{`Source Code`}</strong></p>\n    <p>{`You can download Superset 1.0 from any of the following places:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`Official Apache Software Foundation source `}<a parentName=\"li\" {...{\n          \"href\": \"https://downloads.apache.org/superset/1.0.0/\"\n        }}>{`release`}</a></li>\n      <li parentName=\"ul\">{`Python package from `}<a parentName=\"li\" {...{\n          \"href\": \"https://pypi.org/project/apache-superset/1.0.0/\"\n        }}>{`PyPi`}</a></li>\n      <li parentName=\"ul\">{`this commit tag from `}<a parentName=\"li\" {...{\n          \"href\": \"https://github.com/apache/superset/releases/tag/1.0.0\"\n        }}>{`Github`}</a></li>\n    </ul>\n    <p><strong parentName=\"p\">{`Feature Flags & Dependency Configuration`}</strong></p>\n    <p>{`Some of the features in Superset 1.0 require:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`enabling of specific feature flags (read more about `}<a parentName=\"li\" {...{\n          \"href\": \"/docs/installation/configuring-superset\"\n        }}>{`configuring these`}</a>{`)`}</li>\n      <li parentName=\"ul\">{`custom configuration of additional services (e.g. celery, SMTP server, etc)`}</li>\n    </ul>\n    <p>{`In this section, the community takes the first steps to document the\nfeature flags and configuration instructions needed.`}</p>\n    <table>\n      <thead parentName=\"table\">\n        <tr parentName=\"thead\">\n          <th parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Feature`}</th>\n          <th parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Feature Flag`}</th>\n          <th parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Dependencies`}</th>\n          <th parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Documentation`}</th>\n        </tr>\n      </thead>\n      <tbody parentName=\"table\">\n        <tr parentName=\"tbody\">\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Global Async Queries`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><inlineCode parentName=\"td\">{`GLOBAL_ASYNC_QUERIES: True`}</inlineCode></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Redis 5.0+, celery workers configured and running`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><a parentName=\"td\" {...{\n              \"href\": \"https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries\"\n            }}>{`Extra documentation`}</a></td>\n        </tr>\n        <tr parentName=\"tbody\">\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Dashboard Native Filters`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><inlineCode parentName=\"td\">{`DASHBOARD_NATIVE_FILTERS: True`}</inlineCode></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}></td>\n        </tr>\n        <tr parentName=\"tbody\">\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Alerts & Reporting`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><inlineCode parentName=\"td\">{`ALERTS_REPORTS: True`}</inlineCode></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><a parentName=\"td\" {...{\n              \"href\": \"/docs/installation/async-queries-celery\"\n            }}>{`Celery workers configured & celery beat process`}</a></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}></td>\n        </tr>\n        <tr parentName=\"tbody\">\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Homescreen Thumbnails`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><inlineCode parentName=\"td\">{`THUMBNAILS: TRUE, THUMBNAIL_CACHE_CONFIG: CacheConfig = { \"CACHE_TYPE\": \"null\", \"CACHE_NO_NULL_WARNING\": True}`}</inlineCode></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`selenium, pillow 7, celery`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}></td>\n        </tr>\n        <tr parentName=\"tbody\">\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}>{`Dynamic Viz Plugin Import`}</td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}><inlineCode parentName=\"td\">{`DYNAMIC_PLUGINS: True`}</inlineCode></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}></td>\n          <td parentName=\"tr\" {...{\n            \"align\": null\n          }}></td>\n        </tr>\n      </tbody>\n    </table>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}