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

[incubator-superset-site] branch asf-site updated: latest docs

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

maximebeauchemin pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-superset-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 740c1cd  latest docs
740c1cd is described below

commit 740c1cdff7abb962b2f117695bb1ffeac5e08064
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Wed Dec 4 21:54:43 2019 -0800

    latest docs
---
 _modules/index.html                                |   3 +-
 _modules/superset/jinja_context.html               |  40 ++--
 _sources/index.rst.txt                             |   6 +-
 _sources/installation.rst.txt                      | 213 +++++++++++++++--
 _sources/sqllab.rst.txt                            |  36 ++-
 _sources/visualization.rst.txt                     | 126 ++++++++++
 _static/img/docs/apache_feather.png                | Bin 0 -> 138140 bytes
 _static/img/docs/create_role.png                   | Bin 0 -> 51474 bytes
 _static/img/docs/druid_agg.png                     | Bin 0 -> 104052 bytes
 _static/img/docs/screenshots/bank_dash.png         | Bin 0 -> 1532812 bytes
 _static/img/docs/screenshots/deckgl_dash.png       | Bin 0 -> 6777438 bytes
 _static/img/docs/screenshots/explore.png           | Bin 0 -> 674489 bytes
 _static/img/docs/screenshots/sqllab.png            | Bin 0 -> 514789 bytes
 _static/img/docs/screenshots/visualizations.png    | Bin 0 -> 2016718 bytes
 _static/img/docs/tutorial/add_db.png               | Bin 0 -> 157717 bytes
 .../docs/tutorial/tutorial_01_sources_database.png | Bin 0 -> 19291 bytes
 .../img/docs/tutorial/tutorial_02_add_database.png | Bin 0 -> 24994 bytes
 .../docs/tutorial/tutorial_03_database_name.png    | Bin 0 -> 13947 bytes
 .../tutorial_04_sqlalchemy_connection_string.png   | Bin 0 -> 52808 bytes
 .../docs/tutorial/tutorial_05_connection_popup.png | Bin 0 -> 84173 bytes
 .../docs/tutorial/tutorial_06_list_of_tables.png   | Bin 0 -> 23859 bytes
 .../img/docs/tutorial/tutorial_07_save_button.png  | Bin 0 -> 8210 bytes
 .../docs/tutorial/tutorial_08_sources_tables.png   | Bin 0 -> 18728 bytes
 .../docs/tutorial/tutorial_09_add_new_table.png    | Bin 0 -> 18777 bytes
 .../img/docs/tutorial/tutorial_10_table_name.png   | Bin 0 -> 26728 bytes
 .../img/docs/tutorial/tutorial_11_choose_db.png    | Bin 0 -> 22024 bytes
 .../tutorial_12_table_creation_success_msg.png     | Bin 0 -> 33013 bytes
 .../tutorial/tutorial_13_edit_table_config.png     | Bin 0 -> 32220 bytes
 .../img/docs/tutorial/tutorial_14_field_config.png | Bin 0 -> 61811 bytes
 .../docs/tutorial/tutorial_15_click_table_name.png | Bin 0 -> 7863 bytes
 .../tutorial/tutorial_16_datasource_chart_type.png | Bin 0 -> 13822 bytes
 .../tutorial/tutorial_17_choose_time_range.png     | Bin 0 -> 11627 bytes
 .../docs/tutorial/tutorial_18_choose_metric.png    | Bin 0 -> 12536 bytes
 .../img/docs/tutorial/tutorial_19_click_query.png  | Bin 0 -> 5734 bytes
 .../tutorial/tutorial_20_count_star_result.png     | Bin 0 -> 5333 bytes
 _static/img/docs/tutorial/tutorial_21_group_by.png | Bin 0 -> 6840 bytes
 .../docs/tutorial/tutorial_22_group_by_result.png  | Bin 0 -> 22576 bytes
 .../tutorial_23_group_by_more_dimensions.png       | Bin 0 -> 8191 bytes
 .../img/docs/tutorial/tutorial_24_max_metric.png   | Bin 0 -> 6731 bytes
 .../docs/tutorial/tutorial_25_max_temp_filter.png  | Bin 0 -> 11654 bytes
 .../img/docs/tutorial/tutorial_26_row_limit.png    | Bin 0 -> 4927 bytes
 .../docs/tutorial/tutorial_27_top_10_max_temps.png | Bin 0 -> 49871 bytes
 .../img/docs/tutorial/tutorial_28_bar_chart.png    | Bin 0 -> 14757 bytes
 .../tutorial_29_bar_chart_series_metrics.png       | Bin 0 -> 20374 bytes
 .../tutorial/tutorial_30_bar_chart_results.png     | Bin 0 -> 75926 bytes
 .../tutorial_31_save_slice_to_dashboard.png        | Bin 0 -> 33789 bytes
 .../tutorial_32_save_slice_confirmation.png        | Bin 0 -> 24041 bytes
 .../img/docs/tutorial/tutorial_33_dashboard.png    | Bin 0 -> 5232 bytes
 .../tutorial/tutorial_34_weather_dashboard.png     | Bin 0 -> 6703 bytes
 .../tutorial/tutorial_35_slice_on_dashboard.png    | Bin 0 -> 66781 bytes
 .../tutorial/tutorial_36_adjust_dimensions.gif     | Bin 0 -> 126264 bytes
 _static/img/usertutorial/add_new_chart.png         | Bin 0 -> 42447 bytes
 .../img/usertutorial/advanced_analytics_base.png   | Bin 0 -> 122647 bytes
 _static/img/usertutorial/annotation.png            | Bin 0 -> 101822 bytes
 _static/img/usertutorial/annotation_settings.png   | Bin 0 -> 22421 bytes
 .../usertutorial/average_aggregate_for_cost.png    | Bin 0 -> 31741 bytes
 .../img/usertutorial/blue_bar_insert_component.png | Bin 0 -> 56554 bytes
 _static/img/usertutorial/chose_a_datasource.png    | Bin 0 -> 21013 bytes
 .../usertutorial/csv_to_database_configuration.png | Bin 0 -> 30607 bytes
 _static/img/usertutorial/edit-record.png           | Bin 0 -> 4940 bytes
 _static/img/usertutorial/edit_annotation.png       | Bin 0 -> 34104 bytes
 .../img/usertutorial/filter_on_origin_country.png  | Bin 0 -> 44695 bytes
 _static/img/usertutorial/markdown.png              | Bin 0 -> 9030 bytes
 .../img/usertutorial/no_filter_on_time_filter.png  | Bin 0 -> 35991 bytes
 _static/img/usertutorial/parse_dates_column.png    | Bin 0 -> 22004 bytes
 _static/img/usertutorial/publish_dashboard.png     | Bin 0 -> 67785 bytes
 _static/img/usertutorial/resample.png              | Bin 0 -> 88488 bytes
 .../resize_tutorial_table_on_dashboard.png         | Bin 0 -> 40391 bytes
 _static/img/usertutorial/rolling_mean.png          | Bin 0 -> 99706 bytes
 _static/img/usertutorial/save_tutorial_table.png   | Bin 0 -> 8282 bytes
 .../img/usertutorial/select_dates_pivot_table.png  | Bin 0 -> 35466 bytes
 .../select_table_visualization_type.png            | Bin 0 -> 47283 bytes
 _static/img/usertutorial/sum_cost_column.png       | Bin 0 -> 36632 bytes
 .../time_comparison_absolute_difference.png        | Bin 0 -> 98829 bytes
 .../usertutorial/time_comparison_two_series.png    | Bin 0 -> 137009 bytes
 _static/img/usertutorial/tutorial_line_chart.png   | Bin 0 -> 97148 bytes
 _static/img/usertutorial/tutorial_pivot_table.png  | Bin 0 -> 57761 bytes
 _static/img/usertutorial/tutorial_table.png        | Bin 0 -> 35897 bytes
 _static/img/usertutorial/upload_a_csv.png          | Bin 0 -> 38213 bytes
 admintutorial.html                                 |   1 +
 druid.html                                         |   3 +-
 faq.html                                           |   3 +-
 gallery.html                                       |   3 +-
 genindex.html                                      |   3 +-
 import_export_datasources.html                     |   3 +-
 index.html                                         |  22 +-
 installation.html                                  | 260 ++++++++++++++++-----
 misc.html                                          |   3 +-
 objects.inv                                        | Bin 676 -> 711 bytes
 search.html                                        |   3 +-
 searchindex.js                                     |   2 +-
 security.html                                      |   7 +-
 sqllab.html                                        |  39 +++-
 tutorials.html                                     |   1 +
 usertutorial.html                                  |   1 +
 videos.html                                        |   3 +-
 visualization.html                                 | 214 ++++++++++++++++-
 97 files changed, 852 insertions(+), 143 deletions(-)

diff --git a/_modules/index.html b/_modules/index.html
index 694f7ed..2418de0 100644
--- a/_modules/index.html
+++ b/_modules/index.html
@@ -80,7 +80,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../gallery.html">Visualizations Gallery</a></li>
@@ -161,6 +161,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/_modules/superset/jinja_context.html b/_modules/superset/jinja_context.html
index 60490e0..2bbfac0 100644
--- a/_modules/superset/jinja_context.html
+++ b/_modules/superset/jinja_context.html
@@ -80,7 +80,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../gallery.html">Visualizations Gallery</a></li>
@@ -170,28 +170,12 @@
 <span class="sd">&quot;&quot;&quot;Defines the templating context for SQL Lab&quot;&quot;&quot;</span>
 <span class="kn">import</span> <span class="nn">inspect</span>
 <span class="kn">import</span> <span class="nn">json</span>
-<span class="kn">import</span> <span class="nn">random</span>
-<span class="kn">import</span> <span class="nn">time</span>
-<span class="kn">import</span> <span class="nn">uuid</span>
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
-<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Tuple</span>
-
-<span class="kn">from</span> <span class="nn">dateutil.relativedelta</span> <span class="kn">import</span> <span class="n">relativedelta</span>
-<span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">g</span><span class="p">,</span> <span class="n">request</span>
-<span class="kn">from</span> <span class="nn">jinja2.sandbox</span> <span class="kn">import</span> <span class="n">SandboxedEnvironment</span>
-
-<span class="kn">from</span> <span class="nn">superset</span> <span class="kn">import</span> <span class="n">app</span>
-
-<span class="n">config</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">config</span>
-<span class="n">BASE_CONTEXT</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s2">&quot;datetime&quot;</span><span class="p">:</span> <span class="n">datetime</span><span class="p">,</span>
-    <span class="s2">&quot;random&quot;</span><span class="p">:</span> <span class="n">random</span><span class="p">,</span>
-    <span class="s2">&quot;relativedelta&quot;</span><span class="p">:</span> <span class="n">relativedelta</span><span class="p">,</span>
-    <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span class="n">time</span><span class="p">,</span>
-    <span class="s2">&quot;timedelta&quot;</span><span class="p">:</span> <span class="n">timedelta</span><span class="p">,</span>
-    <span class="s2">&quot;uuid&quot;</span><span class="p">:</span> <span class="n">uuid</span><span class="p">,</span>
-<span class="p">}</span>
-<span class="n">BASE_CONTEXT</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;JINJA_CONTEXT_ADDONS&quot;</span><span class="p">,</span> <span class="p">{}))</span>
+<span class="kn">from</span> <span class="nn">typing</span> <span class="k">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Tuple</span>
+
+<span class="kn">from</span> <span class="nn">flask</span> <span class="k">import</span> <span class="n">g</span><span class="p">,</span> <span class="n">request</span>
+<span class="kn">from</span> <span class="nn">jinja2.sandbox</span> <span class="k">import</span> <span class="n">SandboxedEnvironment</span>
+
+<span class="kn">from</span> <span class="nn">superset</span> <span class="k">import</span> <span class="n">jinja_base_context</span>
 
 
 <div class="viewcode-block" id="url_param"><a class="viewcode-back" href="../../sqllab.html#superset.jinja_context.url_param">[docs]</a><span class="k">def</span> <span class="nf">url_param</span><span class="p">(</span><span class="n">param</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">default</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span [...]
@@ -208,6 +192,9 @@
 <span class="sd">    parameters in the explore view as well as from the dashboard, and</span>
 <span class="sd">    it should carry through to your queries.</span>
 
+<span class="sd">    Default values for URL parameters can be defined in chart metdata by</span>
+<span class="sd">    adding the key-value pair `url_params: {&#39;foo&#39;: &#39;bar&#39;}`</span>
+
 <span class="sd">    :param param: the parameter to lookup</span>
 <span class="sd">    :param default: the value to return in the absence of the parameter</span>
 <span class="sd">    &quot;&quot;&quot;</span>
@@ -285,7 +272,7 @@
     <span class="sd">&quot;&quot;&quot; Dummy class that exposes a method used to store additional values used in</span>
 <span class="sd">     calculation of query object cache keys&quot;&quot;&quot;</span>
 
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">extra_cache_keys</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">extra_cache_keys</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">extra_cache_keys</span> <span class="o">=</span> <span class="n">extra_cache_keys</span>
 
     <span class="k">def</span> <span class="nf">cache_key_wrapper</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Any</span><span class="p">:</span>
@@ -334,7 +321,7 @@
 
     <span class="n">engine</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
 
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
         <span class="bp">self</span><span class="p">,</span>
         <span class="n">database</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
         <span class="n">query</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
@@ -358,7 +345,7 @@
             <span class="s2">&quot;form_data&quot;</span><span class="p">:</span> <span class="p">{},</span>
         <span class="p">}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">BASE_CONTEXT</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">jinja_base_context</span><span class="p">)</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">engine</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">engine</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">env</span> <span class="o">=</span> <span class="n">SandboxedEnvironment</span><span class="p">()</span>
