flink-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From u..@apache.org
Subject [30/30] flink git commit: [docs] Change doc layout
Date Wed, 22 Apr 2015 14:17:27 GMT
[docs] Change doc layout

- Changed layout (simple as possible)
- Fix broken version references in docs
- Update README
- Removed dead resources
- Reorganized content

[docs] Address PR comments

[docs] Address @ktzoumas comments

[docs] Fix download link

[docs] Fix front page stack link to Tez

This closes #606.


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

Branch: refs/heads/master
Commit: f1ee90ccb3fa446e3be402a707b6b2d6ed4169b3
Parents: 6df1dd2
Author: Ufuk Celebi <uce@apache.org>
Authored: Wed Apr 15 15:51:45 2015 +0200
Committer: Ufuk Celebi <uce@apache.org>
Committed: Wed Apr 22 16:16:28 2015 +0200

----------------------------------------------------------------------
 docs/README.md                                  |   54 +-
 docs/_config.yml                                |   43 +-
 docs/_includes/footer.md                        |   21 -
 docs/_includes/navbar.html                      |  146 +-
 docs/_includes/sidenav.html                     |   77 -
 docs/_layouts/base.html                         |   90 +
 docs/_layouts/default.html                      |  103 -
 docs/_layouts/plain.html                        |   33 +
 docs/_plugins/build_apidoc.rb                   |   74 -
 docs/_plugins/gh_link.rb                        |    2 +-
 docs/_plugins/organizeLicenseHeaders.rb         |   77 -
 docs/_plugins/removeDuplicateLicenseHeaders.rb  |   77 +
 docs/apis/cli.md                                |  189 +
 docs/apis/cluster_execution.md                  |  146 +
 docs/apis/dataset_transformations.md            | 1689 +++++
 docs/apis/example_connectors.md                 |  205 +
 docs/apis/examples.md                           |  490 ++
 docs/apis/fig/LICENSE.txt                       |   17 +
 .../fig/iterations_delta_iterate_operator.png   |  Bin 0 -> 113607 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 0 -> 335057 bytes
 docs/apis/fig/iterations_iterate_operator.png   |  Bin 0 -> 63465 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 0 -> 102925 bytes
 docs/apis/fig/iterations_supersteps.png         |  Bin 0 -> 54098 bytes
 docs/apis/fig/plan_visualizer.png               |  Bin 0 -> 145778 bytes
 docs/apis/hadoop_compatibility.md               |  246 +
 docs/apis/index.md                              |   21 +
 docs/apis/iterations.md                         |  209 +
 docs/apis/java8.md                              |  190 +
 docs/apis/local_execution.md                    |  123 +
 docs/apis/programming_guide.md                  | 2937 +++++++++
 docs/apis/python.md                             |  606 ++
 docs/apis/streaming_guide.md                    | 1707 +++++
 docs/apis/web_client.md                         |   74 +
 docs/building.md                                |  107 -
 docs/cli.md                                     |  190 -
 docs/cluster_execution.md                       |  146 -
 docs/cluster_setup.md                           |  346 -
 docs/coding_guidelines.md                       |   23 -
 docs/config.md                                  |  385 --
 docs/css/bootstrap-lumen-custom.css             | 6191 ------------------
 docs/css/bootstrap.css                          | 5785 ----------------
 docs/css/codetabs.css                           |   62 -
 docs/css/custom.css                             |  195 -
 docs/css/main/main.css                          |  411 --
 docs/css/syntax.css                             |   79 -
 docs/dataset_transformations.md                 | 1690 -----
 docs/example_connectors.md                      |  205 -
 docs/examples.md                                |  490 --
 docs/favicon.ico                                |  Bin 1150 -> 0 bytes
 docs/favicon.png                                |  Bin 1288 -> 0 bytes
 docs/fig/LICENSE.txt                            |   17 +
 docs/fig/overview-stack-0.9.png                 |  Bin 0 -> 260807 bytes
 docs/flink_on_tez_guide.md                      |  293 -
 docs/gce_setup.md                               |   89 -
 docs/gelly_guide.md                             |  487 --
 docs/hadoop_compatibility.md                    |  247 -
 docs/how_to_contribute.md                       |   23 -
 docs/img/ClientJmTm.svg                         |  348 -
 docs/img/FlinkOnYarn.svg                        |  151 -
 docs/img/JobManagerComponents.svg               |  208 -
 docs/img/dataflow.svg                           |  998 ---
 docs/img/flink_on_tez_translation.png           |  Bin 350867 -> 0 bytes
 docs/img/flink_tez_vertex.png                   |  Bin 105544 -> 0 bytes
 docs/img/gelly-example-graph.png                |  Bin 18813 -> 0 bytes
 docs/img/gelly-filter.png                       |  Bin 57192 -> 0 bytes
 docs/img/gelly-reduceOnEdges.png                |  Bin 23843 -> 0 bytes
 docs/img/gelly-reduceOnNeighbors.png            |  Bin 34903 -> 0 bytes
 docs/img/gelly-union.png                        |  Bin 50498 -> 0 bytes
 docs/img/iterations_delta_iterate_operator.png  |  Bin 113607 -> 0 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 335057 -> 0 bytes
 docs/img/iterations_iterate_operator.png        |  Bin 63465 -> 0 bytes
 .../img/iterations_iterate_operator_example.png |  Bin 102925 -> 0 bytes
 docs/img/iterations_supersteps.png              |  Bin 54098 -> 0 bytes
 docs/img/japi_example_overview.png              |  Bin 45406 -> 0 bytes
 docs/img/job_and_execution_graph.svg            |  851 ---
 docs/img/license.txt                            |   17 -
 docs/img/logo.png                               |  Bin 2457 -> 0 bytes
 docs/img/overview-stack-0.9.png                 |  Bin 260807 -> 0 bytes
 docs/img/plan_visualizer.png                    |  Bin 145778 -> 0 bytes
 docs/img/projects_dependencies.svg              |  586 --
 .../compiler-webclient-new.png                  |  Bin 134963 -> 0 bytes
 .../jobmanager-running-new.png                  |  Bin 132859 -> 0 bytes
 docs/img/quickstart-example/kmeans003.png       |  Bin 27962 -> 0 bytes
 docs/img/quickstart-example/kmeans008.png       |  Bin 39305 -> 0 bytes
 docs/img/quickstart-example/kmeans015.png       |  Bin 41958 -> 0 bytes
 docs/img/quickstart-example/result003.png       |  Bin 60228 -> 0 bytes
 docs/img/quickstart-example/result008.png       |  Bin 92732 -> 0 bytes
 docs/img/quickstart-example/result015.png       |  Bin 89724 -> 0 bytes
 docs/img/quickstart-example/run-webclient.png   |  Bin 89469 -> 0 bytes
 docs/img/quickstart_cluster.png                 |  Bin 83790 -> 0 bytes
 docs/img/slots.svg                              |  505 --
 docs/img/spargel_example.png                    |  Bin 199032 -> 0 bytes
 docs/img/spargel_example_input.png              |  Bin 113478 -> 0 bytes
 docs/img/stack.svg                              |  606 --
 docs/img/state_machine.svg                      |  318 -
 docs/index.md                                   |   36 +-
 docs/internal_add_operator.md                   |  251 -
 docs/internal_distributed_akka.md               |   47 -
 docs/internal_distributed_runtime.md            |   23 -
 docs/internal_general_arch.md                   |   89 -
 docs/internal_howto.md                          |   43 -
 docs/internal_job_scheduling.md                 |   82 -
 docs/internal_logging.md                        |   96 -
 docs/internal_operators_and_memory.md           |   21 -
 docs/internal_optimizer.md                      |   21 -
 docs/internal_program_life_cycle.md             |   23 -
 docs/internal_setup_eclipse.md                  |   98 -
 docs/internal_setup_intellij.md                 |   56 -
 docs/internal_types_serialization.md            |  228 -
 docs/internals/_draft_distributed_akka.md       |   47 +
 docs/internals/add_operator.md                  |  250 +
 docs/internals/coding_guidelines.md             |   23 +
 docs/internals/fig/ClientJmTm.svg               |  348 +
 docs/internals/fig/LICENSE.txt                  |   17 +
 docs/internals/fig/job_and_execution_graph.svg  |  851 +++
 docs/internals/fig/projects_dependencies.svg    |  586 ++
 docs/internals/fig/slots.svg                    |  505 ++
 docs/internals/fig/stack.svg                    |  606 ++
 docs/internals/fig/state_machine.svg            |  318 +
 docs/internals/general_arch.md                  |   89 +
 docs/internals/how_to_contribute.md             |   23 +
 docs/internals/ide_setup.md                     |  122 +
 docs/internals/index.md                         |   21 +
 docs/internals/job_scheduling.md                |   82 +
 docs/internals/logging.md                       |   96 +
 docs/internals/types_serialization.md           |  228 +
 docs/iterations.md                              |  208 -
 docs/java8_programming_guide.md                 |  191 -
 docs/java_api_quickstart.md                     |  151 -
 docs/js/bootstrap.min.js                        |    6 -
 docs/js/codetabs.js                             |  121 -
 docs/libs/fig/LICENSE.txt                       |   17 +
 docs/libs/fig/gelly-example-graph.png           |  Bin 0 -> 18813 bytes
 docs/libs/fig/gelly-filter.png                  |  Bin 0 -> 57192 bytes
 docs/libs/fig/gelly-reduceOnEdges.png           |  Bin 0 -> 23843 bytes
 docs/libs/fig/gelly-reduceOnNeighbors.png       |  Bin 0 -> 34903 bytes
 docs/libs/fig/gelly-union.png                   |  Bin 0 -> 50498 bytes
 docs/libs/fig/spargel_example.png               |  Bin 0 -> 199032 bytes
 docs/libs/fig/spargel_example_input.png         |  Bin 0 -> 113478 bytes
 docs/libs/gelly_guide.md                        |  484 ++
 docs/libs/index.md                              |   21 +
 docs/libs/ml/als.md                             |  157 +
 docs/libs/ml/cocoa.md                           |  164 +
 docs/libs/ml/index.md                           |   39 +
 docs/libs/ml/multiple_linear_regression.md      |  124 +
 docs/libs/ml/polynomial_base_feature_mapper.md  |   91 +
 docs/libs/ml/standard_scaler.md                 |   90 +
 docs/libs/spargel_guide.md                      |  131 +
 docs/libs/table.md                              |  127 +
 docs/local_execution.md                         |  123 -
 docs/local_setup.md                             |  137 -
 docs/ml/alternating_least_squares.md            |  157 -
 docs/ml/cocoa.md                                |  164 -
 docs/ml/multiple_linear_regression.md           |  124 -
 docs/ml/polynomial_base_feature_mapper.md       |   91 -
 docs/ml/standard_scaler.md                      |   90 -
 docs/page/css/codetabs.css                      |   62 +
 docs/page/css/flink.css                         |  122 +
 docs/page/css/syntax.css                        |   79 +
 docs/page/favicon.ico                           |  Bin 0 -> 1150 bytes
 docs/page/img/LICENSE.txt                       |   17 +
 docs/page/img/navbar-brand-logo.jpg             |  Bin 0 -> 18470 bytes
 .../compiler-webclient-new.png                  |  Bin 0 -> 134963 bytes
 .../jobmanager-running-new.png                  |  Bin 0 -> 132859 bytes
 docs/page/img/quickstart-example/kmeans003.png  |  Bin 0 -> 27962 bytes
 docs/page/img/quickstart-example/kmeans008.png  |  Bin 0 -> 39305 bytes
 docs/page/img/quickstart-example/kmeans015.png  |  Bin 0 -> 41958 bytes
 docs/page/img/quickstart-example/result003.png  |  Bin 0 -> 60228 bytes
 docs/page/img/quickstart-example/result008.png  |  Bin 0 -> 92732 bytes
 docs/page/img/quickstart-example/result015.png  |  Bin 0 -> 89724 bytes
 .../img/quickstart-example/run-webclient.png    |  Bin 0 -> 89469 bytes
 docs/page/img/quickstart_cluster.png            |  Bin 0 -> 83790 bytes
 docs/page/js/codetabs.js                        |  121 +
 docs/programming_guide.md                       | 2942 ---------
 docs/python_programming_guide.md                |  610 --
 docs/quickstart/java_api_quickstart.md          |  151 +
 docs/quickstart/run_example_quickstart.md       |  155 +
 docs/quickstart/scala_api_quickstart.md         |  136 +
 docs/quickstart/setup_quickstart.md             |  155 +
 docs/run_example_quickstart.md                  |  155 -
 docs/scala_api_quickstart.md                    |  136 -
 docs/search-results.md                          |   35 +
 docs/search.md                                  |   36 -
 docs/setup/building.md                          |  107 +
 docs/setup/cluster_setup.md                     |  346 +
 docs/setup/config.md                            |  385 ++
 docs/setup/fig/FlinkOnYarn.svg                  |  151 +
 docs/setup/fig/LICENSE.txt                      |   17 +
 docs/setup/fig/flink_on_tez_translation.png     |  Bin 0 -> 350867 bytes
 docs/setup/fig/flink_tez_vertex.png             |  Bin 0 -> 105544 bytes
 docs/setup/flink_on_tez.md                      |  290 +
 docs/setup/gce_setup.md                         |   89 +
 docs/setup/index.md                             |   21 +
 docs/setup/local_setup.md                       |  138 +
 docs/setup/yarn_setup.md                        |  264 +
 docs/setup_quickstart.md                        |  155 -
 docs/spargel_guide.md                           |  131 -
 docs/streaming_guide.md                         | 1711 -----
 docs/table.md                                   |  130 -
 docs/web_client.md                              |   74 -
 docs/yarn_setup.md                              |  264 -
 201 files changed, 17734 insertions(+), 31480 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/README.md
