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 2018/04/13 17:23:33 UTC

[incubator-superset] branch master updated: [docs] many improvements to the documentation / cleanup (#4817)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 4c268ec  [docs] many improvements to the documentation / cleanup (#4817)
4c268ec is described below

commit 4c268ec6780b9943592ca289fe4e1a6c376d5a38
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Fri Apr 13 10:23:27 2018 -0700

    [docs] many improvements to the documentation / cleanup (#4817)
    
    * fixed RSTs so images will show up on github
    * fresh screenshots on main page
    * removing irrelevant portions
    * moved a set of sections under 'Misc'
    * rebuilt the Gallery with all screenshots
---
 docs/_build/html/README.md                         |   1 -
 docs/conf.py                                       |   2 +-
 docs/druid.rst                                     |  25 ++-
 docs/faq.rst                                       |   8 +-
 docs/gallery.rst                                   | 221 +++++++++++++++------
 docs/images                                        |   1 +
 docs/import_export_datasources.rst                 |  17 +-
 docs/index.rst                                     |  16 +-
 docs/installation.rst                              |  14 +-
 docs/misc.rst                                      |  10 +
 docs/security.rst                                  |   2 +-
 docs/sqllab.rst                                    |   5 +
 docs/tutorial.rst                                  |  94 ++++-----
 docs/videos.rst                                    |  53 +----
 superset/assets/images/screenshots/bank_dash.png   | Bin 0 -> 1532812 bytes
 superset/assets/images/screenshots/deckgl_dash.png | Bin 0 -> 6777438 bytes
 superset/assets/images/screenshots/explore.png     | Bin 0 -> 674489 bytes
 superset/assets/images/screenshots/sqllab.png      | Bin 0 -> 514789 bytes
 18 files changed, 278 insertions(+), 191 deletions(-)

diff --git a/docs/_build/html/README.md b/docs/_build/html/README.md
deleted file mode 100644
index bcba4d6..0000000
--- a/docs/_build/html/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Folder containing the sphinx-generated documentation
diff --git a/docs/conf.py b/docs/conf.py
index fbc75e9..f78a9a4 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -52,7 +52,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = "Apache Superset"
-copyright = None
+copyright = 'Apache Software Foundation'
 author = u'Maxime Beauchemin'
 
 # The version info for the project you're documenting, acts as replacement for
diff --git a/docs/druid.rst b/docs/druid.rst
index af956d9..b673546 100644
--- a/docs/druid.rst
+++ b/docs/druid.rst
@@ -1,16 +1,14 @@
 Druid
 =====
 
-Superset works well with Druid, though currently not all
-advanced features out of Druid are covered. This page clarifies what is
-covered and what isn't and explains how to use some of the features.
+Superset has a native connector to Druid, and a majority of Druid's
+features are accessible through Superset.
 
 .. note ::
-    Currently Airbnb runs against Druid ``0.8.x`` and previous /
-    following versions are not tested against.
-
-Supported
-'''''''''
+    Druid now supports SQL and can be accessed through Superset's
+    SQLAlchemy connector. The long term vision is to deprecate
+    the Druid native REST connector and query Druid exclusively through
+    the SQL interface.
 
 Aggregations
 ------------
@@ -28,7 +26,7 @@ element correspond to Druid aggregation definition. You can create your own
 aggregations manually from the ``List Druid Metric`` tab following Druid
 documentation.
 
-.. image:: _static/img/druid_agg.png
+.. image:: images/druid_agg.png
    :scale: 50 %
 
 Post-Aggregations
@@ -41,8 +39,9 @@ json post-aggregation definition (as specified in the Druid docs) in the
 Json field.
 
 
-Not yet supported
-'''''''''''''''''
+Unsupported Features
+--------------------
 
-- Regex filters
-- Lookups / joins
+.. note ::
+    Unclear at this point, this section of the documentation could use
+    some input.
diff --git a/docs/faq.rst b/docs/faq.rst
index 4e7d4d6..21e4e74 100644
--- a/docs/faq.rst
+++ b/docs/faq.rst
@@ -48,8 +48,10 @@ https://github.com/airbnb/superset/issues?q=label%3Aexample+is%3Aclosed
 Can I upload and visualize csv data?
 ------------------------------------
 
-Yes, using the ``Upload a CSV`` button under the ``Sources``
-menu item. This brings up a form that allows you specify required information. After creating the table from CSV, it can then be loaded like any other on the ``Sources -> Tables``page.
+Yes, using the ``Upload a CSV`` button under the ``Sources`` menu item.
+This brings up a form that allows you specify required information.
+After creating the table from CSV, it can then be loaded like any
+other on the ``Sources -> Tables`` page.
 
 
 Why are my queries timing out?
@@ -168,7 +170,7 @@ Here, the entire dashboard will refresh at once if periodic refresh is on. The s
 2.5 seconds is ignored.
 
 Why does fabmanager or superset freezed/hung/not responding when started (my home directory is NFS mounted)?
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------------
 By default, superset creates and uses an sqlite database at ``~/.superset/superset.db``. Sqlite is known to `don't work well if used on NFS`__ due to broken file locking implementation on NFS.
 
 __ https://www.sqlite.org/lockingv3.html
diff --git a/docs/gallery.rst b/docs/gallery.rst
index 2851527..5fa212d 100644
--- a/docs/gallery.rst
+++ b/docs/gallery.rst
@@ -1,89 +1,190 @@
-Gallery
-=======
+Visualizations Gallery
+======================
 
-.. image:: _static/img/viz_thumbnails/line.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/area.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/bubble.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/table.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/bar.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/pie.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/bar.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/big_number.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/world_map.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/sankey.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/big_number_total.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/word_cloud.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/filter_box.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/box_plot.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/pivot_table.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/directed_force.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/bubble.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/compare.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/sunburst.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/bullet.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/area.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/big_number.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/cal_heatmap.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/big_number_total.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/bullet.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/chord.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/dist_bar.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/heatmap.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/compare.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/markup.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/para.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/country_map.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/iframe.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/box_plot.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/deck_arc.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/treemap.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/cal_heatmap.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/deck_geojson.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/horizon.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/mapbox.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/deck_grid.png
+   :scale: 25 %
 
-.. image:: _static/img/viz_thumbnails/separator.png
-   :scale: 50 %
 
-.. image:: _static/img/viz_thumbnails/histogram.png
-   :scale: 50 %
+.. image:: images/viz_thumbnails/deck_hex.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/deck_multi.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/deck_path.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/deck_polygon.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/deck_scatter.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/deck_screengrid.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/directed_force.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/dist_bar.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/dual_line.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/event_flow.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/filter_box.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/heatmap.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/histogram.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/horizon.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/iframe.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/line.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/mapbox.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/markup.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/paired_ttest.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/para.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/partition.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/pie.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/pivot_table.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/rose.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/sankey.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/separator.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/sunburst.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/table.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/time_pivot.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/time_table.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/treemap.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/word_cloud.png
+   :scale: 25 %
+
+
+.. image:: images/viz_thumbnails/world_map.png
+   :scale: 25 %
+
diff --git a/docs/images b/docs/images
new file mode 120000
index 0000000..4d55b64
--- /dev/null
+++ b/docs/images
@@ -0,0 +1 @@
+../superset/assets/images/
\ No newline at end of file
diff --git a/docs/import_export_datasources.rst b/docs/import_export_datasources.rst
index 3ec436d..4de7a74 100644
--- a/docs/import_export_datasources.rst
+++ b/docs/import_export_datasources.rst
@@ -49,12 +49,17 @@ By default, default (null) values will be omitted. Use the ``-d`` flag to includ
 If you want back references to be included (e.g. a column to include the table id
 it belongs to) use the ``-b`` flag.
 
-Alternatively you can export datasources using the UI: ::
-
-1. Open **Sources** -> **Databases** to export all tables associated to a single or multiple databases. (**Tables** for one or more tables, **Druid Clusters** for clusters, **Druid Datasources** for datasources)
-2. Select the items you would like to export
-3. Click **Actions** -> **Export to YAML**
-4. If you want to import an item that you exported through the UI, you will need to nest it inside its parent element, e.g. a `database` needs to be nested under `databases` a `table` needs to be nested inside a `database` element.
+Alternatively you can export datasources using the UI:
+
+1. Open **Sources** -> **Databases** to export all tables associated to a
+   single or multiple databases. (**Tables** for one or more tables,
+   **Druid Clusters** for clusters, **Druid Datasources** for datasources)
+#. Select the items you would like to export
+#. Click **Actions** -> **Export to YAML**
+#. If you want to import an item that you exported through the UI, you
+   will need to nest it inside its parent element, e.g. a `database`
+   needs to be nested under `databases` a `table` needs to be
+   nested inside a `database` element.
 
 Exporting the complete supported YAML schema
 --------------------------------------------
diff --git a/docs/index.rst b/docs/index.rst
index 4592166..370f516 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,4 +1,4 @@
-.. image:: _static/img/s.png
+.. image:: images/s.png
 
 Apache Superset (incubating)
 ''''''''''''''''''''''''''''
@@ -45,17 +45,22 @@ Features
 - Integration with most SQL-speaking RDBMS through SQLAlchemy
 - Deep integration with Druid.io
 
+Screenshots
+-----------
+
+.. image:: images/screenshots/bank_dash.png
+
 ------
 
-.. image:: https://camo.githubusercontent.com/82e264ef777ba06e1858766fe3b8817ee108eb7e/687474703a2f2f672e7265636f726469742e636f2f784658537661475574732e676966
+.. image:: images/screenshots/explore.png
 
 ------
 
-.. image:: https://camo.githubusercontent.com/4991ff37a0005ea4e4267919a52786fda82d2d21/687474703a2f2f672e7265636f726469742e636f2f755a6767594f645235672e676966
+.. image:: images/screenshots/sqllab.png
 
 ------
 
-.. image:: https://camo.githubusercontent.com/a389af15ac1e32a3d0fee941b4c62c850b1d583b/687474703a2f2f672e7265636f726469742e636f2f55373046574c704c76682e676966
+.. image:: images/screenshots/deckgl_dash.png
 
 ------
 
@@ -70,10 +75,9 @@ Contents
     tutorial
     security
     sqllab
-    visualization
-    videos
     gallery
     druid
+    misc
     faq
 
 
diff --git a/docs/installation.rst b/docs/installation.rst
index 45e9db7..3c5b33f 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -208,7 +208,7 @@ In case that the reverse proxy is used for providing ssl encryption,
 an explicit definition of the `X-Forwarded-Proto` may be required.
 For the Apache webserver this can be set as follows: ::
 
- RequestHeader set X-Forwarded-Proto "https"
+    RequestHeader set X-Forwarded-Proto "https"
 
 Configuration
 -------------
@@ -375,7 +375,7 @@ It is possible to tweak the database connection information using the
 parameters exposed by SQLAlchemy. In the ``Database`` edit view, you will
 find an ``extra`` field as a ``JSON`` blob.
 
-.. image:: _static/img/tutorial/add_db.png
+.. image:: images/tutorial/add_db.png
    :scale: 30 %
 
 This JSON string contains extra configuration elements. The ``engine_params``
@@ -411,6 +411,16 @@ in your config file to point to that function. ::
 
     SQLALCHEMY_CUSTOM_PASSWORD_STORE = example_lookup_password
 
+A common pattern is to use environment variables to make secrets available.
+``SQLALCHEMY_CUSTOM_PASSWORD_STORE`` can also be used for that purpose. ::
+
+    def example_password_as_env_var(url):
+        # assuming the uri looks like
+        # mysql://localhost?superset_user:{SUPERSET_PASSWORD}
+        return url.password.format(os.environ)
+
+    SQLALCHEMY_CUSTOM_PASSWORD_STORE = example_password_as_env_var
+
 
 SSL Access to databases
 -----------------------
diff --git a/docs/misc.rst b/docs/misc.rst
new file mode 100644
index 0000000..fb953dd
--- /dev/null
+++ b/docs/misc.rst
@@ -0,0 +1,10 @@
+
+Misc
+----
+
+.. toctree::
+    :maxdepth: 2
+
+    visualization
+    videos
+    import_export_datasources
diff --git a/docs/security.rst b/docs/security.rst
index 5b234a7..b6a2b10 100644
--- a/docs/security.rst
+++ b/docs/security.rst
@@ -70,7 +70,7 @@ sure the users with limited access have [only] the Gamma role assigned to
 them. Second, create a new role (``Menu -> Security -> List Roles``) and
 click the ``+`` sign.
 
-.. image:: _static/img/create_role.png
+.. image:: images/create_role.png
    :scale: 50 %
 
 This new window allows you to give this new role a name, attribute it to users
diff --git a/docs/sqllab.rst b/docs/sqllab.rst
index dabea1f..9230b2c 100644
--- a/docs/sqllab.rst
+++ b/docs/sqllab.rst
@@ -4,6 +4,11 @@ SQL Lab
 SQL Lab is a modern, feature-rich SQL IDE written in
 `React <https://facebook.github.io/react/>`_.
 
+------
+
+.. image:: images/screenshots/sqllab.png
+
+------
 
 Feature Overview
 ----------------
diff --git a/docs/tutorial.rst b/docs/tutorial.rst
index 718a044..82ac31e 100644
--- a/docs/tutorial.rst
+++ b/docs/tutorial.rst
@@ -1,31 +1,31 @@
-Tutorial for Superset Administrators
-====================================
+Tutorial - Creating your first dashboard
+========================================
 
-This tutorial targets a Superset administrator: someone configuring Superset 
-for an organization on behalf of users. We'll show you how to connect Superset 
-to a new database and configure a table in that database for analysis. You'll 
-also explore the data you've exposed and add a visualization to a dashboard 
+This tutorial targets someone who wants to create charts and dashboards
+in Superset. We'll show you how to connect Superset
+to a new database and configure a table in that database for analysis. You'll
+also explore the data you've exposed and add a visualization to a dashboard
 so that you get a feel for the end-to-end user experience.
 
 Connecting to a new database
 ----------------------------
 
 We assume you already have a database configured and can connect to it from the 
-instance on which you’re running Superset. If you’re just testing Superset and 
-want to explore sample data, you can load some 
+instance on which you’re running Superset. If you’re just testing Superset and
+want to explore sample data, you can load some
 `sample PostgreSQL datasets <https://wiki.postgresql.org/wiki/Sample_Databases>`_
-into a fresh DB, or configure the 
+into a fresh DB, or configure the
 `example weather data <https://github.com/dylburger/noaa-ghcn-weather-data>`_
 we use here.
 
 Under the **Sources** menu, select the *Databases* option:
 
-.. image:: _static/img/tutorial/tutorial_01_sources_database.png
+.. image:: images/tutorial/tutorial_01_sources_database.png
    :scale: 70%
 
 On the resulting page, click on the green plus sign, near the top right:
 
-.. image:: _static/img/tutorial/tutorial_02_add_database.png
+.. image:: images/tutorial/tutorial_02_add_database.png
    :scale: 70%
 
 You can configure a number of advanced options on this page, but for 
@@ -33,12 +33,12 @@ this walkthrough, you’ll only need to do **two things**:
 
 1. Name your database connection:
 
-.. image:: _static/img/tutorial/tutorial_03_database_name.png
+.. image:: images/tutorial/tutorial_03_database_name.png
    :scale: 70%
 
 2. Provide the SQLAlchemy Connection URI and test the connection:
 
-.. image:: _static/img/tutorial/tutorial_04_sqlalchemy_connection_string.png
+.. image:: images/tutorial/tutorial_04_sqlalchemy_connection_string.png
    :scale: 70%
 
 This example shows the connection string for our test weather database. 
@@ -51,19 +51,19 @@ Click the **Test Connection** button to confirm things work end to end.
 Once Superset can successfully connect and authenticate, you should see 
 a popup like this:
 
-.. image:: _static/img/tutorial/tutorial_05_connection_popup.png
+.. image:: images/tutorial/tutorial_05_connection_popup.png
    :scale: 50%
 
 Moreover, you should also see the list of tables Superset can read from 
 the schema you’re connected to, at the bottom of the page:
 
-.. image:: _static/img/tutorial/tutorial_06_list_of_tables.png
+.. image:: images/tutorial/tutorial_06_list_of_tables.png
    :scale: 70%
 
 If the connection looks good, save the configuration by clicking the **Save** 
 button at the bottom of the page:
 
-.. image:: _static/img/tutorial/tutorial_07_save_button.png
+.. image:: images/tutorial/tutorial_07_save_button.png
    :scale: 70%
 
 Adding a new table
@@ -74,25 +74,25 @@ to Superset that you’d like to query.
 
 Under the **Sources** menu, select the *Tables* option:
 
-.. image:: _static/img/tutorial/tutorial_08_sources_tables.png
+.. image:: images/tutorial/tutorial_08_sources_tables.png
    :scale: 70%
 
 On the resulting page, click on the green plus sign, near the top left:
 
-.. image:: _static/img/tutorial/tutorial_09_add_new_table.png
+.. image:: images/tutorial/tutorial_09_add_new_table.png
    :scale: 70%
 
 You only need a few pieces of information to add a new table to Superset:
 
 * The name of the table
 
-.. image:: _static/img/tutorial/tutorial_10_table_name.png
+.. image:: images/tutorial/tutorial_10_table_name.png
    :scale: 70%
 
 * The target database from the **Database** drop-down menu (i.e. the one 
   you just added above)
 
-.. image:: _static/img/tutorial/tutorial_11_choose_db.png
+.. image:: images/tutorial/tutorial_11_choose_db.png
    :scale: 70%
 
 * Optionally, the database schema. If the table exists in the “default” schema 
@@ -101,13 +101,13 @@ You only need a few pieces of information to add a new table to Superset:
 
 Click on the **Save** button to save the configuration:
 
-.. image:: _static/img/tutorial/tutorial_07_save_button.png
+.. image:: images/tutorial/tutorial_07_save_button.png
    :scale: 70%
 
 When redirected back to the list of tables, you should see a message indicating 
 that your table was created:
 
-.. image:: _static/img/tutorial/tutorial_12_table_creation_success_msg.png
+.. image:: images/tutorial/tutorial_12_table_creation_success_msg.png
    :scale: 70%
 
 This message also directs you to edit the table configuration. We’ll edit a limited 
@@ -116,7 +116,7 @@ a more advanced tutorial.
 
 Click on the edit button next to the table you’ve created:
 
-.. image:: _static/img/tutorial/tutorial_13_edit_table_config.png
+.. image:: images/tutorial/tutorial_13_edit_table_config.png
    :scale: 70%
 
 On the resulting page, click on the **List Table Column** tab. Here, you’ll define the 
@@ -136,7 +136,7 @@ Here’s how we’ve configured fields for the weather data. Even for measures l
 weather measurements (precipitation, snowfall, etc.), it’s ideal to group and filter 
 by these values:
 
-.. image:: _static/img/tutorial/tutorial_14_field_config.png
+.. image:: images/tutorial/tutorial_14_field_config.png
 
 As with the configurations above, click the **Save** button to save these settings.
 
@@ -146,17 +146,17 @@ Exploring your data
 To start exploring your data, simply click on the table name you just created in 
 the list of available tables:
 
-.. image:: _static/img/tutorial/tutorial_15_click_table_name.png
+.. image:: images/tutorial/tutorial_15_click_table_name.png
 
 By default, you’ll be presented with a Table View:
 
-.. image:: _static/img/tutorial/tutorial_16_datasource_chart_type.png
+.. image:: images/tutorial/tutorial_16_datasource_chart_type.png
 
 Let’s walk through a basic query to get the count of all records in our table. 
 First, we’ll need to change the **Since** filter to capture the range of our data. 
 You can use simple phrases to apply these filters, like "3 years ago":
 
-.. image:: _static/img/tutorial/tutorial_17_choose_time_range.png
+.. image:: images/tutorial/tutorial_17_choose_time_range.png
 
 The upper limit for time, the **Until** filter, defaults to "now", which may or may 
 not be what you want.
@@ -164,25 +164,25 @@ not be what you want.
 Look for the Metrics section under the **GROUP BY** header, and start typing "Count" 
 - you’ll see a list of metrics matching what you type:
 
-.. image:: _static/img/tutorial/tutorial_18_choose_metric.png
+.. image:: images/tutorial/tutorial_18_choose_metric.png
 
 Select the *COUNT(\*)* metric, then click the green **Query** button near the top 
 of the explore:
 
-.. image:: _static/img/tutorial/tutorial_19_click_query.png
+.. image:: images/tutorial/tutorial_19_click_query.png
 
 You’ll see your results in the table:
 
-.. image:: _static/img/tutorial/tutorial_20_count_star_result.png
+.. image:: images/tutorial/tutorial_20_count_star_result.png
 
 Let’s group this by the *weather_description* field to get the count of records by 
 the type of weather recorded by adding it to the *Group by* section:
 
-.. image:: _static/img/tutorial/tutorial_21_group_by.png
+.. image:: images/tutorial/tutorial_21_group_by.png
 
 and run the query:
 
-.. image:: _static/img/tutorial/tutorial_22_group_by_result.png
+.. image:: images/tutorial/tutorial_22_group_by_result.png
 
 Let’s find a more useful data point: the top 10 times and places that recorded the 
 highest temperature in 2015.
@@ -190,11 +190,11 @@ highest temperature in 2015.
 We replace *weather_description* with *latitude*, *longitude* and *measurement_date* in the 
 *Group by* section:
 
-.. image:: _static/img/tutorial/tutorial_23_group_by_more_dimensions.png
+.. image:: images/tutorial/tutorial_23_group_by_more_dimensions.png
 
 And replace *COUNT(\*)* with *max__measurement_flag*:
 
-.. image:: _static/img/tutorial/tutorial_24_max_metric.png
+.. image:: images/tutorial/tutorial_24_max_metric.png
 
 The *max__measurement_flag* metric was created when we checked the box under **Max** and 
 next to the *measurement_flag* field, indicating that this field was numeric and that 
@@ -206,16 +206,16 @@ precipitation and temperature). Therefore, we must filter our query only on reco
 where the *weather_description* is equal to "Maximum temperature", which we do in 
 the **Filters** section at the bottom of the explore:
 
-.. image:: _static/img/tutorial/tutorial_25_max_temp_filter.png
+.. image:: images/tutorial/tutorial_25_max_temp_filter.png
 
 Finally, since we only care about the top 10 measurements, we limit our results to 
 10 records using the *Row limit* option under the **Options** header:
 
-.. image:: _static/img/tutorial/tutorial_26_row_limit.png
+.. image:: images/tutorial/tutorial_26_row_limit.png
 
 We click **Query** and get the following results:
 
-.. image:: _static/img/tutorial/tutorial_27_top_10_max_temps.png
+.. image:: images/tutorial/tutorial_27_top_10_max_temps.png
 
 In this dataset, the maximum temperature is recorded in tenths of a degree Celsius. 
 The top value of 1370, measured in the middle of Nevada, is equal to 137 C, or roughly 
@@ -240,20 +240,20 @@ a dashboard.
 
 We change the Chart Type to "Distribution - Bar Chart":
 
-.. image:: _static/img/tutorial/tutorial_28_bar_chart.png
+.. image:: images/tutorial/tutorial_28_bar_chart.png
 
 Our filter on Maximum temperature measurements was retained, but the query and 
 formatting options are dependent on the chart type, so you’ll have to set the 
 values again:
 
-.. image:: _static/img/tutorial/tutorial_29_bar_chart_series_metrics.png
+.. image:: images/tutorial/tutorial_29_bar_chart_series_metrics.png
 
 You should note the extensive formatting options for this chart: the ability to 
 set axis labels, margins, ticks, etc. To make the data presentable to a broad 
 audience, you’ll want to apply many of these to slices that end up in dashboards. 
 For now, though, we run our query and get the following chart:
 
-.. image:: _static/img/tutorial/tutorial_30_bar_chart_results.png
+.. image:: images/tutorial/tutorial_30_bar_chart_results.png
    :scale: 70%
 
 Creating a slice and dashboard
@@ -265,39 +265,39 @@ a saved query is called a **Slice**.
 To create a slice, click the **Save as** button near the top-left of the 
 explore:
 
-.. image:: _static/img/tutorial/tutorial_19_click_query.png
+.. image:: images/tutorial/tutorial_19_click_query.png
 
 A popup should appear, asking you to name the slice, and optionally add it to a 
 dashboard. Since we haven’t yet created any dashboards, we can create one and 
 immediately add our slice to it. Let’s do it:
 
-.. image:: _static/img/tutorial/tutorial_31_save_slice_to_dashboard.png
+.. image:: images/tutorial/tutorial_31_save_slice_to_dashboard.png
    :scale: 70%
 
 Click Save, which will direct you back to your original query. We see that 
 our slice and dashboard were successfully created:
 
-.. image:: _static/img/tutorial/tutorial_32_save_slice_confirmation.png
+.. image:: images/tutorial/tutorial_32_save_slice_confirmation.png
    :scale: 70%
 
 Let’s check out our new dashboard. We click on the **Dashboards** menu:
 
-.. image:: _static/img/tutorial/tutorial_33_dashboard.png
+.. image:: images/tutorial/tutorial_33_dashboard.png
 
 and find the dashboard we just created:
 
-.. image:: _static/img/tutorial/tutorial_34_weather_dashboard.png
+.. image:: images/tutorial/tutorial_34_weather_dashboard.png
 
 Things seemed to have worked - our slice is here!
 
-.. image:: _static/img/tutorial/tutorial_35_slice_on_dashboard.png
+.. image:: images/tutorial/tutorial_35_slice_on_dashboard.png
    :scale: 70%
 
 But it’s a bit smaller than we might like. Luckily, you can adjust the size 
 of slices in a dashboard by clicking, holding and dragging the bottom-right 
 corner to your desired dimensions:
 
-.. image:: _static/img/tutorial/tutorial_36_adjust_dimensions.gif
+.. image:: images/tutorial/tutorial_36_adjust_dimensions.gif
    :scale: 120%
 
 After adjusting the size, you’ll be asked to click on the icon near the 
diff --git a/docs/videos.rst b/docs/videos.rst
index 15ef91d..9c00b41 100644
--- a/docs/videos.rst
+++ b/docs/videos.rst
@@ -1,54 +1,5 @@
 Videos
 ======
 
-Here is a collection of short videos showing different aspect
-of Superset.
-
-Quick Intro
-'''''''''''
-This video demonstrates how Superset works at a high level, it shows how
-to navigate through datasets and dashboards that are already available.
-
-.. youtube:: https://www.youtube.com/watch?v=3Txm_nj_R7M
-
-Dashboard Creation
-''''''''''''''''''
-This video walk you through the creation of a simple dashboard as a
-collection of data slices.
-
-- Coming soon!
-
-Dashboard Filtering
-'''''''''''''''''''
-This video shows how to create dynamic filters on dashboards, how to
-immunize certain widgets from being affected by filters.
-
-- Coming soon!
-
-Customize CSS and dashboard themes
-''''''''''''''''''''''''''''''''''
-A quick walkthrough on how to apply existing CSS templates, alter them and
-create new ones.
-
-- Coming soon!
-
-Slice Annotations
-'''''''''''''''''
-A short video on how to annotate your charts, the markdown language and
-to toggle them on dashboards.
-
-- Coming soon!
-
-Adding a Table
-''''''''''''''
-This videos shows you how to expose a new table in Superset, and how to
-define the semantics on how this can be accessed by others in the ``Explore``
-and ``Dashboard`` views.
-
-- Coming soon!
-
-Define SQL Expressions
-''''''''''''''''''''''
-A walkthrough on how to create your own derived dimensions and metrics.
-
-- Coming soon!
+.. note ::
+    This section of the documentation has yet to be filled in.
diff --git a/superset/assets/images/screenshots/bank_dash.png b/superset/assets/images/screenshots/bank_dash.png
new file mode 100644
index 0000000..c0544b0
Binary files /dev/null and b/superset/assets/images/screenshots/bank_dash.png differ
diff --git a/superset/assets/images/screenshots/deckgl_dash.png b/superset/assets/images/screenshots/deckgl_dash.png
new file mode 100644
index 0000000..6ba049c
Binary files /dev/null and b/superset/assets/images/screenshots/deckgl_dash.png differ
diff --git a/superset/assets/images/screenshots/explore.png b/superset/assets/images/screenshots/explore.png
new file mode 100644
index 0000000..c462a6b
Binary files /dev/null and b/superset/assets/images/screenshots/explore.png differ
diff --git a/superset/assets/images/screenshots/sqllab.png b/superset/assets/images/screenshots/sqllab.png
new file mode 100644
index 0000000..6d35a9b
Binary files /dev/null and b/superset/assets/images/screenshots/sqllab.png differ

-- 
To stop receiving notification emails like this one, please contact
maximebeauchemin@apache.org.