@@ -452,6 +439,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
index fbbe57f..7727ff4 100644
--- a/_sources/index.rst.txt
+++ b/_sources/index.rst.txt
@@ -96,7 +96,7 @@ Features
 Databases
 ---------
 
-The following RDBMS are currently suppored:
+The following RDBMS are currently supported:
 
 - `Amazon Athena <https://aws.amazon.com/athena/>`_
 - `Amazon Redshift <https://aws.amazon.com/redshift/>`_
@@ -109,6 +109,7 @@ The following RDBMS are currently suppored:
 - `Apache Spark SQL <https://spark.apache.org/sql/>`_
 - `BigQuery <https://cloud.google.com/bigquery/>`_
 - `ClickHouse <https://clickhouse.yandex/>`_
+- `Elasticsearch <https://www.elastic.co/products/elasticsearch/>`_
 - `Exasol <https://www.exasol.com/>`_
 - `Google Sheets <https://www.google.com/sheets/about/>`_
 - `Greenplum <https://greenplum.org/>`_
@@ -122,6 +123,7 @@ The following RDBMS are currently suppored:
 - `SQL Server <https://www.microsoft.com/en-us/sql-server/>`_
 - `Teradata <https://www.teradata.com/>`_
 - `Vertica <https://www.vertica.com/>`_
+- `Hana <https://www.sap.com/products/hana.html>`_
 
 Other database engines with a proper DB-API driver and SQLAlchemy dialect should
 be supported as well.
@@ -153,7 +155,7 @@ Contents
     :maxdepth: 2
 
     installation
-    tutorial
+    tutorials
     security
     sqllab
     gallery
diff --git a/_sources/installation.rst.txt b/_sources/installation.rst.txt
index fa4a591..2199494 100644
--- a/_sources/installation.rst.txt
+++ b/_sources/installation.rst.txt
@@ -57,19 +57,15 @@ Start with Docker
 -----------------
 
 .. note ::
-    The Docker-related files and documentation has been
-    community-contributed and
-    is not actively maintained and managed by the core committers working on
-    the project. Some issues have been reported as of 2019-01.
-    Help and contributions around Docker are welcomed!
+    The Docker-related files and documentation are actively maintained and
+    managed by the core committers working on the project. Help and contributions
+    around Docker are welcomed!
 
 If you know docker, then you're lucky, we have shortcut road for you to
 initialize development environment: ::
 
     git clone https://github.com/apache/incubator-superset/
-    cd incubator-superset/contrib/docker
-    # prefix with SUPERSET_LOAD_EXAMPLES=yes to load examples:
-    docker-compose run --rm superset ./docker-init.sh
+    cd incubator-superset
     # you can run this command everytime you need to start superset now:
     docker-compose up
 
@@ -83,15 +79,14 @@ Don't forget to reload the page to take the new frontend into account though.
 See also `CONTRIBUTING.md#building <https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#building>`_,
 for alternative way of serving the frontend.
 
-It is also possible to run Superset in non-development mode: in the `docker-compose.yml` file remove
-the volumes needed for development and change the variable `SUPERSET_ENV` to `production`.
+It is currently not recommended to run docker-compose in production.
 
 If you are attempting to build on a Mac and it exits with 137 you need to increase your docker resources.
 OSX instructions: https://docs.docker.com/docker-for-mac/#advanced (Search for memory)
 
 Or if you're curious and want to install superset from bottom up, then go ahead.
 
-See also `contrib/docker/README.md <https://github.com/apache/incubator-superset/blob/master/contrib/docker/README.md>`_
+See also `docker/README.md <https://github.com/apache/incubator-superset/blob/master/docker/README.md>`_
 
 OS dependencies
 ---------------
@@ -121,7 +116,7 @@ For **Fedora** and **RHEL-derivatives**, the following command will ensure
 that the required dependencies are installed: ::
 
     sudo yum upgrade python-setuptools
-    sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
+    sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
 
 **Mac OS X** If possible, you should upgrade to the latest version of OS X as issues are more likely to be resolved for that version.
 You *will likely need* the latest version of XCode available for your installed version of OS X. You should also install
@@ -157,7 +152,7 @@ You can create and activate a virtualenv by: ::
     python3 -m venv venv
     . venv/bin/activate
 
-On windows the syntax for activating it is a bit different: ::
+On Windows the syntax for activating it is a bit different: ::
 
     venv\Scripts\activate
 
@@ -220,7 +215,7 @@ setup known to work well in production: ::
         --limit-request-line 0 \
         --limit-request-field_size 0 \
         --statsd-host localhost:8125 \
-        superset:app
+        "superset.app:create_app()"
 
 Refer to the
 `Gunicorn documentation <https://docs.gunicorn.org/en/stable/design.html>`_
@@ -377,6 +372,8 @@ Here's a list of some of the recommended packages.
 +------------------+---------------------------------------+-------------------------------------------------+
 | ClickHouse       | ``pip install sqlalchemy-clickhouse`` |                                                 |
 +------------------+---------------------------------------+-------------------------------------------------+
+| Elasticsearch    | ``pip install elasticsearch-dbapi``   | ``elasticsearch+http://``                       |
++------------------+---------------------------------------+-------------------------------------------------+
 | Exasol           | ``pip install sqlalchemy-exasol``     | ``exa+pyodbc://``                               |
 +------------------+---------------------------------------+-------------------------------------------------+
 | Google Sheets    | ``pip install gsheetsdb``             | ``gsheets://``                                  |
@@ -402,12 +399,24 @@ Here's a list of some of the recommended packages.
 | Vertica          | ``pip install                         |  ``vertica+vertica_python://``                  |
 |                  | sqlalchemy-vertica-python``           |                                                 |
 +------------------+---------------------------------------+-------------------------------------------------+
+| Hana             | ``pip install hdbcli sqlalchemy-hana``|  ``hana://``                                    |
+|                  | or ``pip install superset[hana]``     |                                                 |
++------------------+---------------------------------------+-------------------------------------------------+
+
 
 Note that many other databases are supported, the main criteria being the
 existence of a functional SqlAlchemy dialect and Python driver. Googling
 the keyword ``sqlalchemy`` in addition of a keyword that describes the
 database you want to connect to should get you to the right place.
 
+Hana
+------------
+
+The connection string for Hana looks like this ::
+
+    hana://{username}:{password}@{host}:{port}
+
+
 (AWS) Athena
 ------------
 
@@ -432,8 +441,72 @@ The connection string for BigQuery looks like this ::
 
     bigquery://{project_id}
 
+Additionally, you will need to configure authentication via a
+Service Account. Create your Service Account via the Google
+Cloud Platform control panel, provide it access to the appropriate
+BigQuery datasets, and download the JSON configuration file
+for the service account. In Superset, Add a JSON blob to
+the "Secure Extra" field in the database configuration page
+with the following format ::
+
+    {
+        "credentials_info": <contents of credentials JSON file>
+    }
+
+The resulting file should have this structure ::
+
+    {
+        "credentials_info": {
+            "type": "service_account",
+            "project_id": "...",
+            "private_key_id": "...",
+            "private_key": "...",
+            "client_email": "...",
+            "client_id": "...",
+            "auth_uri": "...",
+            "token_uri": "...",
+            "auth_provider_x509_cert_url": "...",
+            "client_x509_cert_url": "...",
+        }
+    }
+
+You should then be able to connect to your BigQuery datasets.
+
 To be able to upload data, e.g. sample data, the python library `pandas_gbq` is required.
 
+
+Elasticsearch
+-------------
+
+The connection string for Elasticsearch looks like this ::
+
+    elasticsearch+http://{user}:{password}@{host}:9200/
+
+Using HTTPS ::
+
+    elasticsearch+https://{user}:{password}@{host}:9200/
+
+
+Elasticsearch as a default limit of 10000 rows, so you can increase this limit on your cluster
+or set Superset's row limit on config ::
+
+    ROW_LIMIT = 10000
+
+You can query multiple indices on SQLLab for example ::
+
+    select timestamp, agent from "logstash-*"
+
+But, to use visualizations for multiple indices you need to create an alias index on your cluster ::
+
+    POST /_aliases
+    {
+        "actions" : [
+            { "add" : { "index" : "logstash-**", "alias" : "logstash_all" } }
+        ]
+    }
+
+Then register your table with the ``alias`` name ``logstasg_all``
+
 Snowflake
 ---------
 
@@ -698,7 +771,7 @@ The following keys in `superset_config.py` can be specified to configure CORS:
 * ``CORS_OPTIONS``: options passed to Flask-CORS (`documentation <https://flask-cors.corydolphin.com/en/latest/api.html#extension>`)
 
 
-DOMAIN SHARDING
+Domain Sharding
 ---------------
 
 Chrome allows up to 6 open connections per domain at a time. When there are more
@@ -710,7 +783,7 @@ doesn't allow cross-domain request).
 * ``SUPERSET_WEBSERVER_DOMAINS``: list of allowed hostnames for domain sharding feature. default `None`
 
 
-MIDDLEWARE
+Middleware
 ----------
 
 Superset allows you to add your own middleware. To add your own middleware, update the ``ADDITIONAL_MIDDLEWARE`` key in
@@ -843,7 +916,7 @@ have the same configuration.
 
 * To start a Celery worker to leverage the configuration run: ::
 
-    celery worker --app=superset.tasks.celery_app:app --pool=prefork -Ofair -c 4
+    celery worker --app=superset.tasks.celery_app:app --pool=prefork -O fair -c 4
 
 * To start a job which schedules periodic background jobs, run ::
 
@@ -889,29 +962,68 @@ cache store when upgrading an existing environment.
   resulting in weird behaviors like duplicate delivery of reports,
   higher than expected load / traffic etc.
 
+* SQL Lab will only run your queries asynchronously if you enable
+  "Asynchronous Query Execution" in your database settings.
+
 
 Email Reports
 -------------
 Email reports allow users to schedule email reports for
 
-* slice and dashboard visualization (Attachment or inline)
-* slice data (CSV attachment on inline table)
+* chart and dashboard visualization (Attachment or inline)
+* chart data (CSV attachment on inline table)
+
+**Setup**
+
+Make sure you enable email reports in your configuration file
+
+.. code-block:: python
+
+    ENABLE_SCHEDULED_EMAIL_REPORTS = True
+
+Now you will find two new items in the navigation bar that allow you to schedule email
+reports
+
+* Manage -> Dashboard Emails
+* Manage -> Chart Email Schedules
 
 Schedules are defined in crontab format and each schedule
 can have a list of recipients (all of them can receive a single mail,
 or separate mails). For audit purposes, all outgoing mails can have a
 mandatory bcc.
 
-**Requirements**
+In order get picked up you need to configure a celery worker and a celery beat
+(see section above "Celery Tasks"). Your celery configuration also
+needs an entry ``email_reports.schedule_hourly`` for ``CELERYBEAT_SCHEDULE``.
 
-* A selenium compatible driver & headless browser
+To send emails you need to configure SMTP settings in your configuration file. e.g.
+
+.. code-block:: python
+
+    EMAIL_NOTIFICATIONS = True
+
+    SMTP_HOST = "email-smtp.eu-west-1.amazonaws.com"
+    SMTP_STARTTLS = True
+    SMTP_SSL = False
+    SMTP_USER = "smtp_username"
+    SMTP_PORT = 25
+    SMTP_PASSWORD = os.environ.get("SMTP_PASSWORD")
+    SMTP_MAIL_FROM = "insights@komoot.com"
+
+
+To render dashboards you need to install a local browser on your superset instance
 
   * `geckodriver <https://github.com/mozilla/geckodriver>`_ and Firefox is preferred
   * `chromedriver <http://chromedriver.chromium.org/>`_ is a good option too
-* Run `celery worker` and `celery beat` as follows ::
 
-    celery worker --app=superset.tasks.celery_app:app --pool=prefork -Ofair -c 4
-    celery beat --app=superset.tasks.celery_app:app
+You need to adjust the ``EMAIL_REPORTS_WEBDRIVER`` accordingly in your configuration.
+
+You also need to specify on behalf of which username to render the dashboards. In general
+dashboards and charts are not accessible to unauthorized requests, that is why the
+worker needs to take over credentials of an existing user to take a snapshot. ::
+
+    EMAIL_REPORTS_USER = 'username_with_permission_to_access_dashboards'
+
 
 **Important notes**
 
@@ -926,6 +1038,10 @@ mandatory bcc.
 * It is recommended to run separate workers for ``sql_lab`` and
   ``email_reports`` tasks. Can be done by using ``queue`` field in ``CELERY_ANNOTATIONS``
 
+* Adjust ``WEBDRIVER_BASEURL`` in your config if celery workers can't access superset via its
+  default value ``http://0.0.0.0:8080/`` (notice the port number 8080, many other setups use
+  port 8088).
+
 SQL Lab
 -------
 SQL Lab is a powerful SQL IDE that works with all SQLAlchemy compatible
@@ -1205,7 +1321,7 @@ Then we can add this two lines to ``superset_config.py``:
   CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
 
 Feature Flags