----------------------------------------------------------------------
diff --git a/docs/README.md b/docs/README.md
index 5ab0f2f..c7e880b 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,42 +1,37 @@
-This README gives an overview of how to build and contribute to the
-documentation of Apache Flink.
+This README gives an overview of how to build and contribute to the documentation of Apache Flink.
 
-The documentation is included with the source of Apache Flink in order to ensure
-that you always have docs corresponding to your checked out version. The online
-documentation at http://flink.apache.org/ is also generated from the
-files found here.
+The documentation is included with the source of Apache Flink in order to ensure that you always
+have docs corresponding to your checked out version. The online documentation at
+http://flink.apache.org/ is also generated from the files found here.
 
 # Requirements
 
-We use Markdown to write and Jekyll to translate the documentation to static
-HTML. You can install all needed software via:
+We use Markdown to write and Jekyll to translate the documentation to static HTML. You can install
+all needed software via:
 
     gem install jekyll
-    gem install redcarpet
+    gem install kramdown
     sudo easy_install Pygments
 
-Redcarpet is needed for Markdown processing and the Python based Pygments is
-used for syntax highlighting.
+Kramdown is needed for Markdown processing and the Python based Pygments is used for syntax
+highlighting.
 
 # Build
 
-The `docs/build_docs.sh` script calls Jekyll and generates the documentation to
-`docs/target`. You can then point your browser to `docs/target/index.html` and
-start reading.
+The `docs/_build_docs.sh` script calls Jekyll and generates the documentation in `docs/target`. You
+can then point your browser to `docs/target/index.html` and start reading.
 
