You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2016/08/25 18:48:54 UTC

[51/89] [abbrv] [partial] flink git commit: [FLINK-4317, FLIP-3] [docs] Restructure docs

[FLINK-4317, FLIP-3] [docs] Restructure docs

- Add redirect layout
- Remove Maven artifact name warning
- Add info box if stable, but not latest
- Add font-awesome 4.6.3
- Add sidenav layout

This closes #2387.


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/844c874b
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/844c874b
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/844c874b

Branch: refs/heads/flip-6
Commit: 844c874b52546eaca78af8cbfc6f08cb2b4d873c
Parents: c09ff03
Author: Ufuk Celebi <uc...@apache.org>
Authored: Wed Aug 17 15:06:04 2016 +0200
Committer: Ufuk Celebi <uc...@apache.org>
Committed: Wed Aug 24 11:25:56 2016 +0200

----------------------------------------------------------------------
 LICENSE                                         |    5 +-
 docs/README.md                                  |   42 +-
 docs/_config.yml                                |   17 +-
 docs/_includes/navbar.html                      |  117 -
 docs/_includes/sidenav.html                     |  149 ++
 docs/_layouts/base.html                         |   33 +-
 docs/_layouts/plain.html                        |  130 +-
 docs/_layouts/redirect.html                     |   27 +
 docs/apis/batch/connectors.md                   |  242 --
 docs/apis/batch/dataset_transformations.md      | 2338 ------------------
 docs/apis/batch/examples.md                     |  521 ----
 docs/apis/batch/fault_tolerance.md              |  100 -
 docs/apis/batch/fig/LICENSE.txt                 |   17 -
 .../fig/iterations_delta_iterate_operator.png   |  Bin 113607 -> 0 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 335057 -> 0 bytes
 .../batch/fig/iterations_iterate_operator.png   |  Bin 63465 -> 0 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 102925 -> 0 bytes
 docs/apis/batch/fig/iterations_supersteps.png   |  Bin 54098 -> 0 bytes
 docs/apis/batch/hadoop_compatibility.md         |  249 --
 docs/apis/batch/index.md                        | 2274 -----------------
 docs/apis/batch/iterations.md                   |  213 --
 docs/apis/batch/libs/fig/LICENSE.txt            |   17 -
 .../apis/batch/libs/fig/gelly-example-graph.png |  Bin 18813 -> 0 bytes
 docs/apis/batch/libs/fig/gelly-filter.png       |  Bin 57192 -> 0 bytes
 docs/apis/batch/libs/fig/gelly-gsa-sssp1.png    |  Bin 31201 -> 0 bytes
 .../apis/batch/libs/fig/gelly-reduceOnEdges.png |  Bin 23843 -> 0 bytes
 .../batch/libs/fig/gelly-reduceOnNeighbors.png  |  Bin 34903 -> 0 bytes
 docs/apis/batch/libs/fig/gelly-union.png        |  Bin 50498 -> 0 bytes
 docs/apis/batch/libs/fig/gelly-vc-sssp1.png     |  Bin 28537 -> 0 bytes
 .../libs/fig/vertex-centric supersteps.png      |  Bin 80198 -> 0 bytes
 docs/apis/batch/libs/gelly.md                   |   26 -
 docs/apis/batch/libs/gelly/graph_algorithms.md  |  311 ---
 docs/apis/batch/libs/gelly/graph_api.md         |  836 -------
 docs/apis/batch/libs/gelly/graph_generators.md  |  657 -----
 docs/apis/batch/libs/gelly/index.md             |   74 -
 .../libs/gelly/iterative_graph_processing.md    |  971 --------
 docs/apis/batch/libs/gelly/library_methods.md   |  350 ---
 docs/apis/batch/libs/index.md                   |   29 -
 docs/apis/batch/libs/ml/als.md                  |  178 --
 docs/apis/batch/libs/ml/contribution_guide.md   |  110 -
 docs/apis/batch/libs/ml/cross_validation.md     |  175 --
 docs/apis/batch/libs/ml/distance_metrics.md     |  111 -
 docs/apis/batch/libs/ml/index.md                |  151 --
 docs/apis/batch/libs/ml/knn.md                  |  149 --
 docs/apis/batch/libs/ml/min_max_scaler.md       |  116 -
 .../batch/libs/ml/multiple_linear_regression.md |  164 --
 docs/apis/batch/libs/ml/optimization.md         |  385 ---
 docs/apis/batch/libs/ml/pipelines.md            |  445 ----
 docs/apis/batch/libs/ml/polynomial_features.md  |  111 -
 docs/apis/batch/libs/ml/quickstart.md           |  244 --
 docs/apis/batch/libs/ml/standard_scaler.md      |  116 -
 docs/apis/batch/libs/ml/svm.md                  |  223 --
 docs/apis/batch/libs/table.md                   |   26 -
 docs/apis/batch/python.md                       |  638 -----
 docs/apis/batch/zip_elements_guide.md           |  128 -
 docs/apis/best_practices.md                     |  403 ---
 docs/apis/cli.md                                |  322 ---
 docs/apis/cluster_execution.md                  |  156 --
 docs/apis/common/fig/plan_visualizer.png        |  Bin 145778 -> 0 bytes
 docs/apis/common/index.md                       | 1352 ----------
 docs/apis/connectors.md                         |   23 -
 docs/apis/index.md                              |   21 -
 docs/apis/java8.md                              |  198 --
 docs/apis/local_execution.md                    |  126 -
 docs/apis/metrics.md                            |  470 ----
 docs/apis/programming_guide.md                  |   26 -
 docs/apis/scala_api_extensions.md               |  409 ---
 docs/apis/scala_shell.md                        |  197 --
 docs/apis/streaming/connectors/cassandra.md     |  158 --
 docs/apis/streaming/connectors/elasticsearch.md |  183 --
 .../apis/streaming/connectors/elasticsearch2.md |  144 --
 .../streaming/connectors/filesystem_sink.md     |  133 -
 docs/apis/streaming/connectors/index.md         |   47 -
 docs/apis/streaming/connectors/kafka.md         |  293 ---
 docs/apis/streaming/connectors/kinesis.md       |  322 ---
 docs/apis/streaming/connectors/nifi.md          |  141 --
 docs/apis/streaming/connectors/rabbitmq.md      |  132 -
 docs/apis/streaming/connectors/redis.md         |  177 --
 docs/apis/streaming/connectors/twitter.md       |   89 -
 docs/apis/streaming/event_time.md               |  208 --
 .../streaming/event_timestamp_extractors.md     |  108 -
 .../streaming/event_timestamps_watermarks.md    |  332 ---
 docs/apis/streaming/fault_tolerance.md          |  462 ----
 docs/apis/streaming/fig/LICENSE.txt             |   17 -
 .../fig/parallel_streams_watermarks.svg         |  516 ----
 docs/apis/streaming/fig/rescale.svg             |  472 ----
 docs/apis/streaming/fig/savepoints-overview.png |  Bin 62824 -> 0 bytes
 .../streaming/fig/savepoints-program_ids.png    |  Bin 55492 -> 0 bytes
 .../streaming/fig/stream_watermark_in_order.svg |  314 ---
 .../fig/stream_watermark_out_of_order.svg       |  314 ---
 docs/apis/streaming/fig/times_clocks.svg        |  368 ---
 docs/apis/streaming/index.md                    | 1787 -------------
 docs/apis/streaming/libs/cep.md                 |  659 -----
 docs/apis/streaming/libs/index.md               |   27 -
 docs/apis/streaming/non-windowed.svg            |   22 -
 docs/apis/streaming/savepoints.md               |  110 -
 docs/apis/streaming/session-windows.svg         |   22 -
 docs/apis/streaming/sliding-windows.svg         |   22 -
 docs/apis/streaming/state.md                    |  295 ---
 docs/apis/streaming/state_backends.md           |  163 --
 docs/apis/streaming/storm_compatibility.md      |  287 ---
 docs/apis/streaming/tumbling-windows.svg        |   22 -
 docs/apis/streaming/windows.md                  |  678 -----
 docs/apis/streaming_guide.md                    |   26 -
 docs/apis/table.md                              | 2082 ----------------
 docs/concepts/concepts.md                       |  246 --
 docs/concepts/fig/checkpoints.svg               |  249 --
 .../fig/event_ingestion_processing_time.svg     |  375 ---
 docs/concepts/fig/parallel_dataflow.svg         |  487 ----
 docs/concepts/fig/processes.svg                 |  749 ------
 docs/concepts/fig/program_dataflow.svg          |  546 ----
 docs/concepts/fig/slot_sharing.svg              |  721 ------
 docs/concepts/fig/state_partitioning.svg        |  291 ---
 docs/concepts/fig/tasks_chains.svg              |  463 ----
 docs/concepts/fig/tasks_slots.svg               |  395 ---
 docs/concepts/fig/windows.svg                   |  193 --
 docs/concepts/index.md                          |  249 ++
 docs/dev/api_concepts.md                        | 1349 ++++++++++
 docs/dev/apis.md                                |   24 +
 docs/dev/batch/connectors.md                    |  238 ++
 docs/dev/batch/dataset_transformations.md       | 2335 +++++++++++++++++
 docs/dev/batch/examples.md                      |  519 ++++
 docs/dev/batch/fault_tolerance.md               |   98 +
 docs/dev/batch/hadoop_compatibility.md          |  248 ++
 docs/dev/batch/index.md                         | 2267 +++++++++++++++++
 docs/dev/batch/iterations.md                    |  212 ++
 docs/dev/batch/python.md                        |  635 +++++
 docs/dev/batch/zip_elements_guide.md            |  126 +
 docs/dev/cluster_execution.md                   |  155 ++
 docs/dev/connectors/cassandra.md                |  155 ++
 docs/dev/connectors/elasticsearch.md            |  180 ++
 docs/dev/connectors/elasticsearch2.md           |  141 ++
 docs/dev/connectors/filesystem_sink.md          |  130 +
 docs/dev/connectors/index.md                    |   46 +
 docs/dev/connectors/kafka.md                    |  289 +++
 docs/dev/connectors/kinesis.md                  |  319 +++
 docs/dev/connectors/nifi.md                     |  138 ++
 docs/dev/connectors/rabbitmq.md                 |  129 +
 docs/dev/connectors/redis.md                    |  174 ++
 docs/dev/connectors/twitter.md                  |   85 +
 docs/dev/datastream_api.md                      | 1779 +++++++++++++
 docs/dev/event_time.md                          |  206 ++
 docs/dev/event_timestamp_extractors.md          |  106 +
 docs/dev/event_timestamps_watermarks.md         |  329 +++
 docs/dev/index.md                               |   25 +
 docs/dev/java8.md                               |  196 ++
 docs/dev/libraries.md                           |   24 +
 docs/dev/libs/cep.md                            |  652 +++++
 docs/dev/libs/gelly/graph_algorithms.md         |  308 +++
 docs/dev/libs/gelly/graph_api.md                |  833 +++++++
 docs/dev/libs/gelly/graph_generators.md         |  654 +++++
 docs/dev/libs/gelly/index.md                    |   69 +
 .../libs/gelly/iterative_graph_processing.md    |  968 ++++++++
 docs/dev/libs/gelly/library_methods.md          |  347 +++
 docs/dev/libs/ml/als.md                         |  175 ++
 docs/dev/libs/ml/contribution_guide.md          |  106 +
 docs/dev/libs/ml/cross_validation.md            |  171 ++
 docs/dev/libs/ml/distance_metrics.md            |  107 +
 docs/dev/libs/ml/index.md                       |  144 ++
 docs/dev/libs/ml/knn.md                         |  144 ++
 docs/dev/libs/ml/min_max_scaler.md              |  112 +
 docs/dev/libs/ml/multiple_linear_regression.md  |  160 ++
 docs/dev/libs/ml/optimization.md                |  382 +++
 docs/dev/libs/ml/pipelines.md                   |  441 ++++
 docs/dev/libs/ml/polynomial_features.md         |  108 +
 docs/dev/libs/ml/quickstart.md                  |  243 ++
 docs/dev/libs/ml/standard_scaler.md             |  113 +
 docs/dev/libs/ml/svm.md                         |  220 ++
 docs/dev/libs/storm_compatibility.md            |  287 +++
 docs/dev/local_execution.md                     |  125 +
 docs/dev/quickstarts.md                         |   24 +
 docs/dev/scala_api_extensions.md                |  408 +++
 docs/dev/scala_shell.md                         |  193 ++
 docs/dev/state.md                               |  293 +++
 docs/dev/state_backends.md                      |  162 ++
 docs/dev/table_api.md                           | 2079 ++++++++++++++++
 docs/dev/types_serialization.md                 |  253 ++
 docs/dev/windows.md                             |  677 +++++
 docs/fig/ClientJmTm.svg                         |  348 +++
 docs/fig/FlinkOnYarn.svg                        |  151 ++
 docs/fig/back_pressure_sampling.png             |  Bin 0 -> 17635 bytes
 docs/fig/back_pressure_sampling_high.png        |  Bin 0 -> 77546 bytes
 docs/fig/back_pressure_sampling_in_progress.png |  Bin 0 -> 79112 bytes
 docs/fig/back_pressure_sampling_ok.png          |  Bin 0 -> 79668 bytes
 docs/fig/checkpointing.svg                      | 1731 +++++++++++++
 docs/fig/checkpoints.svg                        |  249 ++
 docs/fig/event_ingestion_processing_time.svg    |  375 +++
 docs/fig/flink-on-emr.png                       |  Bin 0 -> 103880 bytes
 docs/fig/gelly-example-graph.png                |  Bin 0 -> 18813 bytes
 docs/fig/gelly-filter.png                       |  Bin 0 -> 57192 bytes
 docs/fig/gelly-gsa-sssp1.png                    |  Bin 0 -> 31201 bytes
 docs/fig/gelly-reduceOnEdges.png                |  Bin 0 -> 23843 bytes
 docs/fig/gelly-reduceOnNeighbors.png            |  Bin 0 -> 34903 bytes
 docs/fig/gelly-union.png                        |  Bin 0 -> 50498 bytes
 docs/fig/gelly-vc-sssp1.png                     |  Bin 0 -> 28537 bytes
 docs/fig/iterations_delta_iterate_operator.png  |  Bin 0 -> 113607 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 0 -> 335057 bytes
 docs/fig/iterations_iterate_operator.png        |  Bin 0 -> 63465 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 0 -> 102925 bytes
 docs/fig/iterations_supersteps.png              |  Bin 0 -> 54098 bytes
 docs/fig/job_and_execution_graph.svg            |  851 +++++++
 docs/fig/job_status.svg                         | 1049 ++++++++
 docs/fig/jobmanager_ha_overview.png             |  Bin 0 -> 57875 bytes
 docs/fig/non-windowed.svg                       |   22 +
 docs/fig/parallel_dataflow.svg                  |  487 ++++
 docs/fig/parallel_streams_watermarks.svg        |  516 ++++
 docs/fig/plan_visualizer.png                    |  Bin 0 -> 145778 bytes
 docs/fig/processes.svg                          |  749 ++++++
 docs/fig/program_dataflow.svg                   |  546 ++++
 docs/fig/projects_dependencies.svg              |  580 +++++
 docs/fig/rescale.svg                            |  472 ++++
 docs/fig/savepoints-overview.png                |  Bin 0 -> 62824 bytes
 docs/fig/savepoints-program_ids.png             |  Bin 0 -> 55492 bytes
 docs/fig/session-windows.svg                    |   22 +
 docs/fig/sliding-windows.svg                    |   22 +
 docs/fig/slot_sharing.svg                       |  721 ++++++
 docs/fig/slots.svg                              |  505 ++++
 docs/fig/slots_parallelism.svg                  |  695 ++++++
 docs/fig/stack.svg                              |  606 +++++
 docs/fig/state_machine.svg                      |  318 +++
 docs/fig/state_partitioning.svg                 |  291 +++
 docs/fig/stream_aligning.svg                    |  877 +++++++
 docs/fig/stream_barriers.svg                    |  309 +++
 docs/fig/stream_watermark_in_order.svg          |  314 +++
 docs/fig/stream_watermark_out_of_order.svg      |  314 +++
 docs/fig/tasks_chains.svg                       |  463 ++++
 docs/fig/tasks_slots.svg                        |  395 +++
 docs/fig/times_clocks.svg                       |  368 +++
 docs/fig/tumbling-windows.svg                   |   22 +
 docs/fig/vertex-centric supersteps.png          |  Bin 0 -> 80198 bytes
 docs/fig/windows.svg                            |  193 ++
 docs/index.md                                   |   27 +-
 docs/internals/_draft_distributed_akka.md       |   47 -
 docs/internals/add_operator.md                  |   24 +-
 docs/internals/back_pressure_monitoring.md      |   83 -
 docs/internals/coding_guidelines.md             |   25 -
 docs/internals/fig/ClientJmTm.svg               |  348 ---
 docs/internals/fig/LICENSE.txt                  |   17 -
 docs/internals/fig/back_pressure_sampling.png   |  Bin 17635 -> 0 bytes
 .../fig/back_pressure_sampling_high.png         |  Bin 77546 -> 0 bytes
 .../fig/back_pressure_sampling_in_progress.png  |  Bin 79112 -> 0 bytes
 .../internals/fig/back_pressure_sampling_ok.png |  Bin 79668 -> 0 bytes
 docs/internals/fig/checkpointing.svg            | 1731 -------------
 docs/internals/fig/job_and_execution_graph.svg  |  851 -------
 docs/internals/fig/job_status.svg               | 1049 --------
 docs/internals/fig/projects_dependencies.svg    |  580 -----
 docs/internals/fig/slots.svg                    |  505 ----
 docs/internals/fig/stack.svg                    |  606 -----
 docs/internals/fig/state_machine.svg            |  318 ---
 docs/internals/fig/stream_aligning.svg          |  877 -------
 docs/internals/fig/stream_barriers.svg          |  309 ---
 docs/internals/general_arch.md                  |   32 +-
 docs/internals/how_to_contribute.md             |   25 -
 docs/internals/ide_setup.md                     |   19 +-
 docs/internals/index.md                         |    4 +
 docs/internals/job_scheduling.md                |   23 +-
 docs/internals/logging.md                       |  106 -
 docs/internals/monitoring_rest_api.md           |  589 -----
 docs/internals/stream_checkpointing.md          |   25 +-
 docs/internals/types_serialization.md           |  258 --
 docs/libs/cep/index.md                          |   25 -
 docs/libs/gelly_guide.md                        |   25 -
 docs/libs/index.md                              |   25 -
 docs/libs/ml/als.md                             |   25 -
 docs/libs/ml/contribution_guide.md              |   25 -
 docs/libs/ml/distance_metrics.md                |   25 -
 docs/libs/ml/index.md                           |   25 -
 docs/libs/ml/min_max_scaler.md                  |   25 -
 docs/libs/ml/multiple_linear_regression.md      |   25 -
 docs/libs/ml/optimization.md                    |   25 -
 docs/libs/ml/pipelines.md                       |   25 -
 docs/libs/ml/polynomial_features.md             |   25 -
 docs/libs/ml/quickstart.md                      |   25 -
 docs/libs/ml/standard_scaler.md                 |   25 -
 docs/libs/ml/svm.md                             |   25 -
 docs/libs/table.md                              |   29 -
 docs/monitoring/back_pressure.md                |   81 +
 docs/monitoring/best_practices.md               |  402 +++
 docs/monitoring/index.md                        |   25 +
 docs/monitoring/logging.md                      |   98 +
 docs/monitoring/metrics.md                      |  468 ++++
 docs/monitoring/rest_api.md                     |  586 +++++
 docs/page/css/flink.css                         |  174 +-
 docs/page/font-awesome/css/font-awesome.css     | 2199 ++++++++++++++++
 docs/page/font-awesome/css/font-awesome.min.css |    4 +
 docs/page/font-awesome/fonts/FontAwesome.otf    |  Bin 0 -> 124988 bytes
 .../font-awesome/fonts/fontawesome-webfont.eot  |  Bin 0 -> 76518 bytes
 .../font-awesome/fonts/fontawesome-webfont.svg  |  685 +++++
 .../font-awesome/fonts/fontawesome-webfont.ttf  |  Bin 0 -> 152796 bytes
 .../font-awesome/fonts/fontawesome-webfont.woff |  Bin 0 -> 90412 bytes
 .../fonts/fontawesome-webfont.woff2             |  Bin 0 -> 71896 bytes
 docs/quickstart/java_api_quickstart.md          |   22 +-
 docs/quickstart/run_example_quickstart.md       |    7 +-
 docs/quickstart/scala_api_quickstart.md         |   21 +-
 docs/quickstart/setup_quickstart.md             |   11 +-
 docs/redirects/back_pressure.md                 |   24 +
 docs/redirects/basic_api_concepts.md            |   24 +
 docs/redirects/best_practices.md                |   24 +
 docs/redirects/cassandra.md                     |   24 +
 docs/redirects/cep.md                           |   24 +
 docs/redirects/cli.md                           |   24 +
 docs/redirects/cluster_execution.md             |   24 +
 docs/redirects/concepts.md                      |   24 +
 docs/redirects/connectors.md                    |   24 +
 docs/redirects/datastream_api.md                |   24 +
 docs/redirects/elasticsearch.md                 |   24 +
 docs/redirects/elasticsearch2.md                |   24 +
 docs/redirects/event_time.md                    |   24 +
 docs/redirects/event_timestamp_extractors.md    |   24 +
 docs/redirects/event_timestamps_watermarks.md   |   24 +
 docs/redirects/fault_tolerance.md               |   24 +
 docs/redirects/filesystem_sink.md               |   24 +
 docs/redirects/gelly.md                         |   24 +
 docs/redirects/java8.md                         |   24 +
 docs/redirects/kafka.md                         |   24 +
 docs/redirects/kinesis.md                       |   24 +
 docs/redirects/local_execution.md               |   24 +
 docs/redirects/metrics.md                       |   24 +
 docs/redirects/ml.md                            |   24 +
 docs/redirects/programming_guide.md             |   24 +
 docs/redirects/rest_api.md                      |   24 +
 docs/redirects/savepoints.md                    |   24 +
 docs/redirects/scala_api_extensions.md          |   24 +
 docs/redirects/scala_shell.md                   |   24 +
 docs/redirects/state.md                         |   24 +
 docs/redirects/state_backends.md                |   24 +
 docs/redirects/storm_compat.md                  |   24 +
 docs/redirects/streaming_guide.md               |   24 +
 docs/redirects/table.md                         |   24 +
 docs/redirects/types_serialization.md           |   24 +
 docs/redirects/windows.md                       |   24 +
 docs/setup/aws.md                               |   12 +-
 docs/setup/building.md                          |    5 +-
 docs/setup/cli.md                               |  322 +++
 docs/setup/cluster_setup.md                     |    7 +-
 docs/setup/config.md                            |   12 +-
 docs/setup/deployment.md                        |   24 +
 docs/setup/fault_tolerance.md                   |  460 ++++
 docs/setup/fig/FlinkOnYarn.svg                  |  151 --
 docs/setup/fig/LICENSE.txt                      |   17 -
 docs/setup/fig/flink-on-emr.png                 |  Bin 103880 -> 0 bytes
 docs/setup/fig/jobmanager_ha_overview.png       |  Bin 57875 -> 0 bytes
 docs/setup/fig/slots_parallelism.svg            |  695 ------
 docs/setup/gce_setup.md                         |    6 +-
 docs/setup/index.md                             |    6 +-
 docs/setup/jobmanager_high_availability.md      |   12 +-
 docs/setup/local_setup.md                       |    7 +-
 docs/setup/savepoints.md                        |  109 +
 docs/setup/yarn_setup.md                        |   12 +-
 pom.xml                                         |    1 +
 350 files changed, 45243 insertions(+), 42334 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 07df05f..f7699da 100644