----------------------------
+-------------
 
 Because of a wide variety of users, Superset has some features that are not enabled by default. For example, some users have stronger security restrictions, while some others may not. So Superset allow users to enable or disable some features by config. For feature owners, you can add optional functionalities in Superset, but will be only affected by a subset of users.
 
@@ -1230,3 +1346,50 @@ Here is a list of flags and descriptions:
 * PRESTO_EXPAND_DATA
 
   * When this feature is enabled, nested types in Presto will be expanded into extra columns and/or arrays. This is experimental, and doesn't work with all nested types.
+
+
+SIP-15
+------
+
+`SIP-15 <https://github.com/apache/incubator-superset/issues/6360>`_ aims to ensure that time intervals are handled in a consistent and transparent manner for both the Druid and SQLAlchemy connectors.
+
+Prior to SIP-15 SQLAlchemy used inclusive endpoints however these may behave like exclusive for string columns (due to lexicographical ordering) if no formatting was defined and the column formatting did not conform to an ISO 8601 date-time (refer to the SIP for details).
+
+To remedy this rather than having to define the date/time format for every non-IS0 8601 date-time column, once can define a default column mapping on a per database level via the ``extra`` parameter ::
+
+    {
+        "python_date_format_by_column_name": {
+            "ds": "%Y-%m-%d"
+        }
+    }
+
+**New deployments**
+
+All new Superset deployments should enable SIP-15 via,
+
+.. code-block:: python
+
+    SIP_15_ENABLED = True
+
+**Existing deployments**
+
+Given that it is not apparent whether the chart creator was aware of the time range inconsistencies (and adjusted the endpoints accordingly) changing the behavior of all charts is overly aggressive. Instead SIP-15 proivides a soft transistion allowing producers (chart owners) to see the impact of the proposed change and adjust their charts accordingly.
+
+Prior to enabling SIP-15 existing deployments should communicate to their users the impact of the change and define a grace period end date (exclusive of course) after which all charts will conform to the [start, end) interval, i.e.,
+
+.. code-block:: python
+
+    from dateime import date
+
+    SIP_15_ENABLED = True
+    SIP_15_GRACE_PERIOD_END = date(<YYYY>, <MM>, <DD>)
+
+To aid with transparency the current endpoint behavior is explicitly called out in the chart time range (post SIP-15 this will be [start, end) for all connectors and databases). One can override the defaults on a per database level via the ``extra``
+parameter ::
+
+    {
+        "time_range_endpoints": ["inclusive", "inclusive"]
+    }
+
+
+Note in a future release the interim SIP-15 logic will be removed (including the ``time_grain_endpoints`` form-data field) via a code change and Alembic migration.
diff --git a/_sources/sqllab.rst.txt b/_sources/sqllab.rst.txt
index 39ae4d4..6060726 100644
--- a/_sources/sqllab.rst.txt
+++ b/_sources/sqllab.rst.txt
@@ -112,17 +112,47 @@ of queries before executing this. Currently, Presto is supported in SQL Lab. To
 enable query cost estimation, add the following keys to the "Extra" field in the
 database configuration:
 
-.. code-block:: json
+.. code-block:: text
 
     {
         "version": "0.319",
-        "cost_estimate_enabled": true,
+        "cost_estimate_enabled": true
         ...
     }
 
 Here, "version" should be the version of your Presto cluster. Support for this
 functionality was introduced in Presto 0.319.
 
+You also need to enable the feature flag in your `superset_config.py`, and you
+can optionally specify a custom formatter. Eg:
+
+.. code-block:: python
+
+    def presto_query_cost_formatter(cost_estimate: List[Dict[str, float]]) -> List[Dict[str, str]]:
+        """
+        Format cost estimate returned by Presto.
+
+        :param cost_estimate: JSON estimate from Presto
+        :return: Human readable cost estimate
+        """
+        # Convert cost to dollars based on CPU and network cost. These coefficients are just
+        # examples, they need to be estimated based on your infrastructure.
+        cpu_coefficient = 2e-12
+        network_coefficient = 1e-12
+
+        cost = 0
+        for row in cost_estimate:
+            cost += row.get("cpuCost", 0) * cpu_coefficient
+            cost += row.get("networkCost", 0) * network_coefficient
+
+        return [{"Cost": f"US$ {cost:.2f}"}]
+
+
+    DEFAULT_FEATURE_FLAGS = {
+        "ESTIMATE_QUERY_COST": True,
+        "QUERY_COST_FORMATTERS_BY_ENGINE": {"presto": presto_query_cost_formatter},
+    }
+
 .. _ref_ctas_engine_config:
 
 Create Table As (CTAS)
@@ -134,7 +164,7 @@ and off at the database configuration level.
 Note that since ``CREATE TABLE..`` belongs to a SQL DDL category. Specifically on PostgreSQL, DDL is transactional,
 this means that to properly use this feature you have to set ``autocommit`` to true on your engine parameters:
 