-If you call the script with the preview flag `build_docs.sh -p`, Jekyll will
-start a web server at `localhost:4000` and continiously generate the docs.
-This is useful to preview changes locally.
+If you call the script with the preview flag `_build_docs.sh -p`, Jekyll will start a web server at
+`localhost:4000` and watch the docs directory for updates. Use this mode to preview changes locally.
 
 # Contribute
 
 The documentation pages are written in
-[Markdown](http://daringfireball.net/projects/markdown/syntax). It is possible
-to use the [GitHub flavored syntax](http://github.github.com/github-flavored-markdown)
-and intermix plain html.
+[Markdown](http://daringfireball.net/projects/markdown/syntax). It is possible to use the
+[GitHub flavored syntax](http://github.github.com/github-flavored-markdown) and intermix plain html.
 
-In addition to Markdown, every page contains a front matter, which specifies the
-title of the page. This title is used as the top-level heading for the page.
+In addition to Markdown, every page contains a Jekyll front matter, which specifies the title of the
+page and the layout to use. The title is used as the top-level heading for the page.
 
     ---
     title: "Title of the Page"
@@ -44,17 +39,22 @@ title of the page. This title is used as the top-level heading for the page.
 
 Furthermore, you can access variables found in `docs/_config.yml` as follows:
 
-    {{ site.FLINK_VERSION_SHORT }}
+    {{ site.NAME }}
 
-This will be replaced with the value of the variable when generating the docs.
+This will be replaced with the value of the variable called `NAME` when generating
+the docs.
 
-All documents are structed with headings. From these heading, an page outline is
+All documents are structed with headings. From these heading, a page outline is
 automatically generated for each page.
 
 ```
-# Level-1 Heading
-## Level-2 Heading
+# Level-1 Heading  <- Used for the title of the page
+## Level-2 Heading <- Start with this one
 ### Level-3 heading
 #### Level-4 heading
 ##### Level-5 heading
 ```
+
+Please stick to the "logical order" when using the headlines, e.g. start with level-2 headings and
+use level-3 headings for subsections, etc. Don't use a different ordering, because you don't like
+how a headline looks.

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_config.yml
----------------------------------------------------------------------
diff --git a/docs/_config.yml b/docs/_config.yml
index fe0b62d..7d24d53 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -22,28 +22,33 @@
 #     {{ site.CONFIG_KEY }}
 #------------------------------------------------------------------------------
 
-FLINK_VERSION_THIS_HADOOP1: "0.9-hadoop1-SNAPSHOT"
-FLINK_VERSION_THIS_HADOOP2: "0.9-SNAPSHOT"
-FLINK_VERSION_THIS_SHORT: "0.9"
-FLINK_WGET_URL_YARN_THIS: http://stratosphere-bin.s3-website-us-east-1.amazonaws.com/flink-0.9-SNAPSHOT-bin-hadoop2.tgz
 
+# This are the version referenced in the docs. Please only use these variables
+# to reference a specific Flink version, because this is the only place where
+# we change the version for the complete docs when forking of a release branch
+# etc.
+version: "0.9-SNAPSHOT"
+version_hadoop1: "0.9-hadoop1-SNAPSHOT"
+version_short: "0.9" # Used for the top navbar w/o snapshot suffix
 
+# This is the Scala version we use in this version
+scala_version: "2.10"
 
-FLINK_VERSION_HADOOP1_STABLE: "0.8.1-hadoop1" # this variable can point to a SNAPSHOT version in the git source.
-FLINK_VERSION_SHORT: "0.8.1"
-FLINK_VERSION_HADOOP2_STABLE: "0.8.1"
-FLINK_SCALA_VERSION: "2.10.4"
-FLINK_SCALA_VERSION_SHORT: "2.10"
-FLINK_ISSUES_URL: https://issues.apache.org/jira/browse/FLINK
-FLINK_GITHUB_URL:  https://github.com/apache/flink
+# Download urls
+download_url: "http://flink.apache.org/downloads.html"
+download_url_hadoop1: "http://stratosphere-bin.s3-website-us-east-1.amazonaws.com/flink-0.9-SNAPSHOT-bin-hadoop1.tgz" 
+download_url_hadoop2: "http://stratosphere-bin.s3-website-us-east-1.amazonaws.com/flink-0.9-SNAPSHOT-bin-hadoop2.tgz" 
 
-FLINK_WEBSITE_URL: http://flink.apache.org
-FLINK_DOWNLOAD_URL: http://flink.apache.org/downloads.html
+# Some commonly linked pages (this was more important to have as a variable
+# during incubator; by now it should also be fine to hardcode these.)
+website_url: "http://flink.apache.org"
+jira_url: "https://issues.apache.org/jira/browse/FLINK"
+github_url: "https://github.com/apache/flink"
 
-FLINK_DOWNLOAD_URL_HADOOP1_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.8.1/flink-0.8.1-bin-hadoop1.tgz
-FLINK_DOWNLOAD_URL_HADOOP2_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.8.1/flink-0.8.1-bin-hadoop2.tgz
-FLINK_DOWNLOAD_URL_YARN_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.8.1/flink-0.8.1-bin-hadoop2-yarn.tgz
-FLINK_WGET_URL_YARN_STABLE: http://artfiles.org/apache.org/flink/flink-0.8.1/flink-0.8.1-bin-hadoop2-yarn.tgz
+# Setup quickstart uses this => to be changed
+FLINK_DOWNLOAD_URL_HADOOP1_STABLE: "http://www.apache.org/dyn/closer.cgi/flink/flink-0.8.1/flink-0.8.1-bin-hadoop1.tgz"
+FLINK_DOWNLOAD_URL_HADOOP2_STABLE: "http://www.apache.org/dyn/closer.cgi/flink/flink-0.8.1/flink-0.8.1-bin-hadoop2.tgz"
+FLINK_DOWNLOAD_URL_YARN_STABLE: "http://www.apache.org/dyn/closer.cgi/flink/flink-0.8.1/flink-0.8.1-bin-hadoop2-yarn.tgz"
 
 #------------------------------------------------------------------------------
 # BUILD CONFIG
@@ -57,7 +62,7 @@ defaults:
     scope:
       path: ""
     values:
-      layout: default
+      layout: plain
 
 markdown: KramdownPygments
 highlighter: pygments
@@ -67,4 +72,4 @@ kramdown:
 
 host: localhost
 
-baseurl: http://ci.apache.org/projects/flink/flink-docs-master
+baseurl: http://ci.apache.org/projects/flink/flink-docs-master
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_includes/footer.md
----------------------------------------------------------------------
diff --git a/docs/_includes/footer.md b/docs/_includes/footer.md
deleted file mode 100644
index 2e6b13a..0000000
--- a/docs/_includes/footer.md
+++ /dev/null
@@ -1,21 +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.
--->
-<hr class="divider">
-
-<p class="text-center"><a href="privacy-policy.html">Privacy Policy<a></p>

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/docs/_includes/navbar.html b/docs/_includes/navbar.html
index 8600541..e9a1b4c 100644
--- a/docs/_includes/navbar.html
+++ b/docs/_includes/navbar.html
@@ -16,52 +16,106 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
-<nav class="navbar navbar-default navbar-static-top" role="navigation">
-  <div class="container">
-    <div class="row">
-      <div class="col-md-1 af-mobile-nav-bar">
-        {% comment %}
-        We might be on an externally hosted documentation site.
-        Please keep the site.FLINK_WEBSITE_URL below to ensure a link back to the Flink website.
-        {% endcomment %}
-	<a href="{{ site.FLINK_WEBSITE_URL }}/index.html" title="Home">
-	  <img class="hidden-xs hidden-sm img-responsive"
-	       src="{{ site.baseurl }}/img/logo.png" alt="Apache Flink Logo">
-	</a>	
-	<div class="row visible-xs">
-	  <div class="col-xs-3">
-	    <a href="{{ site.baseurl }}/index.html" title="Home">
-	      <img class="hidden-x hidden-sm img-responsive"
-		   src="{{ site.baseurl }}/img/logo.png" alt="Apache Flink Logo">
-	    </a>	
-	  </div>
-	  <div class="col-xs-5"></div>
-	  <div class="col-xs-4">
-	    <div class="af-mobile-btn">
-	      <span class="glyphicon glyphicon-plus"></span>
-	    </div>
-	  </div>
-	</div>
-    </div>
-      <!-- Navigation -->
-      <div class="col-md-11">
-	<div class="collapse navbar-collapse" id="navbar-collapse-1">
-	  <ul class="nav navbar-nav">
+{% 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="{{ site.baseurl }}/"><img alt="Apache Flink" src="{{ site.baseurl }}/page/img/navbar-brand-logo.jpg"></a>
+          </div>
+        </div><!-- /.navbar-header -->
 
-	    <li>
-	      <a href="{{ site.baseurl }}/index.html" class="{% if page.url contains 'index.html' %}active{% endif %}">Documentation</a>
-	    </li>
+        <!-- The navigation links. -->
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav">
+            <li{% if page.url == '/index.html' %} class="active"{% endif %}><a href="{{ site.baseurl}}/index.html">Overview<span class="hidden-sm hidden-xs"> {{ site.version_short }}</span></a></li>
 
-	    <li>
-	      <a href="{{ site.baseurl }}/api/java/index.html">Javadoc</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">
+                <li><a href="{{ setup }}/building.html">Get Flink 0.9-SNAPSHOT</a></li>
 
-	    <li>
-	      <a href="{{ site.baseurl }}/api/scala/index.html#org.apache.flink.api.scala.package">Scaladoc</a>
-	    </li>
-	  </ul>
-	</div>
-      </div>
-    </div>
-  </div>
-</nav>
+                <li class="divider"></li>
+                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
+                <li><a href="{{ setup }}/local_setup.html" class="active">Local</a></li>
+                <li><a href="{{ setup }}/cluster_setup.html">Cluster (Standalone)</a></li>
+                <li><a href="{{ setup }}/yarn_setup.html">YARN</a></li>
+                <li><a href="{{ setup }}/gce_setup.html">GCloud</a></li>
+                <li><a href="{{ setup }}/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
+
+                <li class="divider"></li>
+                <li><a href="{{ setup }}/config.html">Configuration</a></li>
+              </ul>
+            </li>
+
+            <!-- Programming Guides -->
+            <li class="dropdown{% if page.url contains apis %} active{% endif %}">
+              <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">
+                <li><a href="{{ apis }}/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
+                <li><a href="{{ apis }}/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
+                <li><a href="{{ apis }}/python.html">Python API <span class="badge">Beta</span></a></li>
+                
+                <li class="divider"></li>
+                <li><a href="{{ apis }}/dataset_transformations.html">Dataset Transformations</a></li>
+                <li><a href="{{ apis }}/example_connectors.html">Connectors</a></li>
+                <li><a href="{{ apis }}/examples.html">Examples</a></li>
+                <li><a href="{{ apis }}/local_execution.html">Local Execution</a></li>
+                <li><a href="{{ apis }}/cluster_execution.html">Cluster Execution</a></li>
+                <li><a href="{{ apis }}/cli.html">Command Line Interface</a></li>
+                <li><a href="{{ apis }}/web_client.html">Web Client</a></li>
+                <li><a href="{{ apis }}/iterations.html">Iterations</a></li>
+                <li><a href="{{ apis }}/java8.html">Java 8</a></li>
+                <li><a href="{{ apis }}/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
+              </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">
+                  <li><a href="{{ libs }}/spargel_guide.html">Graphs: Spargel</a></li>
+                  <li><a href="{{ libs }}/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
+                  <li><a href="{{ libs }}/ml/">Machine Learning <span class="badge">Beta</span></a></li>
+                  <li><a href="{{ libs }}/table.html">Relational: Table <span class="badge">Beta</span></a></li>
+              </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="{{ internals }}/how_to_contribute.html">How to Contribute</a></li>
+                <li><a href="{{ internals }}/coding_guidelines.html">Coding Guidelines</a></li>
+                <li><a href="{{ internals }}/ide_setup.html">IDE Setup</a></li>
+                <li><a href="{{ internals }}/logging.html">Logging</a></li>
+                <li class="divider"></li>
+                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
+                <li><a href="{{ internals }}/general_arch.html">Architecture &amp; Process Model</a></li>
+                <li><a href="{{ internals }}/types_serialization.html">Type Extraction &amp; Serialization</a></li>
+                <li><a href="{{ internals }}/job_scheduling.html">Jobs &amp; Scheduling</a></li>
+                <li><a href="{{ internals }}/add_operator.html">How-To: Add an Operator</a></li>
+              </ul>
+            </li>
+          </ul>
+          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="search-results.html">
+            <div class="form-group">
+              <input type="text" class="form-control" name="q" placeholder="Search all pages">
+            </div>
+            <button type="submit" class="btn btn-default">Search</button>
+          </form>
+        </div><!-- /.navbar-collapse -->
+      </div><!-- /.container -->
+    </nav>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_includes/sidenav.html
----------------------------------------------------------------------
diff --git a/docs/_includes/sidenav.html b/docs/_includes/sidenav.html
deleted file mode 100644
index f3c692d..0000000
--- a/docs/_includes/sidenav.html
+++ /dev/null
@@ -1,77 +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.
--->
-<ul id="flink-doc-sidenav">
-  <li><div class="sidenav-category"><a href="{{ site.baseurl }}/faq.html">FAQ</a></div></li>
-  <li><div class="sidenav-category">Quickstart</div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/setup_quickstart.html">Setup</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/run_example_quickstart.html">Run Example</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/java_api_quickstart.html">Java API</a></div></li>
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/scala_api_quickstart.html">Scala API</a></div></li>
-
-  <li><div class="sidenav-category">Setup &amp; Configuration</div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/local_setup.html">Local Setup</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/building.html">Build Flink</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/cluster_setup.html">Cluster Setup</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/gce_setup.html">GCE Setup</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/yarn_setup.html">YARN Setup</a></div></li>
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/config.html">Configuration</a></div></li>
-
-  <li><div class="sidenav-category">Programming Guides</div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/programming_guide.html">Programming Guide</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/dataset_transformations.html">DataSet Transformations</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/java8_programming_guide.html">Java 8 Programming Guide</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/streaming_guide.html">Streaming Guide</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/iterations.html">Iterations</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/spargel_guide.html">Spargel Graph API</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/gelly_guide.html">Gelly Graph API</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/table.html">Table API - Relational Queries</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item"><a href="python_programming_guide.html">Python API</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/hadoop_compatibility.html">Hadoop Compatibility</a> <small>Beta</small></div></li>
-    <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/flink_on_tez_guide.html">Running Flink on Tez</a> <small>Beta</small></div></li>
-
-  <li><div class="sidenav-category">Examples</div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/examples.html">Bundled Examples</a></div></li>
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/example_connectors.html">Connecting to other systems</a></div></li>
-
-  <li><div class="sidenav-category">Execution</div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/local_execution.html">Local/Debugging</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/cluster_execution.html">Cluster</a></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/cli.html">Command-Line Interface</a></div></li>
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/web_client.html">Web Interface</a></div></li>
-
-  <li><div class="sidenav-category">Machine Learning Library <small style="font-size:75%">Beta</small></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/ml/alternating_least_squares.html">Alternating Least Squares</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/ml/multiple_linear_regression.html">Multiple linear regression</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/ml/polynomial_base_feature_mapper.html">Polynomial Base Feature Mapper</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/ml/cocoa.html">CoCoA</a> <small>Beta</small></div></li>
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/ml/standard_scaler.html">Standard Scaler</a> <small>Beta</small></div></li>
-
-  <li><div class="sidenav-category">Advanced</div></li>
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/internal_general_arch.html">Architecture and Process Model</a></div></li>
-  <!-- <li><a href="internal_program_life_cycle.html">From Program to Execution</a></li> -->
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/internal_types_serialization.html">Type extraction and Serialization</a></div></li>
-  <!-- <li><div class="sidenav-item"><a href="{{ site.baseurl }}/internal_distributed_akka.html">Distributed Communication via Akka</a></div></li> -->
-  <li><div class="sidenav-item"><a href="{{ site.baseurl }}/internal_job_scheduling.html">Jobs and Scheduling</a></div></li>
-  <!-- <li><a href="#">Distributed Runtime & Data Exchange</a></li> -->
-  <!-- <li><a href="#">Runtime Algorithms and Memory Management</a></li> -->
-  <!-- <li><a href=#">Program Optimizer</a></li> -->
-  <li><div class="sidenav-item-bottom"><a href="{{ site.baseurl }}/internal_howto.html">Developer How-To's</a></div></li>
-</ul>
-
-<small>Components marked with <strong>Beta</strong> have been added to Flink recently. They are under heavy development and might be incomplete or unstable.</small>

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_layouts/base.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html
new file mode 100644
index 0000000..e283354
--- /dev/null
+++ b/docs/_layouts/base.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<!--
+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.
+-->
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <title>Apache Flink {{ site.version}} Documentation: {{ page.title }}</title>
+    <link rel="shortcut icon" href="{{ site.baseurl }}/page/favicon.ico" type="image/x-icon">
+    <link rel="icon" href="{{ site.baseurl }}/page/favicon.ico" type="image/x-icon">
+
+    <!-- Bootstrap -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
+    <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">
+    {% if page.mathjax %}
+    <script type="text/x-mathjax-config">
+        MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
+    </script>
+    <script type="text/javascript"
+            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+    </script>
+    {% endif %}
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+  </head>
+  <body>  
+    {% comment %} Includes are found in the _includes directory. {% endcomment %}
+    {% include navbar.html %}
+
+    <!-- Main content. -->
+    <div class="container">
+      {% comment %}
+      This is the base for all content. The content from the layouts found in
+      the _layouts directory goes here.
+      {% endcomment %}
+      {{ content }}
+    </div><!-- /.container -->
+
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+    <!-- Include all compiled plugins (below), or include individual files as needed -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+    <script src="{{ site.baseurl }}/page/js/codetabs.js"></script>
+
+    <!-- Google Analytics -->
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-52545728-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+
+    <!-- Disqus -->
+    <script type="text/javascript">
+    var disqus_shortname = 'stratosphere-eu';
+    (function() {
+        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+    })();
+</script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_layouts/default.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
deleted file mode 100644
index 3151128..0000000
--- a/docs/_layouts/default.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<!--
-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.
--->
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Apache Flink: {{ page.title }}</title>
-    <link rel="shortcut icon" href="{{ site.baseurl }}/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="{{ site.baseurl }}/favicon.ico" type="image/x-icon">
-    <link rel="stylesheet" href="{{ site.baseurl }}/css/bootstrap.css">
-    <link rel="stylesheet" href="{{ site.baseurl }}/css/bootstrap-lumen-custom.css">
-    <link rel="stylesheet" href="{{ site.baseurl }}/css/syntax.css">
-    <link rel="stylesheet" href="{{ site.baseurl }}/css/custom.css">
-    <link href="{{ site.baseurl }}/css/main/main.css" rel="stylesheet">
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-    <script src="{{ site.baseurl }}/js/bootstrap.min.js"></script>
-    <script src="{{ site.baseurl }}/js/codetabs.js"></script>
-
-    {% if page.mathjax %}
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    {% endif %}
-  </head>
-  <body>
-
-    {% include navbar.html %}
-
-    <div style="padding-top: 0px;" class="container">
-
-      <div class="row">
-        <div class="col-md-3">
-          {% include sidenav.html %}
-        </div>  
-        <div class="col-md-9">
-          <div class="row" style="padding-bottom:5px">
-            <form class="form-horizontal" action="search.html">
-              <div class="col-sm-10"><input name="q" type="text" class="form-control" placeholder="Search all pages"></div>
-              <div class="col-sm-2"><button type="submit" class="btn btn-default">Search</button></div>
-            </form>
-          </div>
-
-          <div class="row">
-            <h1>{{ page.title }}{% if page.is_beta == true %} <span class="badge">Beta</span>{% endif %}</h1>
-  	  
-            {{ content }}
-  	  
-            <!-- Disqus Area -->
-            <div style="padding-top:30px" id="disqus_thread"></div>
-        
-            <script type="text/javascript">
-                /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
-                var disqus_shortname = 'stratosphere-eu'; // required: replace example with your forum shortname
-
-                /* * * DON'T EDIT BELOW THIS LINE * * */
-                (function() {
-                    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-                    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-                    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-                })();
-            </script>
-            <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
-          </div>
-        </div>
-        <div class="footer">
-          {% capture footer %}{% include footer.md %}{% endcapture %}
-          {{ footer | markdownify }}
-        </div>
-      </div>
-    </div>
-
-    <script>
-      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
-      ga('create', 'UA-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_layouts/plain.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/plain.html b/docs/_layouts/plain.html
new file mode 100644
index 0000000..6dd9305
--- /dev/null
+++ b/docs/_layouts/plain.html
@@ -0,0 +1,33 @@
+---
+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.
+-->
+<div class="row">
+  <div class="col-sm-10 col-sm-offset-1">
+    <h1>{{ page.title }}{% if page.is_beta %} <span class="badge">Beta</span>{% endif %}</h1>
+
+{{ content }}
+  </div>
+
+  <div class="col-sm-10 col-sm-offset-1">
+    <!-- Disqus thread and some vertical offset -->
+    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_plugins/build_apidoc.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/build_apidoc.rb b/docs/_plugins/build_apidoc.rb
deleted file mode 100644
index 2326148..0000000
--- a/docs/_plugins/build_apidoc.rb
+++ /dev/null
@@ -1,74 +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.
-
-# ---------------------------------------------------------
-# Triggers building the API docs (javadoc and scaladoc)
-#
-# Written by Aljoscha Krettek 
-# ---------------------------------------------------------
-
-require 'fileutils'
-require 'rubygems'
-include FileUtils
-
-if ENV['BUILD_API'] == '1' then
-  # Build Javadoc
-
-  cd("..")
-
-  java8_doc_fix = ""
-
-  java_ver = Gem::Version.new(`java -version 2>&1 | awk -F '"' '/version/ {print $2}'`.gsub('_', '.'))
-
-  if java_ver > Gem::Version.new("1.8") then
-    puts "Detected Java8, adding -Xdoclint:none"
-    java8_doc_fix = '-DadditionalJOption="-Xdoclint:none"'
-  end
-
-  puts "Running mvn clean install -DskipTests"
-  puts `mvn clean install -DskipTests`
-
-  puts "Generating Javadoc"
-  javadoc_command = %{mvn javadoc:aggregate -Pdocs-and-source #{java8_doc_fix} -Dmaven.javadoc.failOnError=false -Dquiet=true -Dheader="<a href=\"/docs/0.8/\" target=\"_top\"><h1>Back to Flink Documentation</h1></a>"}
-  puts "Running: #{javadoc_command}"
-  puts `#{javadoc_command}`
-
-  cd("docs")
-
-  mkdir_p "api"
-
-  source = "../target/site/apidocs"
-  dest = "api/java/"
-
-  puts "cp -r " + source + "/. " + dest
-  cp_r(source + "/.", dest)
-
-  # Build Scaladoc
-  cd("../flink-scala")
-
-  puts "Generating Scaladoc"
-  puts `mvn scala:doc`
-
-  cd("../docs")
-
-  source = "../flink-scala/target/site/scaladocs"
-  dest = "api/scala/"
-
-  puts "cp -r " + source + "/. " + dest
-  cp_r(source + "/.", dest)
-
-
-end

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_plugins/gh_link.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/gh_link.rb b/docs/_plugins/gh_link.rb
index 6916fda..7f0b858 100644
--- a/docs/_plugins/gh_link.rb
+++ b/docs/_plugins/gh_link.rb
@@ -46,7 +46,7 @@ module Jekyll
       name = name.to_s == '' ? file : name
       #refname = input[2].nil? ? file : input[2]
 
-      "[#{name}](#{config["FLINK_GITHUB_URL"]}/blob/#{gh_tag}/#{path})"
+      "[#{name}](#{config["github_url"]}/blob/#{gh_tag}/#{path})"
     end
   end
 end

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_plugins/organizeLicenseHeaders.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/organizeLicenseHeaders.rb b/docs/_plugins/organizeLicenseHeaders.rb
deleted file mode 100644
index 3c84d17..0000000
--- a/docs/_plugins/organizeLicenseHeaders.rb
+++ /dev/null
@@ -1,77 +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.
-
-# ---------------------------------------------------------
-# Ensures that teh documentation contains the Apache License
-# headers once, not repeatedly for each include.
-#
-# Written by Fabian Hueske
-# ---------------------------------------------------------
-
-module Jekyll
-
-  module LicenseRemover
- 
-    AL2 = "<!--\n"+
-          "Licensed to the Apache Software Foundation (ASF) under one\n"+
-          "or more contributor license agreements.  See the NOTICE file\n"+
-          "distributed with this work for additional information\n"+
-          "regarding copyright ownership.  The ASF licenses this file\n"+
-          "to you under the Apache License, Version 2.0 (the\n"+
-          "\"License\"); you may not use this file except in compliance\n"+
-          "with the License.  You may obtain a copy of the License at\n"+
-          "\n"+
-          "http://www.apache.org/licenses/LICENSE-2.0\n"+
-          "\n"+
-          "Unless required by applicable law or agreed to in writing,\n"+
-          "software distributed under the License is distributed on an\n"+
-          "\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"+
-          "KIND, either express or implied.  See the License for the\n"+
-          "specific language governing permissions and limitations\n"+
-          "under the License.\n"+
-          "-->\n"
-
-    def writeFile(dest, content)
-      path = self.destination(dest)
-      FileUtils.mkdir_p(File.dirname(path))
-      File.open(path, 'w') do |f|
-        # remove all Apache Licenses
-        withoutLicense = content.gsub(/<!--[^>]*LICENSE-2.0[^>]*-->/,'')
-        # put single Apache License on top
-        singleLicense = AL2+withoutLicense
-        # write file out
-        f.write(singleLicense)
-      end
-    end
-
-  end
-
-  class Post
-    include LicenseRemover
-    def write(dest)
-      self.writeFile(dest, self.output)
-    end
-  end
-
-  class Page
-    include LicenseRemover
-    def write(dest)
-      self.writeFile(dest, self.output)
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/_plugins/removeDuplicateLicenseHeaders.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/removeDuplicateLicenseHeaders.rb b/docs/_plugins/removeDuplicateLicenseHeaders.rb
new file mode 100644
index 0000000..c5300c8
--- /dev/null
+++ b/docs/_plugins/removeDuplicateLicenseHeaders.rb
@@ -0,0 +1,77 @@
+# 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.
+
+# ---------------------------------------------------------
+# Ensures that the documentation contains the Apache License
+# headers once, not repeatedly for each include.
+#
+# Written by Fabian Hueske
+# ---------------------------------------------------------
+
+module Jekyll
+
+  module LicenseRemover
+ 
+    AL2 = "<!--\n"+
+          "Licensed to the Apache Software Foundation (ASF) under one\n"+
+          "or more contributor license agreements.  See the NOTICE file\n"+
+          "distributed with this work for additional information\n"+
+          "regarding copyright ownership.  The ASF licenses this file\n"+
+          "to you under the Apache License, Version 2.0 (the\n"+
+          "\"License\"); you may not use this file except in compliance\n"+
+          "with the License.  You may obtain a copy of the License at\n"+
+          "\n"+
+          "http://www.apache.org/licenses/LICENSE-2.0\n"+
+          "\n"+
+          "Unless required by applicable law or agreed to in writing,\n"+
+          "software distributed under the License is distributed on an\n"+
+          "\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"+
+          "KIND, either express or implied.  See the License for the\n"+
+          "specific language governing permissions and limitations\n"+
+          "under the License.\n"+
+          "-->\n"
+
+    def writeFile(dest, content)
+      path = self.destination(dest)
+      FileUtils.mkdir_p(File.dirname(path))
+      File.open(path, 'w') do |f|
+        # remove all Apache Licenses
+        withoutLicense = content.gsub(/<!--[^>]*LICENSE-2.0[^>]*-->/,'')
+        # put single Apache License on top
+        singleLicense = AL2+withoutLicense
+        # write file out
+        f.write(singleLicense)
+      end
+    end
+
+  end
+
+  class Post
+    include LicenseRemover
+    def write(dest)
+      self.writeFile(dest, self.output)
+    end
+  end
+
+  class Page
+    include LicenseRemover
+    def write(dest)
+      self.writeFile(dest, self.output)
+    end
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/apis/cli.md
----------------------------------------------------------------------
diff --git a/docs/apis/cli.md b/docs/apis/cli.md
new file mode 100644
index 0000000..4bfd1ad
--- /dev/null
+++ b/docs/apis/cli.md
@@ -0,0 +1,189 @@
+---
+title:  "Command-Line Interface"
+---
+<!--
+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.
+-->
+
+Flink provides a command-line interface to run programs that are packaged
+as JAR files, and control their execution.  The command line interface is part
+of any Flink setup, available in local single node setups and in
+distributed setups. It is located under `<flink-home>/bin/flink`
+and connects by default to the running Flink master (JobManager) that was
+started from the same installation directory.
+
+A prerequisite to using the command line interface is that the Flink
+master (JobManager) has been started (via `<flink-home>/bin/start-
+local.sh` or `<flink-home>/bin/start-cluster.sh`) or that a YARN
+environment is available.
+
+The command line can be used to
+
+- submit jobs for execution,
+- cancel a running job,
+- provide information about a job, and
+- list running and waiting jobs.
+
+* This will be replaced by the TOC
+{:toc}
+
+## Examples
+
+-   Run example program with no arguments.
+
+        ./bin/flink run ./examples/flink-java-examples-{{ site.version }}-WordCount.jar
+
+-   Run example program with arguments for input and result files
+
+        ./bin/flink run ./examples/flink-java-examples-{{ site.version }}-WordCount.jar \
+                               file:///home/user/hamlet.txt file:///home/user/wordcount_out
+
+-   Run example program with parallelism 16 and arguments for input and result files
+
+        ./bin/flink run -p 16 ./examples/flink-java-examples-{{ site.version }}-WordCount.jar \
+                                file:///home/user/hamlet.txt file:///home/user/wordcount_out
+
+-   Run example program on a specific JobManager:
+
+        ./bin/flink run -m myJMHost:6123 \
+                               ./examples/flink-java-examples-{{ site.version }}-WordCount.jar \
+                               file:///home/user/hamlet.txt file:///home/user/wordcount_out
+
+-   Run example program with a specific class as an entry point:
+
+        ./bin/flink run -c org.apache.flink.examples.java.wordcount.WordCount \
+                               ./examples/flink-java-examples-{{ site.version }}-WordCount.jar \
+                               file:///home/user/hamlet.txt file:///home/user/wordcount_out
+
+-   Run example program using a [per-job YARN cluster](yarn_setup.html#run-a-single-flink-job-on-hadoop-yarn) with 2 TaskManagers:
+
+        ./bin/flink run -m yarn-cluster -yn 2 \
+                               ./examples/flink-java-examples-{{ site.version }}-WordCount.jar \
+                               hdfs:///user/hamlet.txt hdfs:///user/wordcount_out
+
+-   Display the optimized execution plan for the WordCount example program as JSON:
+
+        ./bin/flink info ./examples/flink-java-examples-{{ site.version }}-WordCount.jar \
+                                file:///home/user/hamlet.txt file:///home/user/wordcount_out
+
+-   List scheduled and running jobs (including their JobIDs):
+
+        ./bin/flink list
+
+-   List scheduled jobs (including their JobIDs):
+
+        ./bin/flink list -s
+
+-   List running jobs (including their JobIDs):
+
+        ./bin/flink list -r
+
+-   Cancel a job:
+
+        ./bin/flink cancel <jobID>
+
+## Usage
+
+The command line syntax is as follows:
+
+~~~
+./flink <ACTION> [OPTIONS] [ARGUMENTS]
+
+The following actions are available:
+
+Action "run" compiles and runs a program.
+
+  Syntax: run [OPTIONS] <jar-file> <arguments>
+  "run" action options:
+     -c,--class <classname>           Class with the program entry point ("main"
+                                      method or "getPlan()" method. Only needed
+                                      if the JAR file does not specify the class
+                                      in its manifest.
+     -m,--jobmanager <host:port>      Address of the JobManager (master) to
+                                      which to connect. Specify 'yarn-cluster'
+                                      as the JobManager to deploy a YARN cluster
+                                      for the job. Use this flag to connect to a
+                                      different JobManager than the one
+                                      specified in the configuration.
+     -p,--parallelism <parallelism>   The parallelism with which to run the
+                                      program. Optional flag to override the
+                                      default value specified in the
+                                      configuration.
+  Additional arguments if -m yarn-cluster is set:
+     -yD <arg>                            Dynamic properties
+     -yd,--yarndetached                   Start detached
+     -yj,--yarnjar <arg>                  Path to Flink jar file
+     -yjm,--yarnjobManagerMemory <arg>    Memory for JobManager Container [in
+                                          MB]
+     -yn,--yarncontainer <arg>            Number of YARN container to allocate
+                                          (=Number of Task Managers)
+     -yq,--yarnquery                      Display available YARN resources
+                                          (memory, cores)
+     -yqu,--yarnqueue <arg>               Specify YARN queue.
+     -ys,--yarnslots <arg>                Number of slots per TaskManager
+     -yt,--yarnship <arg>                 Ship files in the specified directory
+                                          (t for transfer)
+     -ytm,--yarntaskManagerMemory <arg>   Memory per TaskManager Container [in
+                                          MB]
+
+
+Action "info" shows the optimized execution plan of the program (JSON).
+
+  Syntax: info [OPTIONS] <jar-file> <arguments>
+  "info" action options:
+     -c,--class <classname>           Class with the program entry point ("main"
+                                      method or "getPlan()" method. Only needed
+                                      if the JAR file does not specify the class
+                                      in its manifest.
+     -m,--jobmanager <host:port>      Address of the JobManager (master) to
+                                      which to connect. Specify 'yarn-cluster'
+                                      as the JobManager to deploy a YARN cluster
+                                      for the job. Use this flag to connect to a
+                                      different JobManager than the one
+                                      specified in the configuration.
+     -p,--parallelism <parallelism>   The parallelism with which to run the
+                                      program. Optional flag to override the
+                                      default value specified in the
+                                      configuration.
+
+
+Action "list" lists running and scheduled programs.
+
+  Syntax: list [OPTIONS]
+  "list" action options:
+     -m,--jobmanager <host:port>   Address of the JobManager (master) to which
+                                   to connect. Specify 'yarn-cluster' as the
+                                   JobManager to deploy a YARN cluster for the
+                                   job. Use this flag to connect to a different
+                                   JobManager than the one specified in the
+                                   configuration.
+     -r,--running                  Show only running programs and their JobIDs
+     -s,--scheduled                Show only scheduled programs and their JobIDs
+
+
+Action "cancel" cancels a running program.
+
+  Syntax: cancel [OPTIONS] <Job ID>
+  "cancel" action options:
+     -m,--jobmanager <host:port>   Address of the JobManager (master) to which
+                                   to connect. Specify 'yarn-cluster' as the
+                                   JobManager to deploy a YARN cluster for the
+                                   job. Use this flag to connect to a different
+                                   JobManager than the one specified in the
+                                   configuration.
+~~~

http://git-wip-us.apache.org/repos/asf/flink/blob/f1ee90cc/docs/apis/cluster_execution.md
----------------------------------------------------------------------
diff --git a/docs/apis/cluster_execution.md b/docs/apis/cluster_execution.md
new file mode 100644
index 0000000..c2b3c27
--- /dev/null
+++ b/docs/apis/cluster_execution.md
@@ -0,0 +1,146 @@
+---
+title:  "Cluster Execution"
+---
+<!--
+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.
+-->
+
+* This will be replaced by the TOC
+{:toc}
+
+Flink programs can run distributed on clusters of many machines. There
+are two ways to send a program to a cluster for execution:
+
+## Command Line Interface
+
+The command line interface lets you submit packaged programs (JARs) to a cluster
+(or single machine setup).
+
+Please refer to the [Command Line Interface](cli.html) documentation for
+details.
+
+## Remote Environment
+
+The remote environment lets you execute Flink Java programs on a cluster
+directly. The remote environment points to the cluster on which you want to
+execute the program.
+
+### Maven Dependency
+
+If you are developing your program as a Maven project, you have to add the
+`flink-clients` module using this dependency:
+
+~~~xml
+<dependency>
+  <groupId>org.apache.flink</groupId>
+  <artifactId>flink-clients</artifactId>
+  <version>{{ site.version }}</version>
+</dependency>
+~~~
+
+### Example
+
+The following illustrates the use of the `RemoteEnvironment`:
+
+~~~java
+public static void main(String[] args) throws Exception {
+    ExecutionEnvironment env = ExecutionEnvironment
+        .createRemoteEnvironment("strato-master", "7661", "/home/user/udfs.jar");
+
+    DataSet<String> data = env.readTextFile("hdfs://path/to/file");
+
+    data
+        .filter(new FilterFunction<String>() {
+            public boolean filter(String value) {
+                return value.startsWith("http://");
+            }
+        })
+        .writeAsText("hdfs://path/to/result");
+
+    env.execute();
+}
+~~~
+
+Note that the program contains custom user code and hence requires a JAR file with
+the classes of the code attached. The constructor of the remote environment
+takes the path(s) to the JAR file(s).
+
+## Remote Executor
+
+Similar to the RemoteEnvironment, the RemoteExecutor lets you execute
+Flink programs on a cluster directly. The remote executor accepts a
+*Plan* object, which describes the program as a single executable unit.
+
+### Maven Dependency
+
+If you are developing your program in a Maven project, you have to add the
+`flink-clients` module using this dependency:
+
+~~~xml
+<dependency>
+  <groupId>org.apache.flink</groupId>
+  <artifactId>flink-clients</artifactId>
+  <version>{{ site.version }}</version>
+</dependency>
+~~~
+
+### Example
+
+The following illustrates the use of the `RemoteExecutor` with the Scala API:
+
+~~~scala
+def main(args: Array[String]) {
+    val input = TextFile("hdfs://path/to/file")
+
+    val words = input flatMap { _.toLowerCase().split("""\W+""") filter { _ != "" } }
+    val counts = words groupBy { x => x } count()
+
+    val output = counts.write(wordsOutput, CsvOutputFormat())
+  
+    val plan = new ScalaPlan(Seq(output), "Word Count")
+    val executor = new RemoteExecutor("strato-master", 7881, "/path/to/jarfile.jar")
+    executor.executePlan(p);
+}
+~~~
+
+The following illustrates the use of the `RemoteExecutor` with the Java API (as
+an alternative to the RemoteEnvironment):
+
+~~~java
+public static void main(String[] args) throws Exception {
+    ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
+
+    DataSet<String> data = env.readTextFile("hdfs://path/to/file");
+
+    data
+        .filter(new FilterFunction<String>() {
+            public boolean filter(String value) {
+                return value.startsWith("http://");
+            }
+        })
+        .writeAsText("hdfs://path/to/result");
+
+    Plan p = env.createProgramPlan();
+    RemoteExecutor e = new RemoteExecutor("strato-master", 7881, "/path/to/jarfile.jar");
+    e.executePlan(p);
+}
+~~~
+
+Note that the program contains custom UDFs and hence requires a JAR file with
+the classes of the code attached. The constructor of the remote executor takes
+the path(s) to the JAR file(s).


Mime
View raw message