--- a/LICENSE
+++ b/LICENSE
@@ -225,7 +225,7 @@ The Apache Flink project bundles the following files under the MIT License:
  - dagre v0.7.4 (https://github.com/cpettitt/dagre) - Copyright (c) 2012-2014 Chris Pettitt
  - dagre-d3 v0.4.17 (https://github.com/cpettitt/dagre-d3) - Copyright (c) 2013 Chris Pettitt
  - EvEmitter v1.0.2 (https://github.com/metafizzy/ev-emitter) - Copyright (C) 2016 David DeSandro
- - Font Awesome (code) v4.5.0 (http://fontawesome.io) - Copyright (c) 2014 Dave Gandy
+ - Font Awesome (code) v4.5.0, v4.6.3 (http://fontawesome.io) - Copyright (c) 2014 Dave Gandy
  - graphlib v1.0.7 (https://github.com/cpettitt/graphlib) - Copyright (c) 2012-2014 Chris Pettitt
  - imagesloaded v4.1.0 (https://github.com/desandro/imagesloaded) - Copyright (C) 2016 David DeSandro
  - JQuery v2.2.0 (http://jquery.com/) - Copyright 2014 jQuery Foundation and other contributors
@@ -300,7 +300,8 @@ The Apache Flink project bundles the following fonts under the
 Open Font License (OFT) - http://scripts.sil.org/OFL
 
  - Font Awesome (http://fortawesome.github.io/Font-Awesome/) - Created by Dave Gandy
-   -> fonts in "flink-runtime-web/web-dashboard/assets/fonts"
+   -> fonts in "flink-runtime-web/web-dashboard/web/fonts"
+   -> fonts in "docs/page/font-awesome/fonts"
 
 -----------------------------------------------------------------------
  The ISC License

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/README.md
----------------------------------------------------------------------
diff --git a/docs/README.md b/docs/README.md
index 52dfad3..879c33b 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -109,43 +109,19 @@ These will be replaced by a info or warning label. You can change the text of th
 
 ### Documentation
 
-#### Top Navigation
+#### Navigation
 
-You can modify the top-level navigation in two places. You can either edit the `_includes/navbar.html` file or add tags to your page frontmatter (recommended).
+The navigation on the left side of the docs is automatically generated when building the docs. You can modify the markup in `_include/sidenav.html`.
 
-    # Top-level navigation
-    top-nav-group: apis
-    top-nav-pos: 2
-    top-nav-title: <strong>Batch Guide</strong> (DataSet API)
+The structure of the navigation is determined by the front matter of all pages. The fields used to determine the structure are:
 
-This adds the page to the group `apis` (via `top-nav-group`) at position `2` (via `top-nav-pos`). Furthermore, it specifies a custom title for the navigation via `top-nav-title`. If this field is missing, the regular page title (via `title`) will be used. If no position is specified, the element will be added to the end of the group. If no group is specified, the page will not show up.
+- `nav-id` => ID of this page. Other pages can use this ID as their parent ID.
+- `nav-parent_id` => ID of the parent. This page will be listed under the page with id `nav-parent_id`.
 
-Currently, there are groups `quickstart`, `setup`, `deployment`, `apis`, `libs`, and `internals`.
+Level 0 is made up of all pages, which have nav-parent_id set to `root`. There is no limitation on how many levels you can nest.
 
-#### Sub Navigation
+The `title` of the page is used as the default link text. You can override this via `nav-title`. The relative position per navigational level is determined by `nav-pos`.
 
-A sub navigation is shown if the field `sub-nav-group` is specified. A sub navigation groups all pages with the same `sub-nav-group`. Check out the streaming or batch guide as an example.
+If you have a page with sub pages, the link target will be used to expand the sub level navigation. If you want to actually add a link to the page as well, you can add the `nav-show_overview: true` field to the front matter. This will then add an `Overview` sub page to the expanded list.
 
-    # Sub-level navigation
-    sub-nav-group: batch
-    sub-nav-id: dataset_api
-    sub-nav-pos: 1
-    sub-nav-title: DataSet API
-
-The fields work similar to their `top-nav-*` counterparts.
-
-In addition, you can specify a hierarchy via `sub-nav-id` and `sub-nav-parent`:
-
-    # Sub-level navigation
-    sub-nav-group: batch
-    sub-nav-parent: dataset_api
-    sub-nav-pos: 1
-    sub-nav-title: Transformations
-
-This will show the `Transformations` page under the `DataSet API` page. The `sub-nav-parent` field has to have a matching `sub-nav-id`.
-
-#### Breadcrumbs
-
-Pages with sub navigations can use breadcrumbs like `Batch Guide > Libraries > Machine Learning > Optimization`.
-
-The breadcrumbs for the last page are generated from the front matter. For the a sub navigation root to appear (like `Batch Guide` in the example above), you have to specify the `sub-nav-group-title`. This field designates a group page as the root.
+The nesting is also used for the breadcrumbs like `Application Development > Libraries > Machine Learning > Optimization`.

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/_config.yml
----------------------------------------------------------------------
diff --git a/docs/_config.yml b/docs/_config.yml
index d9bb57e..700d289 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -29,6 +29,7 @@
 version: "1.2-SNAPSHOT"
 version_hadoop1: "1.2-hadoop1-SNAPSHOT"
 version_short: "1.2" # Used for the top navbar w/o snapshot suffix
+is_snapshot_version: true
 
 # This suffix is appended to the Scala-dependent Maven artifact names
 scala_version_suffix: "_2.10"
@@ -40,6 +41,16 @@ jira_url: "https://issues.apache.org/jira/browse/FLINK"
 github_url: "https://github.com/apache/flink"
 download_url: "http://flink.apache.org/downloads.html"
 
+# Flag whether this is the latest stable version or not. If not, a warning
+# will be printed pointing to the docs of the latest stable version.
+is_latest: true
+is_stable: false
+latest_stable_url: http://ci.apache.org/projects/flink/flink-docs-release-1.1
+
+previous_docs:
+  1.1: http://ci.apache.org/projects/flink/flink-docs-release-1.1
+  1.0: http://ci.apache.org/projects/flink/flink-docs-release-1.0
+
 #------------------------------------------------------------------------------
 # BUILD CONFIG
 #------------------------------------------------------------------------------
@@ -47,14 +58,16 @@ download_url: "http://flink.apache.org/downloads.html"
 # to change anything here.
 #------------------------------------------------------------------------------
 
+# Used in some documents to initialize arrays. Don't delete.
+array: []
+
 defaults:
   -
     scope:
       path: ""
     values:
       layout: plain
-      top-nav-pos: 99999 # Move to end
-      sub-nav-pos: 99999 # Move to end
+      nav-pos: 99999 # Move to end if no pos specified
 
 markdown: KramdownPygments
 highlighter: pygments

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/docs/_includes/navbar.html b/docs/_includes/navbar.html
deleted file mode 100644
index 5821a46..0000000
--- a/docs/_includes/navbar.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-{% capture quickstart %}{{site.baseurl}}/quickstart{% endcapture %}
-{% capture setup %}{{site.baseurl}}/setup{% endcapture %}
-{% capture apis %}{{site.baseurl}}/apis{% endcapture %}
-{% capture libs %}{{site.baseurl}}/libs{% endcapture %}
-{% capture internals %}{{site.baseurl}}/internals{% endcapture %}
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="{{ site.baseurl }}/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li class="hidden-sm {% if page.url == '/' %}active{% endif %}"><a href="{{ site.baseurl}}/">Docs v{{ site.version_short }}</a></li>
-
-            <li class="{% if page.url == '/concepts/concepts.html' %}active{% endif %}"><a href="{{ site.baseurl}}/concepts/concepts.html">Concepts</a></li>
-
-            <!-- Setup -->
-            <li class="dropdown{% if page.url contains '/setup/' %} active{% endif %}">
-              <a href="{{ setup }}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                {% assign setup_group = (site.pages | where: "top-nav-group" , "setup" | sort: "top-nav-pos") %}
-                {% for setup_group_page in setup_group %}
-                <li class="{% if page.url contains setup_group_page.url %}active{% endif %}"><a href="{{ site.baseurl }}{{ setup_group_page.url }}">{% if setup_group_page.top-nav-title %}{{ setup_group_page.top-nav-title }}{% else %}{{ setup_group_page.title }}{% endif %}</a></li>
-                {% endfor %}
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Quickstart</strong></li>
-
-                <!-- Quickstart -->
-                {% assign quickstart_group = (site.pages | where: "top-nav-group" , "quickstart" | sort: "top-nav-pos") %}
-                {% for quickstart_page in quickstart_group %}
-                <li class="{% if page.url contains quickstart_page.url %}active{% endif %}"><a href="{{ site.baseurl }}{{ quickstart_page.url }}">{% if quickstart_page.top-nav-title %}{{ quickstart_page.top-nav-title }}{% else %}{{ quickstart_page.title }}{% endif %}</a></li>
-                {% endfor %}
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                {% assign deployment_group = (site.pages | where: "top-nav-group" , "deployment" | sort: "top-nav-pos") %}
-                {% for deployment_group_page in deployment_group %}
-                <li class="{% if page.url contains deployment_group_page.url %}active{% endif %}"><a href="{{ site.baseurl }}{{ deployment_group_page.url }}">{% if deployment_group_page.top-nav-title %}{{ deployment_group_page.top-nav-title }}{% else %}{{ deployment_group_page.title }}{% endif %}</a></li>
-                {% endfor %}
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown{% unless page.url contains '/libs/' %}{% if page.url contains '/apis/' %} active{% endif %}{% endunless %}">
-              <a href="{{ apis }}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                {% assign apis_group = (site.pages | where: "top-nav-group" , "apis" | sort: "top-nav-pos") %}
-                {% for apis_group_page in apis_group %}
-                <li class="{% if page.url contains apis_group_page.url %}active{% endif %}"><a href="{{ site.baseurl }}{{ apis_group_page.url }}">{% if apis_group_page.top-nav-title %}{{ apis_group_page.top-nav-title }}{% else %}{{ apis_group_page.title }}{% endif %}</a></li>
-                {% endfor %}
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown{% if page.url contains '/libs/' %} active{% endif %}">
-              <a href="{{ libs }}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  {% assign libs_group = (site.pages | where: "top-nav-group" , "libs" | sort: "top-nav-pos") %}
-                  {% for libs_page in libs_group %}
-                  <li class="{% if page.url contains libs_page.url %}active{% endif %}"><a href="{{ site.baseurl }}{{ libs_page.url }}">{% if libs_page.top-nav-title %}{{ libs_page.top-nav-title }}{% else %}{{ libs_page.title }}{% endif %}</a></li>
-                  {% endfor %}
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown{% if page.url contains '/internals/' %} active{% endif %}">
-              <a href="{{ internals }}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/how-to-contribute.html"><small><span class="glyphicon glyphicon-new-window"></span></small> How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/contribute-code.html#coding-guidelines"><small><span class="glyphicon glyphicon-new-window"></span></small> Coding Guidelines</a></li>
-                {% assign internals_group = (site.pages | where: "top-nav-group" , "internals" | sort: "top-nav-pos") %}
-                {% for internals_page in internals_group %}
-                <li class="{% if page.url contains internals_page.url %}active{% endif %}"><a href="{{ site.baseurl }}{{ internals_page.url }}">{% if internals_page.top-nav-title %}{{ internals_page.top-nav-title }}{% else %}{{ internals_page.title }}{% endif %}</a></li>
-                {% endfor %}
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="{{site.baseurl}}/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" size="16px" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/_includes/sidenav.html
----------------------------------------------------------------------
diff --git a/docs/_includes/sidenav.html b/docs/_includes/sidenav.html
new file mode 100644
index 0000000..b56bcf2
--- /dev/null
+++ b/docs/_includes/sidenav.html
@@ -0,0 +1,149 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+{% comment %}
+==============================================================================
+Extract the active nav IDs.
+==============================================================================
+{% endcomment %}
+
+{% assign active_nav_ids = site.array %}
+{% assign parent_id = page.nav-parent_id %}
+
+{% for i in (1..10) %}
+  {% if parent_id %}
+    {% assign active_nav_ids = active_nav_ids | push: parent_id %}
+    {% assign current = (site.pages | where: "nav-id" , parent_id | sort: "nav-pos") %}
+    {% if current.size > 0 %}
+      {% assign parent_id = current[0].nav-parent_id %}
+    {% else %}
+      {% break %}
+    {% endif %}
+  {% else %}
+    {% break %}
+  {% endif %}
+{% endfor %}
+
+{% comment %}
+==============================================================================
+Build the nested list from nav-id and nav-parent_id relations.
+==============================================================================
+This builds a nested list from all pages. The fields used to determine the
+structure are:
+
+- 'nav-id' => ID of this page. Other pages can use this ID as their
+  parent ID.
+- 'nav-parent_id' => ID of the parent. This page will be listed under
+  the page with id 'nav-parent_id'.
+
+Level 0 is made up of all pages, which have nav-parent_id set to 'root'.
+
+The 'title' of the page is used as the default link text. You can
+override this via 'nav-title'. The relative position per navigational
+level is determined by 'nav-pos'.
+{% endcomment %}
+
+{% assign elementsPosStack = site.array %}
+{% assign posStack = site.array %}
+
+{% assign elements = site.array %}
+{% assign children = (site.pages | where: "nav-parent_id" , "root" | sort: "nav-pos") %}
+{% if children.size > 0 %}
+  {% assign elements = elements | push: children %}
+{% endif %}
+
+{% assign elementsPos = 0 %}
+{% assign pos = 0 %}
+
+<div class="sidenav-logo">
+  <p><a href="{{ site.baseurl }}"><img class="bottom" alt="Apache Flink" src="{{ site.baseurl }}/page/img/navbar-brand-logo.jpg"></a> v{{ site.version }}</p>
+</div>
+<ul id="sidenav">
+{% for i in (1..10000) %}
+  {% if pos >= elements[elementsPos].size %}
+    {% if elementsPos == 0 %}
+      {% break %}
+    {% else %}
+      {% assign elementsPos = elementsPosStack | last %}
+      {% assign pos = posStack | last %}
+</li></ul></div>
+      {% assign elementsPosStack = elementsPosStack | pop %}
+      {% assign posStack = posStack | pop %}
+    {% endif %}
+  {% else %}
+    {% assign this = elements[elementsPos][pos] %}
+
+    {% if this.url == page.url %}
+      {% assign active = true %}
+    {% elsif this.nav-id and active_nav_ids contains this.nav-id %}
+      {% assign active = true %}
+    {% else %}
+      {% assign active = false %}
+    {% endif %}
+
+    {% capture title %}{% if this.nav-title %}{{ this.nav-title }}{% else %}{{ this.title }}{% endif %}{% endcapture %}
+    {% capture target %}"{{ site.baseurl }}{{ this.url }}"{% if active %} class="active"{% endif %}{% endcapture %}
+    {% capture overview_target %}"{{ site.baseurl }}{{ this.url }}"{% if this.url == page.url %} class="active"{% endif %}{% endcapture %}
+
+    {% assign pos = pos | plus: 1 %}
+    {% if this.nav-id %}
+      {% assign children = (site.pages | where: "nav-parent_id" , this.nav-id | sort: "nav-pos") %}
+      {% if children.size > 0 %}
+        {% capture collapse_target %}"#collapse-{{ i }}" data-toggle="collapse"{% if active %} class="active"{% endif %}{% endcapture %}
+        {% capture expand %}{% unless active %} <i class="fa fa-caret-down pull-right" aria-hidden="true" style="padding-top: 4px"></i>{% endunless %}{% endcapture %}
+<li><a href={{ collapse_target }}>{{ title }}{{ expand }}</a><div class="collapse{% if active %} in{% endif %}" id="collapse-{{ i }}"><ul>
+  {% if this.nav-show_overview %}<li><a href={{ overview_target }}>Overview</a></li>{% endif %}
+        {% assign elements = elements | push: children %}
+        {% assign elementsPosStack = elementsPosStack | push: elementsPos %}
+        {% assign posStack = posStack | push: pos %}
+
+        {% assign elementsPos = elements.size | minus: 1 %}
+        {% assign pos = 0 %}
+      {% else %}
+<li><a href={{ target }}>{{ title }}</a></li>
+      {% endif %}
+    {% else %}
+<li><a href={{ target }}>{{ title }}</a></li>
+    {% endif %}
+  {% endif %}
+{% endfor %}
+  <li class="divider"></li>
+  <li><a href="http://flink.apache.org"><i class="fa fa-external-link" aria-hidden="true"></i> Project Page</a></li>
+</ul>
+
+<div class="sidenav-search-box">
+  <form class="navbar-form" role="search" action="{{site.baseurl}}/search-results.html">
+    <div class="form-group">
+      <input type="text" class="form-control" size="16px" name="q" placeholder="Search Docs">
+    </div>
+    <button type="submit" class="btn btn-default">Go</button>
+  </form>
+</div>
+
+<div class="sidenav-versions">
+  <div class="dropdown">
+    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Pick Docs Version
+    <span class="caret"></span></button>
+    <ul class="dropdown-menu">
+      {% for d in site.previous_docs %}
+      <li><a href="{{ d[1] }}">v{{ d[0] }}</a></li>
+      {% endfor %}
+    </ul>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/_layouts/base.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html
index 690d2af..21065ec 100644
--- a/docs/_layouts/base.html
+++ b/docs/_layouts/base.html
@@ -32,6 +32,7 @@ under the License.
     <link rel="stylesheet" href="{{ site.baseurl }}/page/css/flink.css">
     <link rel="stylesheet" href="{{ site.baseurl }}/page/css/syntax.css">
     <link rel="stylesheet" href="{{ site.baseurl }}/page/css/codetabs.css">
+    <link rel="stylesheet" href="{{ site.baseurl }}/page/font-awesome/css/font-awesome.min.css">
     {% if page.mathjax %}
     <script type="text/x-mathjax-config">
         MathJax.Hub.Config({
@@ -53,20 +54,36 @@ under the License.
     <![endif]-->
   </head>
   <body>
-    {% comment %} Includes are found in the _includes directory. {% endcomment %}
-    {% include navbar.html %}
-
-    {% if page.mathjax %}
-    {% include latex_commands.html %}
-    {% endif %}
-
     <!-- Main content. -->
     <div class="container">
+      {% if site.is_stable %}
+      {% unless site.is_latest %}
+      <div class="row">
+        <div class="col-sm-12">
+          <div class="alert alert-info">
+              <strong>Note</strong>: This documentation is for Flink version <strong>{{ site.version }}</strong>. There is a more recent stable version available. Please consider updating and <a href="{{ site.latest_stable_url }}">check out the documentation for that version</a>.
+          </div>
+        </div>
+      </div>
+      {% endunless %}
+      {% endif %}
+
       {% comment %}
       This is the base for all content. The content from the layouts found in
       the _layouts directory goes here.
       {% endcomment %}
-      {{ content }}
+      <div class="row">
+        <div class="col-lg-3">
+          {% include sidenav.html %}
+        </div>
+        <div class="col-lg-9 content">
+          {% if page.mathjax %}
+          {% include latex_commands.html %}
+          {% endif %}
+
+          {{ content }}
+        </div>
+      </div>
     </div><!-- /.container -->
 
     <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/_layouts/plain.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/plain.html b/docs/_layouts/plain.html
index 7a076a2..63a6681 100644
--- a/docs/_layouts/plain.html
+++ b/docs/_layouts/plain.html
@@ -19,103 +19,39 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
-<div class="row">
-{% if page.sub-nav-group %}
-{% comment %}
-The plain layout with a sub navigation.
 
-- This is activated via the 'sub-nav-group' field in the preemble.
-- All pages of this sub nav group will be displayed in the sub navigation:
-  * Each element without a 'sub-nav-parent' field will be displayed on the 1st level, where the position is defined via 'sub-nav-pos'.
-  * If the page should be displayed as a child element, it needs to specify a 'sub-nav-parent' field, which matches the 'sub-nav-id' of its parent. The parent only needs to specify this if it expects child nodes.
-{% endcomment %}
-  <!-- Sub Navigation -->
-  <div class="col-sm-3">
-    <ul id="sub-nav">
-      {% comment %} Get all pages belonging to this group sorted by their position {% endcomment %}
-      {% assign group = (site.pages | where: "sub-nav-group" , page.sub-nav-group | where: "sub-nav-parent" , nil | sort: "sub-nav-pos") %}
-      {% for group_page in group %}
-        {% if group_page.sub-nav-id  %}
-        {% assign sub_group = (site.pages | where: "sub-nav-group" , page.sub-nav-group | where: "sub-nav-parent" , group_page.sub-nav-id | sort: "sub-nav-pos") %}
-        {% else %}
-        {% assign sub_group = nil %}
-        {% endif %}
-        <li><a href="{{ site.baseurl }}{{ group_page.url }}" class="{% if page.url contains group_page.url %}active{% endif %}">{% if group_page.sub-nav-title %}{{ group_page.sub-nav-title }}{% else %}{{ group_page.title }}{% endif %}</a>
-          {% if sub_group and sub_group.size() > 0 %}
-          <ul>
-            {% for sub_group_page in sub_group %}
-              <li><a href="{{ site.baseurl }}{{ sub_group_page.url }}" class="{% if page.url contains sub_group_page.url or (sub_group_page.sub-nav-id and page.sub-nav-parent and sub_group_page.sub-nav-id == page.sub-nav-parent) %}active{% endif %}">{% if sub_group_page.sub-nav-title %}{{ sub_group_page.sub-nav-title }}{% else %}{{ sub_group_page.title }}{% endif %}</a></li>
-            {% endfor %}
-          </ul>
-          {% endif %}
-        </li>
-      {% endfor %}
-    </ul>
-  </div>
-  <!-- Main -->
-  <div class="col-sm-9">
-    <!-- Top anchor -->
-    <a href="#top"></a>
+{% assign active_pages = site.array %}
+{% assign active = page %}
+
+{% for i in (1..10) %}
+  {% assign active_pages = active_pages | push: active %}
+  {% if active.nav-parent_id %}
+    {% assign next = (site.pages | where: "nav-id" , active.nav-parent_id ) %}
+    {% if next.size > 0 %}
+      {% assign active = next[0] %}
+    {% else %}
+      {% break %}
+    {% endif %}
+  {% else %}
+    {% break %}
+  {% endif %}
+{% endfor %}
+
+{% assign active_pages = active_pages | reverse %}
+
+<ol class="breadcrumb">
+{% for p in active_pages %}
+  {% capture title %}{% if p.nav-title %}{{ p.nav-title }}{% else %}{{ p.title }}{% endif %}{% endcapture %}
+  {% if forloop.last == true %}
+    <li class="active">{{ title }}</li>
+  {% elsif p.nav-show_overview %}
+    <li><a href="{{ site.baseurl }}{{ p.url }}">{{ title }}</a></li>
+  {% else %}
+    <li>{{ title }}</li>
+  {% endif %}
+{% endfor %}
+</ol>
+
+<h1>{{ page.title }}{% if page.is_beta %} <span class="beta">Beta</span>{% endif %}</h1>
 
-    <!-- Artifact name change warning. Remove for the 1.0 release. -->
-    <div class="panel panel-default">
-      <div class="panel-body"><strong>Important</strong>: Maven artifacts which depend on Scala are now suffixed with the Scala major version, e.g. "2.10" or "2.11". Please consult the <a href="https://cwiki.apache.org/confluence/display/FLINK/Maven+artifact+names+suffixed+with+Scala+version">migration guide on the project Wiki</a>.</div>
-    </div>
-
-    <!-- Breadcrumbs above the main heading -->
-    <ol class="breadcrumb">
-      {% for group_page in group %}
-      {% if group_page.sub-nav-group-title %}
-      <li><a href="{{ site.baseurl }}{{ group_page.url }}">{{ group_page.sub-nav-group-title }}</a></li>
-      {% endif %}
-      {% endfor %}
-
-      {% if page.sub-nav-parent %}
-      {% assign parent = (site.pages | where: "sub-nav-group" , page.sub-nav-group | where: "sub-nav-id" , page.sub-nav-parent | first) %}
-      {% if parent %}
-
-      {% if parent.sub-nav-parent %}
-      {% assign grandparent = (site.pages | where: "sub-nav-group" , page.sub-nav-group | where: "sub-nav-id" , parent.sub-nav-parent | first) %}
-
-      {% if grandparent %}
-      <li><a href="{{ site.baseurl }}{{ grandparent.url }}">{% if grandparent.sub-nav-title %}{{ grandparent.sub-nav-title }}{% else %}{{ grandparent.title }}{% endif %}</a></li>
-      {% endif %}
-
-      {% endif %}
-
-      <li><a href="{{ site.baseurl }}{{ parent.url }}">{% if parent.sub-nav-title %}{{ parent.sub-nav-title }}{% else %}{{ parent.title }}{% endif %}</a></li>
-      {% endif %}
-      {% endif %}
-      <li class="active">{% if page.sub-nav-title %}{{ page.sub-nav-title }}{% else %}{{ page.title }}{% endif %}</li>
-    </ol>
-
-    <div class="text">
-      <!-- Main heading -->
-      <h1>{{ page.title }}{% if page.is_beta %} <span class="beta">(Beta)</span>{% endif %}</h1>
-
-      <!-- Content -->
-      {{ content }}
-    </div>
-  </div>
-{% else %}
-{% comment %}
-The plain layout without a sub navigation (only text).
-{% endcomment %}  
-  <div class="col-md-8 col-md-offset-2 text">
-    <!-- Artifact name change warning. Remove for the 1.0 release. -->
-    <div class="panel panel-default">
-      <div class="panel-body"><strong>Important</strong>: Maven artifacts which depend on Scala are now suffixed with the Scala major version, e.g. "2.10" or "2.11". Please consult the <a href="https://cwiki.apache.org/confluence/display/FLINK/Maven+artifact+names+suffixed+with+Scala+version">migration guide on the project Wiki</a>.</div>
-    </div>
-
-    <h1>{{ page.title }}{% if page.is_beta %} <span class="beta">Beta</span>{% endif %}</h1>
 {{ content }}
-  </div>
-{% endif %}
-  {% comment %}
-  Removed until Robert complains... ;)
-  <div class="col-sm-8 col-sm-offset-2">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-  {% endcomment %}
-</div>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/_layouts/redirect.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/redirect.html b/docs/_layouts/redirect.html
new file mode 100644
index 0000000..ff3d70c
--- /dev/null
+++ b/docs/_layouts/redirect.html
@@ -0,0 +1,27 @@
+---
+layout: base
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<meta http-equiv="refresh" content="1; url={{ site.baseurl }}{{ page.redirect }}" />
+
+<h1>Page '{{ page.title }}' Has Moved</h1>
+
+The <strong>{{ page.title }}</strong> has been moved. Redirecting to <a href="{{ site.baseurl }}/{{ page.redirect }}">{{ site.baseurl }}{{ page.redirect }}</a> in 1 second.

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/apis/batch/connectors.md
----------------------------------------------------------------------
diff --git a/docs/apis/batch/connectors.md b/docs/apis/batch/connectors.md
deleted file mode 100644
index 21ed260..0000000
--- a/docs/apis/batch/connectors.md
+++ /dev/null
@@ -1,242 +0,0 @@
----
-title:  "Connectors"
-
-# Sub-level navigation
-sub-nav-group: batch
-sub-nav-pos: 4
----
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-* TOC
-{:toc}
-
-## Reading from file systems
-
-Flink has build-in support for the following file systems:
-
-| Filesystem                            | Scheme       | Notes  |
-| ------------------------------------- |--------------| ------ |
-| Hadoop Distributed File System (HDFS) &nbsp; | `hdfs://`    | All HDFS versions are supported |
-| Amazon S3                             | `s3://`      | Support through Hadoop file system implementation (see below) | 
-| MapR file system                      | `maprfs://`  | The user has to manually place the required jar files in the `lib/` dir |
-| Alluxio                               | `alluxio://` &nbsp; | Support through Hadoop file system implementation (see below) |
-
-
-
-### Using Hadoop file system implementations
-
-Apache Flink allows users to use any file system implementing the `org.apache.hadoop.fs.FileSystem`
-interface. There are Hadoop `FileSystem` implementations for
-
-- [S3](https://aws.amazon.com/s3/) (tested)
-- [Google Cloud Storage Connector for Hadoop](https://cloud.google.com/hadoop/google-cloud-storage-connector) (tested)
-- [Alluxio](http://alluxio.org/) (tested)
-- [XtreemFS](http://www.xtreemfs.org/) (tested)
-- FTP via [Hftp](http://hadoop.apache.org/docs/r1.2.1/hftp.html) (not tested)
-- and many more.
-
-In order to use a Hadoop file system with Flink, make sure that
-
-- the `flink-conf.yaml` has set the `fs.hdfs.hadoopconf` property set to the Hadoop configuration directory.
-- the Hadoop configuration (in that directory) has an entry for the required file system. Examples for S3 and Alluxio are shown below.
-- the required classes for using the file system are available in the `lib/` folder of the Flink installation (on all machines running Flink). If putting the files into the directory is not possible, Flink is also respecting the `HADOOP_CLASSPATH` environment variable to add Hadoop jar files to the classpath.
-
-#### Amazon S3
-
-For Amazon S3 support add the following entries into the `core-site.xml` file:
-
-~~~xml
-<!-- configure the file system implementation -->
-<property>
-  <name>fs.s3.impl</name>
-  <value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
-</property>
-
-<!-- set your AWS ID -->
-<property>
-  <name>fs.s3.awsAccessKeyId</name>
-  <value>putKeyHere</value>
-</property>
-
-<!-- set your AWS access key -->
-<property>
-  <name>fs.s3.awsSecretAccessKey</name>
-  <value>putSecretHere</value>
-</property>
-~~~
-
-#### Alluxio
-
-For Alluxio support add the following entry into the `core-site.xml` file:
-
-~~~xml
-<property>
-  <name>fs.alluxio.impl</name>
-  <value>alluxio.hadoop.FileSystem</value>
-</property>
-~~~
-
-
-## Connecting to other systems using Input/OutputFormat wrappers for Hadoop
-
-Apache Flink allows users to access many different systems as data sources or sinks.
-The system is designed for very easy extensibility. Similar to Apache Hadoop, Flink has the concept
-of so called `InputFormat`s and `OutputFormat`s.
-
-One implementation of these `InputFormat`s is the `HadoopInputFormat`. This is a wrapper that allows
-users to use all existing Hadoop input formats with Flink.
-
-This section shows some examples for connecting Flink to other systems.
-[Read more about Hadoop compatibility in Flink]({{ site.baseurl }}/apis/batch/hadoop_compatibility.html).
-
-## Avro support in Flink
-
-Flink has extensive build-in support for [Apache Avro](http://avro.apache.org/). This allows to easily read from Avro files with Flink.
-Also, the serialization framework of Flink is able to handle classes generated from Avro schemas.
-
-In order to read data from an Avro file, you have to specify an `AvroInputFormat`.
-
-**Example**:
-
-~~~java
-AvroInputFormat<User> users = new AvroInputFormat<User>(in, User.class);
-DataSet<User> usersDS = env.createInput(users);
-~~~
-
-Note that `User` is a POJO generated by Avro. Flink also allows to perform string-based key selection of these POJOs. For example:
-
-~~~java
-usersDS.groupBy("name")
-~~~
-
-
-Note that using the `GenericData.Record` type is possible with Flink, but not recommended. Since the record contains the full schema, its very data intensive and thus probably slow to use.
-
-Flink's POJO field selection also works with POJOs generated from Avro. However, the usage is only possible if the field types are written correctly to the generated class. If a field is of type `Object` you can not use the field as a join or grouping key.
-Specifying a field in Avro like this `{"name": "type_double_test", "type": "double"},` works fine, however specifying it as a UNION-type with only one field (`{"name": "type_double_test", "type": ["double"]},`) will generate a field of type `Object`. Note that specifying nullable types (`{"name": "type_double_test", "type": ["null", "double"]},`) is possible!
-
-
-
-### Access Microsoft Azure Table Storage
-
-_Note: This example works starting from Flink 0.6-incubating_
-
-This example is using the `HadoopInputFormat` wrapper to use an existing Hadoop input format implementation for accessing [Azure's Table Storage](https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/).
-
-1. Download and compile the `azure-tables-hadoop` project. The input format developed by the project is not yet available in Maven Central, therefore, we have to build the project ourselves.
-Execute the following commands:
-
-   ~~~bash
-   git clone https://github.com/mooso/azure-tables-hadoop.git
-   cd azure-tables-hadoop
-   mvn clean install
-   ~~~
-
-2. Setup a new Flink project using the quickstarts:
-
-   ~~~bash
-   curl https://flink.apache.org/q/quickstart.sh | bash
-   ~~~
-
-3. Add the following dependencies (in the `<dependencies>` section) to your `pom.xml` file:
-
-   ~~~xml
-   <dependency>
-       <groupId>org.apache.flink</groupId>
-       <artifactId>flink-hadoop-compatibility{{ site.scala_version_suffix }}</artifactId>
-       <version>{{site.version}}</version>
-   </dependency>
-   <dependency>
-     <groupId>com.microsoft.hadoop</groupId>
-     <artifactId>microsoft-hadoop-azure</artifactId>
-     <version>0.0.4</version>
-   </dependency>
-   ~~~
-
-   `flink-hadoop-compatibility` is a Flink package that provides the Hadoop input format wrappers.
-   `microsoft-hadoop-azure` is adding the project we've build before to our project.
-
-The project is now prepared for starting to code. We recommend to import the project into an IDE, such as Eclipse or IntelliJ. (Import as a Maven project!).
-Browse to the code of the `Job.java` file. Its an empty skeleton for a Flink job.
-
-Paste the following code into it:
-
-~~~java
-import java.util.Map;
-import org.apache.flink.api.common.functions.MapFunction;
-import org.apache.flink.api.java.DataSet;
-import org.apache.flink.api.java.ExecutionEnvironment;
-import org.apache.flink.api.java.tuple.Tuple2;
-import org.apache.flink.hadoopcompatibility.mapreduce.HadoopInputFormat;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mapreduce.Job;
-import com.microsoft.hadoop.azure.AzureTableConfiguration;
-import com.microsoft.hadoop.azure.AzureTableInputFormat;
-import com.microsoft.hadoop.azure.WritableEntity;
-import com.microsoft.windowsazure.storage.table.EntityProperty;
-
-public class AzureTableExample {
-
-  public static void main(String[] args) throws Exception {
-    // set up the execution environment
-    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
-    
-    // create a  AzureTableInputFormat, using a Hadoop input format wrapper
-    HadoopInputFormat<Text, WritableEntity> hdIf = new HadoopInputFormat<Text, WritableEntity>(new AzureTableInputFormat(), Text.class, WritableEntity.class, new Job());
-
-    // set the Account URI, something like: https://apacheflink.table.core.windows.net
-    hdIf.getConfiguration().set(AzureTableConfiguration.Keys.ACCOUNT_URI.getKey(), "TODO"); 
-    // set the secret storage key here
-    hdIf.getConfiguration().set(AzureTableConfiguration.Keys.STORAGE_KEY.getKey(), "TODO");
-    // set the table name here
-    hdIf.getConfiguration().set(AzureTableConfiguration.Keys.TABLE_NAME.getKey(), "TODO");
-    
-    DataSet<Tuple2<Text, WritableEntity>> input = env.createInput(hdIf);
-    // a little example how to use the data in a mapper.
-    DataSet<String> fin = input.map(new MapFunction<Tuple2<Text,WritableEntity>, String>() {
-      @Override
-      public String map(Tuple2<Text, WritableEntity> arg0) throws Exception {
-        System.err.println("--------------------------------\nKey = "+arg0.f0);
-        WritableEntity we = arg0.f1;
-
-        for(Map.Entry<String, EntityProperty> prop : we.getProperties().entrySet()) {
-          System.err.println("key="+prop.getKey() + " ; value (asString)="+prop.getValue().getValueAsString());
-        }
-
-        return arg0.f0.toString();
-      }
-    });
-
-    // emit result (this works only locally)
-    fin.print();
-
-    // execute program
-    env.execute("Azure Example");
-  }
-}
-~~~
-
-The example shows how to access an Azure table and turn data into Flink's `DataSet` (more specifically, the type of the set is `DataSet<Tuple2<Text, WritableEntity>>`). With the `DataSet`, you can apply all known transformations to the DataSet.
-
-## Access MongoDB
-
-This [GitHub repository documents how to use MongoDB with Apache Flink (starting from 0.7-incubating)](https://github.com/okkam-it/flink-mongodb-test).
-
-