-.. code-block:: json
+.. code-block:: text
 
     {
         ...
diff --git a/_sources/visualization.rst.txt b/_sources/visualization.rst.txt
index 049ec0a..6351847 100644
--- a/_sources/visualization.rst.txt
+++ b/_sources/visualization.rst.txt
@@ -829,6 +829,73 @@ List of Countries
 | JP-47 | Okinawa        |
 +-------+----------------+
 
+* Korea
+
++-------+----------------+
+| ISO   | Name of region |
++=======+================+
+| KR-11 | Seoul          |
++-------+----------------+
+| KR-26 | Busan          |
++-------+----------------+
+| KR-27 | Daegu          |
++-------+----------------+
+| KR-28 | Incheon        |
++-------+----------------+
+| KR-29 | Gwangju        |
++-------+----------------+
+| KR-30 | Daejeon        |
++-------+----------------+
+| KR-31 | Ulsan          |
++-------+----------------+
+| KR-41 | Gyeonggi       |
++-------+----------------+
+| KR-42 | Gangwon        |
++-------+----------------+
+| KR-43 | Chungbuk       |
++-------+----------------+
+| KR-44 | Chungnam       |
++-------+----------------+
+| KR-45 | Jeonbuk        |
++-------+----------------+
+| KR-46 | Jeonnam        |
++-------+----------------+
+| KR-47 | Gyeongbuk      |
++-------+----------------+
+| KR-48 | Gyeongnam      |
++-------+----------------+
+| KR-49 | Jeju           |
++-------+----------------+
+| KR-50 | Sejong         |
++-------+----------------+
+
+* Liechtenstein
+
++-------+----------------+
+| ISO   | Name of region |
++=======+================+
+| LI-01 | Balzers        |
++-------+----------------+
+| LI-02 | Eschen         |
++-------+----------------+
+| LI-03 | Gamprin        |
++-------+----------------+
+| LI-04 | Mauren         |
++-------+----------------+
+| LI-05 | Planken        |
++-------+----------------+
+| LI-06 | Ruggell        |
++-------+----------------+
+| LI-07 | Schaan         |
++-------+----------------+
+| LI-08 | Schellenberg   |
++-------+----------------+
+| LI-09 | Triesen        |
++-------+----------------+
+| LI-10 | Triesenberg    |
++-------+----------------+
+| LI-11 | Vaduz          |
++-------+----------------+
 
 * Morocco
 
@@ -1269,6 +1336,64 @@ List of Countries
 |ES-MU6 |                      Murcia |
 +-------+-----------------------------+
 
+* Switzerland
+
++-------+-----------------------------+
+|ISO    | Name of region              |
++=======+=============================+
+|CH-AG  |                      Aargau |
++-------+-----------------------------+
+|CH-AR  |      Appenzell Ausserrhoden |
++-------+-----------------------------+
+|CH-AI  |       Appenzell Innerrhoden |
++-------+-----------------------------+
+|CH-BL  |            Basel-Landschaft |
++-------+-----------------------------+
+|CH-BS  |                 Basel-Stadt |
++-------+-----------------------------+
+|CH-BE  |                        Bern |
++-------+-----------------------------+
+|CH-FR  |                    Freiburg |
++-------+-----------------------------+
+|CH-GE  |                        Genf |
++-------+-----------------------------+
+|CH-GL  |                      Glarus |
++-------+-----------------------------+
+|CH-GR  |                  Graubünden |
++-------+-----------------------------+
+|CH-JU  |                        Jura |
++-------+-----------------------------+
+|CH-LU  |                      Luzern |
++-------+-----------------------------+
+|CH-NE  |                   Neuenburg |
++-------+-----------------------------+
+|CH-NW  |                   Nidwalden |
++-------+-----------------------------+
+|CH-OW  |                    Obwalden |
++-------+-----------------------------+
+|CH-SH  |                Schaffhausen |
++-------+-----------------------------+
+|CH-SZ  |                      Schwyz |
++-------+-----------------------------+
+|CH-SO  |                   Solothurn |
++-------+-----------------------------+
+|CH-SG  |                  St. Gallen |
++-------+-----------------------------+
+|CH-TI  |                      Tessin |
++-------+-----------------------------+
+|CH-TG  |                     Thurgau |
++-------+-----------------------------+
+|CH-UR  |                         Uri |
++-------+-----------------------------+
+|CH-VD  |                       Waadt |
++-------+-----------------------------+
+|CH-VS  |                      Wallis |
++-------+-----------------------------+
+|CH-ZG  |                         Zug |
++-------+-----------------------------+
+|CH-ZH  |                      Zürich |
++-------+-----------------------------+
+
 * Uk
 
 +-------+------------------------------+
@@ -1869,6 +1994,7 @@ To add a new country in country map tools, we need to follow the following steps
         'Germany',
         'Italy',
         'Japan',
+        'Korea',
         'Morocco',
         'Netherlands',
         'Russia',
diff --git a/_static/img/docs/apache_feather.png b/_static/img/docs/apache_feather.png
new file mode 100644
index 0000000..744b8d7
Binary files /dev/null and b/_static/img/docs/apache_feather.png differ
diff --git a/_static/img/docs/create_role.png b/_static/img/docs/create_role.png
new file mode 100644
index 0000000..0914a58
Binary files /dev/null and b/_static/img/docs/create_role.png differ
diff --git a/_static/img/docs/druid_agg.png b/_static/img/docs/druid_agg.png
new file mode 100644
index 0000000..2d14e1e
Binary files /dev/null and b/_static/img/docs/druid_agg.png differ
diff --git a/_static/img/docs/screenshots/bank_dash.png b/_static/img/docs/screenshots/bank_dash.png
new file mode 100644
index 0000000..c0544b0
Binary files /dev/null and b/_static/img/docs/screenshots/bank_dash.png differ
diff --git a/_static/img/docs/screenshots/deckgl_dash.png b/_static/img/docs/screenshots/deckgl_dash.png
new file mode 100644
index 0000000..6ba049c
Binary files /dev/null and b/_static/img/docs/screenshots/deckgl_dash.png differ
diff --git a/_static/img/docs/screenshots/explore.png b/_static/img/docs/screenshots/explore.png
new file mode 100644
index 0000000..c462a6b
Binary files /dev/null and b/_static/img/docs/screenshots/explore.png differ
diff --git a/_static/img/docs/screenshots/sqllab.png b/_static/img/docs/screenshots/sqllab.png
new file mode 100644
index 0000000..6d35a9b
Binary files /dev/null and b/_static/img/docs/screenshots/sqllab.png differ
diff --git a/_static/img/docs/screenshots/visualizations.png b/_static/img/docs/screenshots/visualizations.png
new file mode 100644
index 0000000..995ca9c
Binary files /dev/null and b/_static/img/docs/screenshots/visualizations.png differ
diff --git a/_static/img/docs/tutorial/add_db.png b/_static/img/docs/tutorial/add_db.png
new file mode 100644
index 0000000..7282343
Binary files /dev/null and b/_static/img/docs/tutorial/add_db.png differ
diff --git a/_static/img/docs/tutorial/tutorial_01_sources_database.png b/_static/img/docs/tutorial/tutorial_01_sources_database.png
new file mode 100644
index 0000000..ad92723
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_01_sources_database.png differ
diff --git a/_static/img/docs/tutorial/tutorial_02_add_database.png b/_static/img/docs/tutorial/tutorial_02_add_database.png
new file mode 100644
index 0000000..7eb671a
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_02_add_database.png differ
diff --git a/_static/img/docs/tutorial/tutorial_03_database_name.png b/_static/img/docs/tutorial/tutorial_03_database_name.png
new file mode 100644
index 0000000..68f15cd
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_03_database_name.png differ
diff --git a/_static/img/docs/tutorial/tutorial_04_sqlalchemy_connection_string.png b/_static/img/docs/tutorial/tutorial_04_sqlalchemy_connection_string.png
new file mode 100644
index 0000000..b7d0c43
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_04_sqlalchemy_connection_string.png differ
diff --git a/_static/img/docs/tutorial/tutorial_05_connection_popup.png b/_static/img/docs/tutorial/tutorial_05_connection_popup.png
new file mode 100644
index 0000000..d5c49af
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_05_connection_popup.png differ
diff --git a/_static/img/docs/tutorial/tutorial_06_list_of_tables.png b/_static/img/docs/tutorial/tutorial_06_list_of_tables.png
new file mode 100644
index 0000000..849f4cc
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_06_list_of_tables.png differ
diff --git a/_static/img/docs/tutorial/tutorial_07_save_button.png b/_static/img/docs/tutorial/tutorial_07_save_button.png
new file mode 100644
index 0000000..976c619
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_07_save_button.png differ
diff --git a/_static/img/docs/tutorial/tutorial_08_sources_tables.png b/_static/img/docs/tutorial/tutorial_08_sources_tables.png
new file mode 100644
index 0000000..08eb79f
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_08_sources_tables.png differ
diff --git a/_static/img/docs/tutorial/tutorial_09_add_new_table.png b/_static/img/docs/tutorial/tutorial_09_add_new_table.png
new file mode 100644
index 0000000..fca2b51
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_09_add_new_table.png differ
diff --git a/_static/img/docs/tutorial/tutorial_10_table_name.png b/_static/img/docs/tutorial/tutorial_10_table_name.png
new file mode 100644
index 0000000..97838a3
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_10_table_name.png differ
diff --git a/_static/img/docs/tutorial/tutorial_11_choose_db.png b/_static/img/docs/tutorial/tutorial_11_choose_db.png
new file mode 100644
index 0000000..c7fec3d
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_11_choose_db.png differ
diff --git a/_static/img/docs/tutorial/tutorial_12_table_creation_success_msg.png b/_static/img/docs/tutorial/tutorial_12_table_creation_success_msg.png
new file mode 100644
index 0000000..085c211
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_12_table_creation_success_msg.png differ
diff --git a/_static/img/docs/tutorial/tutorial_13_edit_table_config.png b/_static/img/docs/tutorial/tutorial_13_edit_table_config.png
new file mode 100644
index 0000000..54b0062
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_13_edit_table_config.png differ
diff --git a/_static/img/docs/tutorial/tutorial_14_field_config.png b/_static/img/docs/tutorial/tutorial_14_field_config.png
new file mode 100644
index 0000000..245e436
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_14_field_config.png differ
diff --git a/_static/img/docs/tutorial/tutorial_15_click_table_name.png b/_static/img/docs/tutorial/tutorial_15_click_table_name.png
new file mode 100644
index 0000000..d6fc628
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_15_click_table_name.png differ
diff --git a/_static/img/docs/tutorial/tutorial_16_datasource_chart_type.png b/_static/img/docs/tutorial/tutorial_16_datasource_chart_type.png
new file mode 100644
index 0000000..0dae19a
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_16_datasource_chart_type.png differ
diff --git a/_static/img/docs/tutorial/tutorial_17_choose_time_range.png b/_static/img/docs/tutorial/tutorial_17_choose_time_range.png
new file mode 100644
index 0000000..f54b074
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_17_choose_time_range.png differ
diff --git a/_static/img/docs/tutorial/tutorial_18_choose_metric.png b/_static/img/docs/tutorial/tutorial_18_choose_metric.png
new file mode 100644
index 0000000..8cc62b9
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_18_choose_metric.png differ
diff --git a/_static/img/docs/tutorial/tutorial_19_click_query.png b/_static/img/docs/tutorial/tutorial_19_click_query.png
new file mode 100644
index 0000000..9ff8bba
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_19_click_query.png differ
diff --git a/_static/img/docs/tutorial/tutorial_20_count_star_result.png b/_static/img/docs/tutorial/tutorial_20_count_star_result.png
new file mode 100644
index 0000000..a50ca54
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_20_count_star_result.png differ
diff --git a/_static/img/docs/tutorial/tutorial_21_group_by.png b/_static/img/docs/tutorial/tutorial_21_group_by.png
new file mode 100644
index 0000000..b4ea5d5
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_21_group_by.png differ
diff --git a/_static/img/docs/tutorial/tutorial_22_group_by_result.png b/_static/img/docs/tutorial/tutorial_22_group_by_result.png
new file mode 100644
index 0000000..fb3205d
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_22_group_by_result.png differ
diff --git a/_static/img/docs/tutorial/tutorial_23_group_by_more_dimensions.png b/_static/img/docs/tutorial/tutorial_23_group_by_more_dimensions.png
new file mode 100644
index 0000000..a004703
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_23_group_by_more_dimensions.png differ
diff --git a/_static/img/docs/tutorial/tutorial_24_max_metric.png b/_static/img/docs/tutorial/tutorial_24_max_metric.png
new file mode 100644
index 0000000..b1ccc89
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_24_max_metric.png differ
diff --git a/_static/img/docs/tutorial/tutorial_25_max_temp_filter.png b/_static/img/docs/tutorial/tutorial_25_max_temp_filter.png
new file mode 100644
index 0000000..e57efb1
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_25_max_temp_filter.png differ
diff --git a/_static/img/docs/tutorial/tutorial_26_row_limit.png b/_static/img/docs/tutorial/tutorial_26_row_limit.png
new file mode 100644
index 0000000..3d01983
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_26_row_limit.png differ
diff --git a/_static/img/docs/tutorial/tutorial_27_top_10_max_temps.png b/_static/img/docs/tutorial/tutorial_27_top_10_max_temps.png
new file mode 100644
index 0000000..bc65243
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_27_top_10_max_temps.png differ
diff --git a/_static/img/docs/tutorial/tutorial_28_bar_chart.png b/_static/img/docs/tutorial/tutorial_28_bar_chart.png
new file mode 100644
index 0000000..936b008
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_28_bar_chart.png differ
diff --git a/_static/img/docs/tutorial/tutorial_29_bar_chart_series_metrics.png b/_static/img/docs/tutorial/tutorial_29_bar_chart_series_metrics.png
new file mode 100644
index 0000000..7c3758b
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_29_bar_chart_series_metrics.png differ
diff --git a/_static/img/docs/tutorial/tutorial_30_bar_chart_results.png b/_static/img/docs/tutorial/tutorial_30_bar_chart_results.png
new file mode 100644
index 0000000..77afceb
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_30_bar_chart_results.png differ
diff --git a/_static/img/docs/tutorial/tutorial_31_save_slice_to_dashboard.png b/_static/img/docs/tutorial/tutorial_31_save_slice_to_dashboard.png
new file mode 100644
index 0000000..6019c00
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_31_save_slice_to_dashboard.png differ
diff --git a/_static/img/docs/tutorial/tutorial_32_save_slice_confirmation.png b/_static/img/docs/tutorial/tutorial_32_save_slice_confirmation.png
new file mode 100644
index 0000000..027d3bb
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_32_save_slice_confirmation.png differ
diff --git a/_static/img/docs/tutorial/tutorial_33_dashboard.png b/_static/img/docs/tutorial/tutorial_33_dashboard.png
new file mode 100644
index 0000000..7f332a5
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_33_dashboard.png differ
diff --git a/_static/img/docs/tutorial/tutorial_34_weather_dashboard.png b/_static/img/docs/tutorial/tutorial_34_weather_dashboard.png
new file mode 100644
index 0000000..1dd6776
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_34_weather_dashboard.png differ
diff --git a/_static/img/docs/tutorial/tutorial_35_slice_on_dashboard.png b/_static/img/docs/tutorial/tutorial_35_slice_on_dashboard.png
new file mode 100644
index 0000000..dc7d7e4
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_35_slice_on_dashboard.png differ
diff --git a/_static/img/docs/tutorial/tutorial_36_adjust_dimensions.gif b/_static/img/docs/tutorial/tutorial_36_adjust_dimensions.gif
new file mode 100644
index 0000000..01347e1
Binary files /dev/null and b/_static/img/docs/tutorial/tutorial_36_adjust_dimensions.gif differ
diff --git a/_static/img/usertutorial/add_new_chart.png b/_static/img/usertutorial/add_new_chart.png
new file mode 100644
index 0000000..356a2ad
Binary files /dev/null and b/_static/img/usertutorial/add_new_chart.png differ
diff --git a/_static/img/usertutorial/advanced_analytics_base.png b/_static/img/usertutorial/advanced_analytics_base.png
new file mode 100644
index 0000000..c93bb28
Binary files /dev/null and b/_static/img/usertutorial/advanced_analytics_base.png differ
diff --git a/_static/img/usertutorial/annotation.png b/_static/img/usertutorial/annotation.png
new file mode 100644
index 0000000..8e0dda3
Binary files /dev/null and b/_static/img/usertutorial/annotation.png differ
diff --git a/_static/img/usertutorial/annotation_settings.png b/_static/img/usertutorial/annotation_settings.png
new file mode 100644
index 0000000..76e2230
Binary files /dev/null and b/_static/img/usertutorial/annotation_settings.png differ
diff --git a/_static/img/usertutorial/average_aggregate_for_cost.png b/_static/img/usertutorial/average_aggregate_for_cost.png
new file mode 100644
index 0000000..4a2ae09
Binary files /dev/null and b/_static/img/usertutorial/average_aggregate_for_cost.png differ
diff --git a/_static/img/usertutorial/blue_bar_insert_component.png b/_static/img/usertutorial/blue_bar_insert_component.png
new file mode 100644
index 0000000..d8f1b87
Binary files /dev/null and b/_static/img/usertutorial/blue_bar_insert_component.png differ
diff --git a/_static/img/usertutorial/chose_a_datasource.png b/_static/img/usertutorial/chose_a_datasource.png
new file mode 100644
index 0000000..885c551
Binary files /dev/null and b/_static/img/usertutorial/chose_a_datasource.png differ
diff --git a/_static/img/usertutorial/csv_to_database_configuration.png b/_static/img/usertutorial/csv_to_database_configuration.png
new file mode 100644
index 0000000..b2b6d39
Binary files /dev/null and b/_static/img/usertutorial/csv_to_database_configuration.png differ
diff --git a/_static/img/usertutorial/edit-record.png b/_static/img/usertutorial/edit-record.png
new file mode 100644
index 0000000..129efb1
Binary files /dev/null and b/_static/img/usertutorial/edit-record.png differ
diff --git a/_static/img/usertutorial/edit_annotation.png b/_static/img/usertutorial/edit_annotation.png
new file mode 100644
index 0000000..9ef34f8
Binary files /dev/null and b/_static/img/usertutorial/edit_annotation.png differ
diff --git a/_static/img/usertutorial/filter_on_origin_country.png b/_static/img/usertutorial/filter_on_origin_country.png
new file mode 100644
index 0000000..961d41a
Binary files /dev/null and b/_static/img/usertutorial/filter_on_origin_country.png differ
diff --git a/_static/img/usertutorial/markdown.png b/_static/img/usertutorial/markdown.png
new file mode 100644
index 0000000..f0345ae
Binary files /dev/null and b/_static/img/usertutorial/markdown.png differ
diff --git a/_static/img/usertutorial/no_filter_on_time_filter.png b/_static/img/usertutorial/no_filter_on_time_filter.png
new file mode 100644
index 0000000..ea564d6
Binary files /dev/null and b/_static/img/usertutorial/no_filter_on_time_filter.png differ
diff --git a/_static/img/usertutorial/parse_dates_column.png b/_static/img/usertutorial/parse_dates_column.png
new file mode 100644
index 0000000..69982f4
Binary files /dev/null and b/_static/img/usertutorial/parse_dates_column.png differ
diff --git a/_static/img/usertutorial/publish_dashboard.png b/_static/img/usertutorial/publish_dashboard.png
new file mode 100644
index 0000000..74fcb28
Binary files /dev/null and b/_static/img/usertutorial/publish_dashboard.png differ
diff --git a/_static/img/usertutorial/resample.png b/_static/img/usertutorial/resample.png
new file mode 100644
index 0000000..04f78a0
Binary files /dev/null and b/_static/img/usertutorial/resample.png differ
diff --git a/_static/img/usertutorial/resize_tutorial_table_on_dashboard.png b/_static/img/usertutorial/resize_tutorial_table_on_dashboard.png
new file mode 100644
index 0000000..c547521
Binary files /dev/null and b/_static/img/usertutorial/resize_tutorial_table_on_dashboard.png differ
diff --git a/_static/img/usertutorial/rolling_mean.png b/_static/img/usertutorial/rolling_mean.png
new file mode 100644
index 0000000..505fe44
Binary files /dev/null and b/_static/img/usertutorial/rolling_mean.png differ
diff --git a/_static/img/usertutorial/save_tutorial_table.png b/_static/img/usertutorial/save_tutorial_table.png
new file mode 100644
index 0000000..8f5ee21
Binary files /dev/null and b/_static/img/usertutorial/save_tutorial_table.png differ
diff --git a/_static/img/usertutorial/select_dates_pivot_table.png b/_static/img/usertutorial/select_dates_pivot_table.png
new file mode 100644
index 0000000..f206476
Binary files /dev/null and b/_static/img/usertutorial/select_dates_pivot_table.png differ
diff --git a/_static/img/usertutorial/select_table_visualization_type.png b/_static/img/usertutorial/select_table_visualization_type.png
new file mode 100644
index 0000000..ab238fd
Binary files /dev/null and b/_static/img/usertutorial/select_table_visualization_type.png differ
diff --git a/_static/img/usertutorial/sum_cost_column.png b/_static/img/usertutorial/sum_cost_column.png
new file mode 100644
index 0000000..5dbd7c4
Binary files /dev/null and b/_static/img/usertutorial/sum_cost_column.png differ
diff --git a/_static/img/usertutorial/time_comparison_absolute_difference.png b/_static/img/usertutorial/time_comparison_absolute_difference.png
new file mode 100644
index 0000000..691d0c8
Binary files /dev/null and b/_static/img/usertutorial/time_comparison_absolute_difference.png differ
diff --git a/_static/img/usertutorial/time_comparison_two_series.png b/_static/img/usertutorial/time_comparison_two_series.png
new file mode 100644
index 0000000..282b3dd
Binary files /dev/null and b/_static/img/usertutorial/time_comparison_two_series.png differ
diff --git a/_static/img/usertutorial/tutorial_line_chart.png b/_static/img/usertutorial/tutorial_line_chart.png
new file mode 100644
index 0000000..5cf5235
Binary files /dev/null and b/_static/img/usertutorial/tutorial_line_chart.png differ
diff --git a/_static/img/usertutorial/tutorial_pivot_table.png b/_static/img/usertutorial/tutorial_pivot_table.png
new file mode 100644
index 0000000..50253a0
Binary files /dev/null and b/_static/img/usertutorial/tutorial_pivot_table.png differ
diff --git a/_static/img/usertutorial/tutorial_table.png b/_static/img/usertutorial/tutorial_table.png
new file mode 100644
index 0000000..a94fdaf
Binary files /dev/null and b/_static/img/usertutorial/tutorial_table.png differ
diff --git a/_static/img/usertutorial/upload_a_csv.png b/_static/img/usertutorial/upload_a_csv.png
new file mode 100644
index 0000000..91f0e55
Binary files /dev/null and b/_static/img/usertutorial/upload_a_csv.png differ
diff --git a/admintutorial.html b/admintutorial.html
index 40e5436..b342a0a 100644
--- a/admintutorial.html
+++ b/admintutorial.html
@@ -391,6 +391,7 @@ please start exploring and creating slices and dashboards of your own.</p>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/druid.html b/druid.html
index 09827b0..6e534cd 100644
--- a/druid.html
+++ b/druid.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -221,6 +221,7 @@ some input.</p>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/faq.html b/faq.html
index 761f6e7..ada5b7e 100644
--- a/faq.html
+++ b/faq.html
@@ -81,7 +81,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -431,6 +431,7 @@ and should be able to things that are typical in basic SQL:</p>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/gallery.html b/gallery.html
index 55ebdfc..b47d4bc 100644
--- a/gallery.html
+++ b/gallery.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Visualizations Gallery</a></li>
@@ -222,6 +222,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/genindex.html b/genindex.html
index bf9efde..f7272c2 100644
--- a/genindex.html
+++ b/genindex.html
@@ -81,7 +81,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -236,6 +236,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/import_export_datasources.html b/import_export_datasources.html
index cb000f7..d467ef4 100644
--- a/import_export_datasources.html
+++ b/import_export_datasources.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -286,6 +286,7 @@ by saving the following YAML to file and then running the <code class="docutils
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/index.html b/index.html
index 65b630d..0f07dca 100644
--- a/index.html
+++ b/index.html
@@ -81,7 +81,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -223,7 +223,7 @@ to the user</p></li>
 </div>
 <div class="section" id="databases">
 <h3>Databases<a class="headerlink" href="#databases" title="Permalink to this headline">¶</a></h3>
-<p>The following RDBMS are currently suppored:</p>
+<p>The following RDBMS are currently supported:</p>
 <ul class="simple">
 <li><p><a class="reference external" href="https://aws.amazon.com/athena/">Amazon Athena</a></p></li>
 <li><p><a class="reference external" href="https://aws.amazon.com/redshift/">Amazon Redshift</a></p></li>
@@ -236,6 +236,7 @@ to the user</p></li>
 <li><p><a class="reference external" href="https://spark.apache.org/sql/">Apache Spark SQL</a></p></li>
 <li><p><a class="reference external" href="https://cloud.google.com/bigquery/">BigQuery</a></p></li>
 <li><p><a class="reference external" href="https://clickhouse.yandex/">ClickHouse</a></p></li>
+<li><p><a class="reference external" href="https://www.elastic.co/products/elasticsearch/">Elasticsearch</a></p></li>
 <li><p><a class="reference external" href="https://www.exasol.com/">Exasol</a></p></li>
 <li><p><a class="reference external" href="https://www.google.com/sheets/about/">Google Sheets</a></p></li>
 <li><p><a class="reference external" href="https://greenplum.org/">Greenplum</a></p></li>
@@ -249,6 +250,7 @@ to the user</p></li>
 <li><p><a class="reference external" href="https://www.microsoft.com/en-us/sql-server/">SQL Server</a></p></li>
 <li><p><a class="reference external" href="https://www.teradata.com/">Teradata</a></p></li>
 <li><p><a class="reference external" href="https://www.vertica.com/">Vertica</a></p></li>
+<li><p><a class="reference external" href="https://www.sap.com/products/hana.html">Hana</a></p></li>
 </ul>
 <p>Other database engines with a proper DB-API driver and SQLAlchemy dialect should
 be supported as well.</p>
@@ -281,8 +283,10 @@ be supported as well.</p>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#configuration-behind-a-load-balancer">Configuration behind a load balancer</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#configuration">Configuration</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#database-dependencies">Database dependencies</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#hana">Hana</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#aws-athena">(AWS) Athena</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#google-bigquery">(Google) BigQuery</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#elasticsearch">Elasticsearch</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#snowflake">Snowflake</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#teradata">Teradata</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#apache-drill">Apache Drill</a></li>
@@ -295,8 +299,8 @@ be supported as well.</p>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#presto">Presto</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#exasol">Exasol</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#cors">CORS</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation.html#domain-sharding">DOMAIN SHARDING</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation.html#middleware">MIDDLEWARE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#domain-sharding">Domain Sharding</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#middleware">Middleware</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#event-logging">Event Logging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#upgrading">Upgrading</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#celery-tasks">Celery Tasks</a></li>
@@ -309,13 +313,12 @@ be supported as well.</p>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#install-superset-with-helm-in-kubernetes">Install Superset with helm in Kubernetes</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#custom-oauth2-configuration">Custom OAuth2 configuration</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#feature-flags">Feature Flags</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#sip-15">SIP-15</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="tutorial.html#connecting-to-a-new-database">Connecting to a new database</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tutorial.html#adding-a-new-table">Adding a new table</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tutorial.html#exploring-your-data">Exploring your data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tutorial.html#creating-a-slice-and-dashboard">Creating a slice and dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="admintutorial.html">Creating your first dashboard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="usertutorial.html">Exploring data with Apache Superset</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a><ul>
@@ -395,6 +398,7 @@ be supported as well.</p>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/installation.html b/installation.html
index 77803b7..bb6dfc6 100644
--- a/installation.html
+++ b/installation.html
@@ -35,7 +35,7 @@
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
-    <link rel="next" title="Tutorial - Creating your first dashboard" href="tutorial.html" />
+    <link rel="next" title="Tutorials" href="tutorials.html" />
     <link rel="prev" title="Apache Superset (incubating)" href="index.html" /> 
 </head>
 
@@ -94,8 +94,10 @@
 <li class="toctree-l2"><a class="reference internal" href="#configuration-behind-a-load-balancer">Configuration behind a load balancer</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#configuration">Configuration</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#database-dependencies">Database dependencies</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#hana">Hana</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#aws-athena">(AWS) Athena</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#google-bigquery">(Google) BigQuery</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#elasticsearch">Elasticsearch</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#snowflake">Snowflake</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#teradata">Teradata</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#apache-drill">Apache Drill</a></li>
@@ -108,8 +110,8 @@
 <li class="toctree-l2"><a class="reference internal" href="#presto">Presto</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#exasol">Exasol</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#cors">CORS</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#domain-sharding">DOMAIN SHARDING</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#middleware">MIDDLEWARE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#domain-sharding">Domain Sharding</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#middleware">Middleware</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#event-logging">Event Logging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#upgrading">Upgrading</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#celery-tasks">Celery Tasks</a></li>
@@ -122,9 +124,10 @@
 <li class="toctree-l2"><a class="reference internal" href="#install-superset-with-helm-in-kubernetes">Install Superset with helm in Kubernetes</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#custom-oauth2-configuration">Custom OAuth2 configuration</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#feature-flags">Feature Flags</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#sip-15">SIP-15</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -230,18 +233,14 @@ as needed.</p>
 <h2>Start with Docker<a class="headerlink" href="#start-with-docker" title="Permalink to this headline">¶</a></h2>
 <div class="admonition note">
 <p class="admonition-title">Note</p>
-<p>The Docker-related files and documentation has been
-community-contributed and
-is not actively maintained and managed by the core committers working on
-the project. Some issues have been reported as of 2019-01.
-Help and contributions around Docker are welcomed!</p>
+<p>The Docker-related files and documentation are actively maintained and
+managed by the core committers working on the project. Help and contributions
+around Docker are welcomed!</p>
 </div>
 <p>If you know docker, then you’re lucky, we have shortcut road for you to
 initialize development environment:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">apache</span><span class="o">/</span><span class="n">incubator</span><span class="o">-</span><span class="n">superset</span><span class="o">/</span>
-<span class="n">cd</span> <span class="n">incubator</span><span class="o">-</span><span class="n">superset</span><span class="o">/</span><span class="n">contrib</span><span class="o">/</span><span class="n">docker</span>
-<span class="c1"># prefix with SUPERSET_LOAD_EXAMPLES=yes to load examples:</span>
-<span class="n">docker</span><span class="o">-</span><span class="n">compose</span> <span class="n">run</span> <span class="o">--</span><span class="n">rm</span> <span class="n">superset</span> <span class="o">./</span><span class="n">docker</span><span class="o">-</span><span class="n">init</span><span class="o">.</span><span class="n">sh</span>
+<span class="n">cd</span> <span class="n">incubator</span><span class="o">-</span><span class="n">superset</span>
 <span class="c1"># you can run this command everytime you need to start superset now:</span>
 <span class="n">docker</span><span class="o">-</span><span class="n">compose</span> <span class="n">up</span>
 </pre></div>
@@ -253,12 +252,11 @@ and javascript source code.
 Don’t forget to reload the page to take the new frontend into account though.</p>
 <p>See also <a class="reference external" href="https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#building">CONTRIBUTING.md#building</a>,
 for alternative way of serving the frontend.</p>
-<p>It is also possible to run Superset in non-development mode: in the <cite>docker-compose.yml</cite> file remove
-the volumes needed for development and change the variable <cite>SUPERSET_ENV</cite> to <cite>production</cite>.</p>
+<p>It is currently not recommended to run docker-compose in production.</p>
 <p>If you are attempting to build on a Mac and it exits with 137 you need to increase your docker resources.
 OSX instructions: <a class="reference external" href="https://docs.docker.com/docker-for-mac/#advanced">https://docs.docker.com/docker-for-mac/#advanced</a> (Search for memory)</p>
 <p>Or if you’re curious and want to install superset from bottom up, then go ahead.</p>
-<p>See also <a class="reference external" href="https://github.com/apache/incubator-superset/blob/master/contrib/docker/README.md">contrib/docker/README.md</a></p>
+<p>See also <a class="reference external" href="https://github.com/apache/incubator-superset/blob/master/docker/README.md">docker/README.md</a></p>
 </div>
 <div class="section" id="os-dependencies">
 <h2>OS dependencies<a class="headerlink" href="#os-dependencies" title="Permalink to this headline">¶</a></h2>
@@ -282,7 +280,7 @@ the required dependencies are installed:</p>
 <p>For <strong>Fedora</strong> and <strong>RHEL-derivatives</strong>, the following command will ensure
 that the required dependencies are installed:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">yum</span> <span class="n">upgrade</span> <span class="n">python</span><span class="o">-</span><span class="n">setuptools</span>
-<span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">gcc</span> <span class="n">gcc</span><span class="o">-</span><span class="n">c</span><span class="o">++</span> <span class="n">libffi</span><span class="o">-</span><span class="n">devel</span> <span class="n">python</span><span class="o">-</span><span class="n">devel</span> <span class="n">python</span><span class="o">-</span><span class="n">pip</span> <span class="n">python</span><span  [...]
+<span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">gcc</span> <span class="n">gcc</span><span class="o">-</span><span class="n">c</span><span class="o">++</span> <span class="n">libffi</span><span class="o">-</span><span class="n">devel</span> <span class="n">python</span><span class="o">-</span><span class="n">devel</span> <span class="n">python</span><span class="o">-</span><span class="n">pip</span> <span class="n">python</span><span  [...]
 </pre></div>
 </div>
 <p><strong>Mac OS X</strong> If possible, you should upgrade to the latest version of OS X as issues are more likely to be resolved for that version.
@@ -320,7 +318,7 @@ via the package for your operating systems, otherwise you can install from pip:<
 <span class="o">.</span> <span class="n">venv</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">activate</span>
 </pre></div>
 </div>
-<p>On windows the syntax for activating it is a bit different:</p>
+<p>On Windows the syntax for activating it is a bit different:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">venv</span>\<span class="n">Scripts</span>\<span class="n">activate</span>
 </pre></div>
 </div>
@@ -382,7 +380,7 @@ setup known to work well in production:</p>
       <span class="o">--</span><span class="n">limit</span><span class="o">-</span><span class="n">request</span><span class="o">-</span><span class="n">line</span> <span class="mi">0</span> \
       <span class="o">--</span><span class="n">limit</span><span class="o">-</span><span class="n">request</span><span class="o">-</span><span class="n">field_size</span> <span class="mi">0</span> \
       <span class="o">--</span><span class="n">statsd</span><span class="o">-</span><span class="n">host</span> <span class="n">localhost</span><span class="p">:</span><span class="mi">8125</span> \
-      <span class="n">superset</span><span class="p">:</span><span class="n">app</span>
+      <span class="s2">&quot;superset.app:create_app()&quot;</span>
 </pre></div>
 </div>
 <p>Refer to the
@@ -559,55 +557,64 @@ For JDBC
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">sqlalchemy-clickhouse</span></code></p></td>
 <td></td>
 </tr>
-<tr class="row-even"><td><p>Exasol</p></td>
+<tr class="row-even"><td><p>Elasticsearch</p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">elasticsearch-dbapi</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">elasticsearch+http://</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p>Exasol</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">sqlalchemy-exasol</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">exa+pyodbc://</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p>Google Sheets</p></td>
+<tr class="row-even"><td><p>Google Sheets</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">gsheetsdb</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">gsheets://</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p>IBM Db2</p></td>
+<tr class="row-odd"><td><p>IBM Db2</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">ibm_db_sa</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">db2+ibm_db://</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p>MySQL</p></td>
+<tr class="row-even"><td><p>MySQL</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">mysqlclient</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">mysql://</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p>Oracle</p></td>
+<tr class="row-odd"><td><p>Oracle</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">cx_Oracle</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">oracle://</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p>PostgreSQL</p></td>
+<tr class="row-even"><td><p>PostgreSQL</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">psycopg2</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">postgresql+psycopg2://</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p>Presto</p></td>
+<tr class="row-odd"><td><p>Presto</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">pyhive</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">presto://</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p>Snowflake</p></td>
+<tr class="row-even"><td><p>Snowflake</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">snowflake-sqlalchemy</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">snowflake://</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p>SQLite</p></td>
+<tr class="row-odd"><td><p>SQLite</p></td>
 <td></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">sqlite://</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p>SQL Server</p></td>
+<tr class="row-even"><td><p>SQL Server</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">pymssql</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">mssql://</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p>Teradata</p></td>
+<tr class="row-odd"><td><p>Teradata</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">sqlalchemy-teradata</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">teradata://</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p>Vertica</p></td>
+<tr class="row-even"><td><p>Vertica</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span>
 <span class="pre">sqlalchemy-vertica-python</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">vertica+vertica_python://</span></code></p></td>
 </tr>
+<tr class="row-odd"><td><p>Hana</p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">hdbcli</span> <span class="pre">sqlalchemy-hana</span></code>
+or <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">superset[hana]</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">hana://</span></code></p></td>
+</tr>
 </tbody>
 </table>
 <p>Note that many other databases are supported, the main criteria being the
@@ -615,6 +622,13 @@ existence of a functional SqlAlchemy dialect and Python driver. Googling
 the keyword <code class="docutils literal notranslate"><span class="pre">sqlalchemy</span></code> in addition of a keyword that describes the
 database you want to connect to should get you to the right place.</p>
 </div>
+<div class="section" id="hana">
+<h2>Hana<a class="headerlink" href="#hana" title="Permalink to this headline">¶</a></h2>
+<p>The connection string for Hana looks like this</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">hana</span><span class="p">:</span><span class="o">//</span><span class="p">{</span><span class="n">username</span><span class="p">}:{</span><span class="n">password</span><span class="p">}</span><span class="o">@</span><span class="p">{</span><span class="n">host</span><span class="p">}:{</span><span class="n">port</span><span class="p">}</span>
+</pre></div>
+</div>
+</div>
 <div class="section" id="aws-athena">
 <h2>(AWS) Athena<a class="headerlink" href="#aws-athena" title="Permalink to this headline">¶</a></h2>
 <p>The connection string for Athena looks like this</p>
@@ -637,8 +651,68 @@ database you want to connect to should get you to the right place.</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bigquery</span><span class="p">:</span><span class="o">//</span><span class="p">{</span><span class="n">project_id</span><span class="p">}</span>
 </pre></div>
 </div>
+<p>Additionally, you will need to configure authentication via a
+Service Account. Create your Service Account via the Google
+Cloud Platform control panel, provide it access to the appropriate
+BigQuery datasets, and download the JSON configuration file
+for the service account. In Superset, Add a JSON blob to
+the “Secure Extra” field in the database configuration page
+with the following format</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+    <span class="s2">&quot;credentials_info&quot;</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">contents</span> <span class="n">of</span> <span class="n">credentials</span> <span class="n">JSON</span> <span class="n">file</span><span class="o">&gt;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The resulting file should have this structure</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+    <span class="s2">&quot;credentials_info&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;service_account&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;project_id&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;private_key_id&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;private_key&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;client_email&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;client_id&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;auth_uri&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;token_uri&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;auth_provider_x509_cert_url&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;client_x509_cert_url&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>You should then be able to connect to your BigQuery datasets.</p>
 <p>To be able to upload data, e.g. sample data, the python library <cite>pandas_gbq</cite> is required.</p>
 </div>
+<div class="section" id="elasticsearch">
+<h2>Elasticsearch<a class="headerlink" href="#elasticsearch" title="Permalink to this headline">¶</a></h2>
+<p>The connection string for Elasticsearch looks like this</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">elasticsearch</span><span class="o">+</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="p">{</span><span class="n">user</span><span class="p">}:{</span><span class="n">password</span><span class="p">}</span><span class="o">@</span><span class="p">{</span><span class="n">host</span><span class="p">}:</span><span class="mi">9200</span><span class= [...]
+</pre></div>
+</div>
+<p>Using HTTPS</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">elasticsearch</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="p">{</span><span class="n">user</span><span class="p">}:{</span><span class="n">password</span><span class="p">}</span><span class="o">@</span><span class="p">{</span><span class="n">host</span><span class="p">}:</span><span class="mi">9200</span><span class [...]
+</pre></div>
+</div>
+<p>Elasticsearch as a default limit of 10000 rows, so you can increase this limit on your cluster
+or set Superset’s row limit on config</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">ROW_LIMIT</span> <span class="o">=</span> <span class="mi">10000</span>
+</pre></div>
+</div>
+<p>You can query multiple indices on SQLLab for example</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">select</span> <span class="n">timestamp</span><span class="p">,</span> <span class="n">agent</span> <span class="kn">from</span> <span class="s2">&quot;logstash-*&quot;</span>
+</pre></div>
+</div>
+<p>But, to use visualizations for multiple indices you need to create an alias index on your cluster</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">POST</span> <span class="o">/</span><span class="n">_aliases</span>
+<span class="p">{</span>
+    <span class="s2">&quot;actions&quot;</span> <span class="p">:</span> <span class="p">[</span>
+        <span class="p">{</span> <span class="s2">&quot;add&quot;</span> <span class="p">:</span> <span class="p">{</span> <span class="s2">&quot;index&quot;</span> <span class="p">:</span> <span class="s2">&quot;logstash-**&quot;</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span> <span class="p">:</span> <span class="s2">&quot;logstash_all&quot;</span> <span class="p">}</span> <span class="p">}</span>
+    <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Then register your table with the <code class="docutils literal notranslate"><span class="pre">alias</span></code> name <code class="docutils literal notranslate"><span class="pre">logstasg_all</span></code></p>
+</div>
 <div class="section" id="snowflake">
 <h2>Snowflake<a class="headerlink" href="#snowflake" title="Permalink to this headline">¶</a></h2>
 <p>The connection string for Snowflake looks like this</p>
@@ -874,7 +948,7 @@ EXASCHEMA = main
 </ul>
 </div>
 <div class="section" id="domain-sharding">
-<h2>DOMAIN SHARDING<a class="headerlink" href="#domain-sharding" title="Permalink to this headline">¶</a></h2>
+<h2>Domain Sharding<a class="headerlink" href="#domain-sharding" title="Permalink to this headline">¶</a></h2>
 <p>Chrome allows up to 6 open connections per domain at a time. When there are more
 than 6 slices in dashboard, a lot of time fetch requests are queued up and wait for
 next available socket. <a class="reference external" href="https://github.com/apache/incubator-superset/pull/5039">PR 5039</a> adds domain sharding to Superset,
@@ -885,16 +959,16 @@ doesn’t allow cross-domain request).</p>
 </ul>
 </div>
 <div class="section" id="middleware">
-<h2>MIDDLEWARE<a class="headerlink" href="#middleware" title="Permalink to this headline">¶</a></h2>
+<h2>Middleware<a class="headerlink" href="#middleware" title="Permalink to this headline">¶</a></h2>
 <p>Superset allows you to add your own middleware. To add your own middleware, update the <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_MIDDLEWARE</span></code> key in
 your <cite>superset_config.py</cite>. <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_MIDDLEWARE</span></code> should be a list of your additional middleware classes.</p>
 <p>For example, to use AUTH_REMOTE_USER from behind a proxy server like nginx, you have to add a simple middleware class to
 add the value of <code class="docutils literal notranslate"><span class="pre">HTTP_X_PROXY_REMOTE_USER</span></code> (or any other custom header from the proxy) to Gunicorn’s <code class="docutils literal notranslate"><span class="pre">REMOTE_USER</span></code>
 environment variable:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">RemoteUserMiddleware</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">app</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">app</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">app</span> <span class="o">=</span> <span class="n">app</span>
-    <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">environ</span><span class="p">,</span> <span class="n">start_response</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">environ</span><span class="p">,</span> <span class="n">start_response</span><span class="p">):</span>
         <span class="n">user</span> <span class="o">=</span> <span class="n">environ</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;HTTP_X_PROXY_REMOTE_USER&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
         <span class="n">environ</span><span class="p">[</span><span class="s1">&#39;REMOTE_USER&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">user</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">app</span><span class="p">(</span><span class="n">environ</span><span class="p">,</span> <span class="n">start_response</span><span class="p">)</span>
@@ -984,7 +1058,7 @@ have the same configuration.</p>
     <span class="n">CELERY_RESULT_BACKEND</span> <span class="o">=</span> <span class="s1">&#39;redis://localhost:6379/0&#39;</span>
     <span class="n">CELERYD_LOG_LEVEL</span> <span class="o">=</span> <span class="s1">&#39;DEBUG&#39;</span>
     <span class="n">CELERYD_PREFETCH_MULTIPLIER</span> <span class="o">=</span> <span class="mi">10</span>
-    <span class="n">CELERY_ACKS_LATE</span> <span class="o">=</span> <span class="kc">True</span>
+    <span class="n">CELERY_ACKS_LATE</span> <span class="o">=</span> <span class="bp">True</span>
     <span class="n">CELERY_ANNOTATIONS</span> <span class="o">=</span> <span class="p">{</span>
         <span class="s1">&#39;sql_lab.get_sql_results&#39;</span><span class="p">:</span> <span class="p">{</span>
             <span class="s1">&#39;rate_limit&#39;</span><span class="p">:</span> <span class="s1">&#39;100/s&#39;</span><span class="p">,</span>
@@ -993,7 +1067,7 @@ have the same configuration.</p>
             <span class="s1">&#39;rate_limit&#39;</span><span class="p">:</span> <span class="s1">&#39;1/s&#39;</span><span class="p">,</span>
             <span class="s1">&#39;time_limit&#39;</span><span class="p">:</span> <span class="mi">120</span><span class="p">,</span>
             <span class="s1">&#39;soft_time_limit&#39;</span><span class="p">:</span> <span class="mi">150</span><span class="p">,</span>
-            <span class="s1">&#39;ignore_result&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+            <span class="s1">&#39;ignore_result&#39;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
         <span class="p">},</span>
     <span class="p">}</span>
     <span class="n">CELERYBEAT_SCHEDULE</span> <span class="o">=</span> <span class="p">{</span>
@@ -1008,7 +1082,7 @@ have the same configuration.</p>
 </div>
 <ul>
 <li><p>To start a Celery worker to leverage the configuration run:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">celery</span> <span class="n">worker</span> <span class="o">--</span><span class="n">app</span><span class="o">=</span><span class="n">superset</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">celery_app</span><span class="p">:</span><span class="n">app</span> <span class="o">--</span><span class="n">pool</span><span class="o">=</span><span  [...]
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">celery</span> <span class="n">worker</span> <span class="o">--</span><span class="n">app</span><span class="o">=</span><span class="n">superset</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">celery_app</span><span class="p">:</span><span class="n">app</span> <span class="o">--</span><span class="n">pool</span><span class="o">=</span><span  [...]
 </pre></div>
 </div>
 </li>
@@ -1053,34 +1127,61 @@ typically lives on the local file system.</p></li>
 entire setup. If not, background jobs can get scheduled multiple times
 resulting in weird behaviors like duplicate delivery of reports,
 higher than expected load / traffic etc.</p></li>
+<li><p>SQL Lab will only run your queries asynchronously if you enable
+“Asynchronous Query Execution” in your database settings.</p></li>
 </ul>
 </div>
 <div class="section" id="email-reports">
 <h2>Email Reports<a class="headerlink" href="#email-reports" title="Permalink to this headline">¶</a></h2>
 <p>Email reports allow users to schedule email reports for</p>
 <ul class="simple">
-<li><p>slice and dashboard visualization (Attachment or inline)</p></li>
-<li><p>slice data (CSV attachment on inline table)</p></li>
+<li><p>chart and dashboard visualization (Attachment or inline)</p></li>
+<li><p>chart data (CSV attachment on inline table)</p></li>
+</ul>
+<p><strong>Setup</strong></p>
+<p>Make sure you enable email reports in your configuration file</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">ENABLE_SCHEDULED_EMAIL_REPORTS</span> <span class="o">=</span> <span class="bp">True</span>
+</pre></div>
+</div>
+<p>Now you will find two new items in the navigation bar that allow you to schedule email
+reports</p>
+<ul class="simple">
+<li><p>Manage -&gt; Dashboard Emails</p></li>
+<li><p>Manage -&gt; Chart Email Schedules</p></li>
 </ul>
 <p>Schedules are defined in crontab format and each schedule
 can have a list of recipients (all of them can receive a single mail,
 or separate mails). For audit purposes, all outgoing mails can have a
 mandatory bcc.</p>
-<p><strong>Requirements</strong></p>
-<ul>
-<li><p>A selenium compatible driver &amp; headless browser</p>
-<ul class="simple">
+<p>In order get picked up you need to configure a celery worker and a celery beat
+(see section above “Celery Tasks”). Your celery configuration also
+needs an entry <code class="docutils literal notranslate"><span class="pre">email_reports.schedule_hourly</span></code> for <code class="docutils literal notranslate"><span class="pre">CELERYBEAT_SCHEDULE</span></code>.</p>
+<p>To send emails you need to configure SMTP settings in your configuration file. e.g.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">EMAIL_NOTIFICATIONS</span> <span class="o">=</span> <span class="bp">True</span>
+
+<span class="n">SMTP_HOST</span> <span class="o">=</span> <span class="s2">&quot;email-smtp.eu-west-1.amazonaws.com&quot;</span>
+<span class="n">SMTP_STARTTLS</span> <span class="o">=</span> <span class="bp">True</span>
+<span class="n">SMTP_SSL</span> <span class="o">=</span> <span class="bp">False</span>
+<span class="n">SMTP_USER</span> <span class="o">=</span> <span class="s2">&quot;smtp_username&quot;</span>
+<span class="n">SMTP_PORT</span> <span class="o">=</span> <span class="mi">25</span>
+<span class="n">SMTP_PASSWORD</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;SMTP_PASSWORD&quot;</span><span class="p">)</span>
+<span class="n">SMTP_MAIL_FROM</span> <span class="o">=</span> <span class="s2">&quot;insights@komoot.com&quot;</span>
+</pre></div>
+</div>
+<p>To render dashboards you need to install a local browser on your superset instance</p>
+<blockquote>
+<div><ul class="simple">
 <li><p><a class="reference external" href="https://github.com/mozilla/geckodriver">geckodriver</a> and Firefox is preferred</p></li>
 <li><p><a class="reference external" href="http://chromedriver.chromium.org/">chromedriver</a> is a good option too</p></li>
 </ul>
-</li>
-<li><p>Run <cite>celery worker</cite> and <cite>celery beat</cite> as follows</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">celery</span> <span class="n">worker</span> <span class="o">--</span><span class="n">app</span><span class="o">=</span><span class="n">superset</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">celery_app</span><span class="p">:</span><span class="n">app</span> <span class="o">--</span><span class="n">pool</span><span class="o">=</span><span  [...]
-<span class="n">celery</span> <span class="n">beat</span> <span class="o">--</span><span class="n">app</span><span class="o">=</span><span class="n">superset</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">celery_app</span><span class="p">:</span><span class="n">app</span>
+</div></blockquote>
+<p>You need to adjust the <code class="docutils literal notranslate"><span class="pre">EMAIL_REPORTS_WEBDRIVER</span></code> accordingly in your configuration.</p>
+<p>You also need to specify on behalf of which username to render the dashboards. In general
+dashboards and charts are not accessible to unauthorized requests, that is why the
+worker needs to take over credentials of an existing user to take a snapshot.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">EMAIL_REPORTS_USER</span> <span class="o">=</span> <span class="s1">&#39;username_with_permission_to_access_dashboards&#39;</span>
 </pre></div>
 </div>
-</li>
-</ul>
 <p><strong>Important notes</strong></p>
 <ul>
 <li><p>Be mindful of the concurrency setting for celery (using <code class="docutils literal notranslate"><span class="pre">-c</span> <span class="pre">4</span></code>).
@@ -1093,6 +1194,9 @@ your celery processes with</p>
 </li>
 <li><p>It is recommended to run separate workers for <code class="docutils literal notranslate"><span class="pre">sql_lab</span></code> and
 <code class="docutils literal notranslate"><span class="pre">email_reports</span></code> tasks. Can be done by using <code class="docutils literal notranslate"><span class="pre">queue</span></code> field in <code class="docutils literal notranslate"><span class="pre">CELERY_ANNOTATIONS</span></code></p></li>
+<li><p>Adjust <code class="docutils literal notranslate"><span class="pre">WEBDRIVER_BASEURL</span></code> in your config if celery workers can’t access superset via its
+default value <code class="docutils literal notranslate"><span class="pre">http://0.0.0.0:8080/</span></code> (notice the port number 8080, many other setups use
+port 8088).</p></li>
 </ul>
 </div>
 <div class="section" id="sql-lab">
@@ -1206,7 +1310,7 @@ up by an external scheduled (like [Apache Airflow](<a class="reference external"
         <span class="c1"># that uses the query id and the output table as its name</span>
         <span class="s1">&#39;linkback&#39;</span><span class="p">:</span> <span class="p">(</span>
             <span class="s1">&#39;https://airflow.example.com/admin/airflow/tree?&#39;</span>
-            <span class="s1">&#39;dag_id=query_$</span><span class="si">{id}</span><span class="s1">_$</span><span class="si">{extra_json.schedule_info.output_table}</span><span class="s1">&#39;</span>
+            <span class="s1">&#39;dag_id=query_${id}_${extra_json.schedule_info.output_table}&#39;</span>
         <span class="p">),</span>
     <span class="p">},</span>
 <span class="p">}</span>
@@ -1252,8 +1356,8 @@ same server.</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Blueprint</span>
 <span class="n">simple_page</span> <span class="o">=</span> <span class="n">Blueprint</span><span class="p">(</span><span class="s1">&#39;simple_page&#39;</span><span class="p">,</span> <span class="vm">__name__</span><span class="p">,</span>
                                 <span class="n">template_folder</span><span class="o">=</span><span class="s1">&#39;templates&#39;</span><span class="p">)</span>
-<span class="nd">@simple_page</span><span class="o">.</span><span class="n">route</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="n">defaults</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;page&#39;</span><span class="p">:</span> <span class="s1">&#39;index&#39;</span><span class="p">})</span>
-<span class="nd">@simple_page</span><span class="o">.</span><span class="n">route</span><span class="p">(</span><span class="s1">&#39;/&lt;page&gt;&#39;</span><span class="p">)</span>
+<span class="nd">@simple_page.route</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="n">defaults</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;page&#39;</span><span class="p">:</span> <span class="s1">&#39;index&#39;</span><span class="p">})</span>
+<span class="nd">@simple_page.route</span><span class="p">(</span><span class="s1">&#39;/&lt;page&gt;&#39;</span><span class="p">)</span>
 <span class="k">def</span> <span class="nf">show</span><span class="p">(</span><span class="n">page</span><span class="p">):</span>
     <span class="k">return</span> <span class="s2">&quot;Ok&quot;</span>
 
@@ -1314,7 +1418,7 @@ located in <code class="docutils literal notranslate"><span class="pre">install/
 <span class="p">]</span>
 
 <span class="c1"># Will allow user self registration, allowing to create Flask users from Authorized User</span>
-<span class="n">AUTH_USER_REGISTRATION</span> <span class="o">=</span> <span class="kc">True</span>
+<span class="n">AUTH_USER_REGISTRATION</span> <span class="o">=</span> <span class="bp">True</span>
 
 <span class="c1"># The default user self registration role</span>
 <span class="n">AUTH_USER_REGISTRATION_ROLE</span> <span class="o">=</span> <span class="s2">&quot;Public&quot;</span>
@@ -1325,13 +1429,13 @@ located in <code class="docutils literal notranslate"><span class="pre">install/
 
 <span class="k">class</span> <span class="nc">CustomSsoSecurityManager</span><span class="p">(</span><span class="n">SupersetSecurityManager</span><span class="p">):</span>
 
-    <span class="k">def</span> <span class="nf">oauth_user_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">provider</span><span class="p">,</span> <span class="n">response</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Oauth2 provider: </span><span class="si">{0}</span><span class="s2">.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">provider</span><span class="p">))</span>
+    <span class="k">def</span> <span class="nf">oauth_user_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">provider</span><span class="p">,</span> <span class="n">response</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Oauth2 provider: {0}.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">provider</span><span class="p">))</span>
         <span class="k">if</span> <span class="n">provider</span> <span class="o">==</span> <span class="s1">&#39;egaSSO&#39;</span><span class="p">:</span>
             <span class="c1"># As example, this line request a GET to base_url + &#39;/&#39; + userDetails with Bearer  Authentication,</span>
     <span class="c1"># and expects that authorization server checks the token, and response with user details</span>
             <span class="n">me</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">appbuilder</span><span class="o">.</span><span class="n">sm</span><span class="o">.</span><span class="n">oauth_remotes</span><span class="p">[</span><span class="n">provider</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;userDetails&#39;</span><span class="p">)</span><span class=" [...]
-            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;user_data: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">me</span><span class="p">))</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;user_data: {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">me</span><span class="p">))</span>
             <span class="k">return</span> <span class="p">{</span> <span class="s1">&#39;name&#39;</span> <span class="p">:</span> <span class="n">me</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span> <span class="s1">&#39;email&#39;</span> <span class="p">:</span> <span class="n">me</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">],</span> <span class="s1">&#39;id&#39;</span> <span class="p">:</span> <span c [...]
     <span class="o">...</span>
 </pre></div>
@@ -1348,9 +1452,9 @@ located in <code class="docutils literal notranslate"><span class="pre">install/
 <p>Because of a wide variety of users, Superset has some features that are not enabled by default. For example, some users have stronger security restrictions, while some others may not. So Superset allow users to enable or disable some features by config. For feature owners, you can add optional functionalities in Superset, but will be only affected by a subset of users.</p>
 <p>You can enable or disable features with flag from <code class="docutils literal notranslate"><span class="pre">superset_config.py</span></code>:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">DEFAULT_FEATURE_FLAGS</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s1">&#39;CLIENT_CACHE&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-    <span class="s1">&#39;ENABLE_EXPLORE_JSON_CSRF_PROTECTION&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-    <span class="s1">&#39;PRESTO_EXPAND_DATA&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+    <span class="s1">&#39;CLIENT_CACHE&#39;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
+    <span class="s1">&#39;ENABLE_EXPLORE_JSON_CSRF_PROTECTION&#39;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
+    <span class="s1">&#39;PRESTO_EXPAND_DATA&#39;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -1369,6 +1473,41 @@ located in <code class="docutils literal notranslate"><span class="pre">install/
 </li>
 </ul>
 </div>
+<div class="section" id="sip-15">
+<h2>SIP-15<a class="headerlink" href="#sip-15" title="Permalink to this headline">¶</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-superset/issues/6360">SIP-15</a> aims to ensure that time intervals are handled in a consistent and transparent manner for both the Druid and SQLAlchemy connectors.</p>
+<p>Prior to SIP-15 SQLAlchemy used inclusive endpoints however these may behave like exclusive for string columns (due to lexicographical ordering) if no formatting was defined and the column formatting did not conform to an ISO 8601 date-time (refer to the SIP for details).</p>
+<p>To remedy this rather than having to define the date/time format for every non-IS0 8601 date-time column, once can define a default column mapping on a per database level via the <code class="docutils literal notranslate"><span class="pre">extra</span></code> parameter</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+    <span class="s2">&quot;python_date_format_by_column_name&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;ds&quot;</span><span class="p">:</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>New deployments</strong></p>
+<p>All new Superset deployments should enable SIP-15 via,</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">SIP_15_ENABLED</span> <span class="o">=</span> <span class="bp">True</span>
+</pre></div>
+</div>
+<p><strong>Existing deployments</strong></p>
+<p>Given that it is not apparent whether the chart creator was aware of the time range inconsistencies (and adjusted the endpoints accordingly) changing the behavior of all charts is overly aggressive. Instead SIP-15 proivides a soft transistion allowing producers (chart owners) to see the impact of the proposed change and adjust their charts accordingly.</p>
+<p>Prior to enabling SIP-15 existing deployments should communicate to their users the impact of the change and define a grace period end date (exclusive of course) after which all charts will conform to the [start, end) interval, i.e.,</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">dateime</span> <span class="kn">import</span> <span class="n">date</span>
+
+<span class="n">SIP_15_ENABLED</span> <span class="o">=</span> <span class="bp">True</span>
+<span class="n">SIP_15_GRACE_PERIOD_END</span> <span class="o">=</span> <span class="n">date</span><span class="p">(</span><span class="o">&lt;</span><span class="n">YYYY</span><span class="o">&gt;</span><span class="p">,</span> <span class="o">&lt;</span><span class="n">MM</span><span class="o">&gt;</span><span class="p">,</span> <span class="o">&lt;</span><span class="n">DD</span><span class="o">&gt;</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>To aid with transparency the current endpoint behavior is explicitly called out in the chart time range (post SIP-15 this will be [start, end) for all connectors and databases). One can override the defaults on a per database level via the <code class="docutils literal notranslate"><span class="pre">extra</span></code>
+parameter</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+    <span class="s2">&quot;time_range_endpoints&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;inclusive&quot;</span><span class="p">,</span> <span class="s2">&quot;inclusive&quot;</span><span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Note in a future release the interim SIP-15 logic will be removed (including the <code class="docutils literal notranslate"><span class="pre">time_grain_endpoints</span></code> form-data field) via a code change and Alembic migration.</p>
+</div>
 </div>
 
 
@@ -1379,7 +1518,7 @@ located in <code class="docutils literal notranslate"><span class="pre">install/
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="tutorial.html" class="btn btn-neutral float-right" title="Tutorial - Creating your first dashboard" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="tutorials.html" class="btn btn-neutral float-right" title="Tutorials" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="index.html" class="btn btn-neutral float-left" title="Apache Superset (incubating)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
@@ -1391,6 +1530,7 @@ located in <code class="docutils literal notranslate"><span class="pre">install/
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/misc.html b/misc.html
index 95841f9..f5cb898 100644
--- a/misc.html
+++ b/misc.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -197,6 +197,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/objects.inv b/objects.inv
index 1290054..baa3c3c 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/search.html b/search.html
index 27619b1..1f97406 100644
--- a/search.html
+++ b/search.html
@@ -81,7 +81,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -174,6 +174,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/searchindex.js b/searchindex.js
index 9f3c493..c08b816 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["druid","faq","gallery","import_export_datasources","index","installation","misc","security","sqllab","tutorial","videos","visualization"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["druid.rst","faq.rst","gallery.rst","impo [...]
\ No newline at end of file
+Search.setIndex({docnames:["admintutorial","druid","faq","gallery","import_export_datasources","index","installation","misc","security","sqllab","tutorials","usertutorial","videos","visualization"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["admintut [...]
\ No newline at end of file
diff --git a/security.html b/security.html
index 07ef12a..56fa288 100644
--- a/security.html
+++ b/security.html
@@ -36,7 +36,7 @@
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="SQL Lab" href="sqllab.html" />
-    <link rel="prev" title="Tutorial - Creating your first dashboard" href="tutorial.html" /> 
+    <link rel="prev" title="Exploring data with Apache Superset" href="usertutorial.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Security</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#provided-roles">Provided Roles</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#admin">Admin</a></li>
@@ -303,7 +303,7 @@ permissions that were attributed.</p>
         <a href="sqllab.html" class="btn btn-neutral float-right" title="SQL Lab" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="tutorial.html" class="btn btn-neutral float-left" title="Tutorial - Creating your first dashboard" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="usertutorial.html" class="btn btn-neutral float-left" title="Exploring data with Apache Superset" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -312,6 +312,7 @@ permissions that were attributed.</p>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/sqllab.html b/sqllab.html
index dd8297d..3304ff5 100644
--- a/sqllab.html
+++ b/sqllab.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">SQL Lab</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#feature-overview">Feature Overview</a></li>
@@ -254,6 +254,8 @@ runtime and replaced by the value in the URL.</p>
 <p>As you create a visualization form this SQL Lab query, you can pass
 parameters in the explore view as well as from the dashboard, and
 it should carry through to your queries.</p>
+<p>Default values for URL parameters can be defined in chart metdata by
+adding the key-value pair <cite>url_params: {‘foo’: ‘bar’}</cite></p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
@@ -426,15 +428,43 @@ to integrate in their queries in <strong>SQL Lab</strong>.</p>
 of queries before executing this. Currently, Presto is supported in SQL Lab. To
 enable query cost estimation, add the following keys to the “Extra” field in the
 database configuration:</p>
-<div class="highlight-json notranslate"><div class="highlight"><pre><span></span>{
+<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>{
     &quot;version&quot;: &quot;0.319&quot;,
-    &quot;cost_estimate_enabled&quot;: true,
+    &quot;cost_estimate_enabled&quot;: true
     ...
 }
 </pre></div>
 </div>
 <p>Here, “version” should be the version of your Presto cluster. Support for this
 functionality was introduced in Presto 0.319.</p>
+<p>You also need to enable the feature flag in your <cite>superset_config.py</cite>, and you
+can optionally specify a custom formatter. Eg:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">presto_query_cost_formatter</span><span class="p">(</span><span class="n">cost_estimate</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">float</span><span class="p">]])</span> <span class="o">-&gt;</span> <span c [...]
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Format cost estimate returned by Presto.</span>
+
+<span class="sd">    :param cost_estimate: JSON estimate from Presto</span>
+<span class="sd">    :return: Human readable cost estimate</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># Convert cost to dollars based on CPU and network cost. These coefficients are just</span>
+    <span class="c1"># examples, they need to be estimated based on your infrastructure.</span>
+    <span class="n">cpu_coefficient</span> <span class="o">=</span> <span class="mf">2e-12</span>
+    <span class="n">network_coefficient</span> <span class="o">=</span> <span class="mf">1e-12</span>
+
+    <span class="n">cost</span> <span class="o">=</span> <span class="mi">0</span>
+    <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">cost_estimate</span><span class="p">:</span>
+        <span class="n">cost</span> <span class="o">+=</span> <span class="n">row</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;cpuCost&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">*</span> <span class="n">cpu_coefficient</span>
+        <span class="n">cost</span> <span class="o">+=</span> <span class="n">row</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;networkCost&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">*</span> <span class="n">network_coefficient</span>
+
+    <span class="k">return</span> <span class="p">[{</span><span class="s2">&quot;Cost&quot;</span><span class="p">:</span> <span class="n">f</span><span class="s2">&quot;US$ {cost:.2f}&quot;</span><span class="p">}]</span>
+
+
+<span class="n">DEFAULT_FEATURE_FLAGS</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;ESTIMATE_QUERY_COST&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
+    <span class="s2">&quot;QUERY_COST_FORMATTERS_BY_ENGINE&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;presto&quot;</span><span class="p">:</span> <span class="n">presto_query_cost_formatter</span><span class="p">},</span>
+<span class="p">}</span>
+</pre></div>
+</div>
 </div>
 <div class="section" id="create-table-as-ctas">
 <span id="ref-ctas-engine-config"></span><h3>Create Table As (CTAS)<a class="headerlink" href="#create-table-as-ctas" title="Permalink to this headline">¶</a></h3>
@@ -442,7 +472,7 @@ functionality was introduced in Presto 0.319.</p>
 and off at the database configuration level.</p>
 <p>Note that since <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">TABLE..</span></code> belongs to a SQL DDL category. Specifically on PostgreSQL, DDL is transactional,
 this means that to properly use this feature you have to set <code class="docutils literal notranslate"><span class="pre">autocommit</span></code> to true on your engine parameters:</p>
-<div class="highlight-json notranslate"><div class="highlight"><pre><span></span>{
+<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>{
     ...
     &quot;engine_params&quot;: {&quot;isolation_level&quot;:&quot;AUTOCOMMIT&quot;},
     ...
@@ -473,6 +503,7 @@ this means that to properly use this feature you have to set <code class="docuti
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/tutorials.html b/tutorials.html
index c1981c1..8bf8ad3 100644
--- a/tutorials.html
+++ b/tutorials.html
@@ -205,6 +205,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/usertutorial.html b/usertutorial.html
index 63f4ad4..dbe5716 100644
--- a/usertutorial.html
+++ b/usertutorial.html
@@ -594,6 +594,7 @@ side and compare the different outputs.</p>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/videos.html b/videos.html
index ee72c17..7e4e142 100644
--- a/videos.html
+++ b/videos.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -186,6 +186,7 @@
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div> 
diff --git a/visualization.html b/visualization.html
index 50905bc..5d17961 100644
--- a/visualization.html
+++ b/visualization.html
@@ -82,7 +82,7 @@
             
               <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial - Creating your first dashboard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
 <li class="toctree-l1"><a class="reference internal" href="sqllab.html">SQL Lab</a></li>
 <li class="toctree-l1"><a class="reference internal" href="gallery.html">Visualizations Gallery</a></li>
@@ -1413,6 +1413,122 @@ The second part is a string of up to three alphanumeric characters, which is usu
 </tbody>
 </table>
 <ul class="simple">
+<li><p>Korea</p></li>
+</ul>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 30%" />
+<col style="width: 70%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ISO</p></th>
+<th class="head"><p>Name of region</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>KR-11</p></td>
+<td><p>Seoul</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-26</p></td>
+<td><p>Busan</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-27</p></td>
+<td><p>Daegu</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-28</p></td>
+<td><p>Incheon</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-29</p></td>
+<td><p>Gwangju</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-30</p></td>
+<td><p>Daejeon</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-31</p></td>
+<td><p>Ulsan</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-41</p></td>
+<td><p>Gyeonggi</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-42</p></td>
+<td><p>Gangwon</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-43</p></td>
+<td><p>Chungbuk</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-44</p></td>
+<td><p>Chungnam</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-45</p></td>
+<td><p>Jeonbuk</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-46</p></td>
+<td><p>Jeonnam</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-47</p></td>
+<td><p>Gyeongbuk</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-48</p></td>
+<td><p>Gyeongnam</p></td>
+</tr>
+<tr class="row-odd"><td><p>KR-49</p></td>
+<td><p>Jeju</p></td>
+</tr>
+<tr class="row-even"><td><p>KR-50</p></td>
+<td><p>Sejong</p></td>
+</tr>
+</tbody>
+</table>
+<ul class="simple">
+<li><p>Liechtenstein</p></li>
+</ul>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 30%" />
+<col style="width: 70%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ISO</p></th>
+<th class="head"><p>Name of region</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>LI-01</p></td>
+<td><p>Balzers</p></td>
+</tr>
+<tr class="row-odd"><td><p>LI-02</p></td>
+<td><p>Eschen</p></td>
+</tr>
+<tr class="row-even"><td><p>LI-03</p></td>
+<td><p>Gamprin</p></td>
+</tr>
+<tr class="row-odd"><td><p>LI-04</p></td>
+<td><p>Mauren</p></td>
+</tr>
+<tr class="row-even"><td><p>LI-05</p></td>
+<td><p>Planken</p></td>
+</tr>
+<tr class="row-odd"><td><p>LI-06</p></td>
+<td><p>Ruggell</p></td>
+</tr>
+<tr class="row-even"><td><p>LI-07</p></td>
+<td><p>Schaan</p></td>
+</tr>
+<tr class="row-odd"><td><p>LI-08</p></td>
+<td><p>Schellenberg</p></td>
+</tr>
+<tr class="row-even"><td><p>LI-09</p></td>
+<td><p>Triesen</p></td>
+</tr>
+<tr class="row-odd"><td><p>LI-10</p></td>
+<td><p>Triesenberg</p></td>
+</tr>
+<tr class="row-even"><td><p>LI-11</p></td>
+<td><p>Vaduz</p></td>
+</tr>
+</tbody>
+</table>
+<ul class="simple">
 <li><p>Morocco</p></li>
 </ul>
 <table class="docutils align-default">
@@ -2105,6 +2221,100 @@ The second part is a string of up to three alphanumeric characters, which is usu
 </tbody>
 </table>
 <ul class="simple">
+<li><p>Switzerland</p></li>
+</ul>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 19%" />
+<col style="width: 81%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ISO</p></th>
+<th class="head"><p>Name of region</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>CH-AG</p></td>
+<td><p>Aargau</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-AR</p></td>
+<td><p>Appenzell Ausserrhoden</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-AI</p></td>
+<td><p>Appenzell Innerrhoden</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-BL</p></td>
+<td><p>Basel-Landschaft</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-BS</p></td>
+<td><p>Basel-Stadt</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-BE</p></td>
+<td><p>Bern</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-FR</p></td>
+<td><p>Freiburg</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-GE</p></td>
+<td><p>Genf</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-GL</p></td>
+<td><p>Glarus</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-GR</p></td>
+<td><p>Graubünden</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-JU</p></td>
+<td><p>Jura</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-LU</p></td>
+<td><p>Luzern</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-NE</p></td>
+<td><p>Neuenburg</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-NW</p></td>
+<td><p>Nidwalden</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-OW</p></td>
+<td><p>Obwalden</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-SH</p></td>
+<td><p>Schaffhausen</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-SZ</p></td>
+<td><p>Schwyz</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-SO</p></td>
+<td><p>Solothurn</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-SG</p></td>
+<td><p>St. Gallen</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-TI</p></td>
+<td><p>Tessin</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-TG</p></td>
+<td><p>Thurgau</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-UR</p></td>
+<td><p>Uri</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-VD</p></td>
+<td><p>Waadt</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-VS</p></td>
+<td><p>Wallis</p></td>
+</tr>
+<tr class="row-even"><td><p>CH-ZG</p></td>
+<td><p>Zug</p></td>
+</tr>
+<tr class="row-odd"><td><p>CH-ZH</p></td>
+<td><p>Zürich</p></td>
+</tr>
+</tbody>
+</table>
+<ul class="simple">
 <li><p>Uk</p></li>
 </ul>
 <table class="docutils align-default">
@@ -2995,6 +3205,7 @@ Example :</p></li>
     <span class="s1">&#39;Germany&#39;</span><span class="p">,</span>
     <span class="s1">&#39;Italy&#39;</span><span class="p">,</span>
     <span class="s1">&#39;Japan&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;Korea&#39;</span><span class="p">,</span>
     <span class="s1">&#39;Morocco&#39;</span><span class="p">,</span>
     <span class="s1">&#39;Netherlands&#39;</span><span class="p">,</span>
     <span class="s1">&#39;Russia&#39;</span><span class="p">,</span>
@@ -3030,6 +3241,7 @@ Example :</p></li>
 
   <div role="contentinfo">
     <p>
+        &copy; Copyright Copyright © 2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
 
     </p>
   </div>