asfgit closed pull request #6565: [FLINK-10153] [docs] Add Tutorials section 
and rework structure.
URL: https://github.com/apache/flink/pull/6565
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/docs/dev/api_concepts.md b/docs/dev/api_concepts.md
index c4215074683..bd7ca5aff90 100644
--- a/docs/dev/api_concepts.md
+++ b/docs/dev/api_concepts.md
@@ -510,7 +510,7 @@ data.map(new MapFunction<String, Integer> () {
 
 #### Java 8 Lambdas
 
-Flink also supports Java 8 Lambdas in the Java API. Please see the full [Java 
8 Guide]({{ site.baseurl }}/dev/java8.html).
+Flink also supports Java 8 Lambdas in the Java API.
 
 {% highlight java %}
 data.filter(s -> s.startsWith("http://";));
diff --git a/docs/dev/batch/examples.md b/docs/dev/batch/examples.md
index 90e372dfd60..fe2bd8d3bdc 100644
--- a/docs/dev/batch/examples.md
+++ b/docs/dev/batch/examples.md
@@ -27,8 +27,7 @@ The following example programs showcase different 
applications of Flink
 from simple word counting to graph algorithms. The code samples illustrate the
 use of [Flink's DataSet API]({{ site.baseurl }}/dev/batch/index.html).
 
-The full source code of the following and more examples can be found in the 
__flink-examples-batch__
-or __flink-examples-streaming__ module of the Flink source repository.
+The full source code of the following and more examples can be found in the {% 
gh_link flink-examples/flink-examples-batch "flink-examples-batch" %} module of 
the Flink source repository.
 
 * This will be replaced by the TOC
 {:toc}
@@ -420,102 +419,4 @@ Input files are plain text files and must be formatted as 
follows:
 - Edges are represented as pairs for vertex IDs which are separated by space 
characters. Edges are separated by new-line characters:
     * For example `"1 2\n2 12\n1 12\n42 63\n"` gives four (undirected) links 
(1)-(2), (2)-(12), (1)-(12), and (42)-(63).
 
-## Relational Query
-
-The Relational Query example assumes two tables, one with `orders` and the 
other with `lineitems` as specified by the [TPC-H decision support 
benchmark](http://www.tpc.org/tpch/). TPC-H is a standard benchmark in the 
database industry. See below for instructions how to generate the input data.
-
-The example implements the following SQL query.
-
-{% highlight sql %}
-SELECT l_orderkey, o_shippriority, sum(l_extendedprice) as revenue
-    FROM orders, lineitem
-WHERE l_orderkey = o_orderkey
-    AND o_orderstatus = "F"
-    AND YEAR(o_orderdate) > 1993
-    AND o_orderpriority LIKE "5%"
-GROUP BY l_orderkey, o_shippriority;
-{% endhighlight %}
-
-The Flink program, which implements the above query looks as follows.
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-
-{% highlight java %}
-// get orders data set: (orderkey, orderstatus, orderdate, orderpriority, 
shippriority)
-DataSet<Tuple5<Integer, String, String, String, Integer>> orders = 
getOrdersDataSet(env);
-// get lineitem data set: (orderkey, extendedprice)
-DataSet<Tuple2<Integer, Double>> lineitems = getLineitemDataSet(env);
-
-// orders filtered by year: (orderkey, custkey)
-DataSet<Tuple2<Integer, Integer>> ordersFilteredByYear =
-        // filter orders
-        orders.filter(
-            new FilterFunction<Tuple5<Integer, String, String, String, 
Integer>>() {
-                @Override
-                public boolean filter(Tuple5<Integer, String, String, String, 
Integer> t) {
-                    // status filter
-                    if(!t.f1.equals(STATUS_FILTER)) {
-                        return false;
-                    // year filter
-                    } else if(Integer.parseInt(t.f2.substring(0, 4)) <= 
YEAR_FILTER) {
-                        return false;
-                    // order priority filter
-                    } else if(!t.f3.startsWith(OPRIO_FILTER)) {
-                        return false;
-                    }
-                    return true;
-                }
-            })
-        // project fields out that are no longer required
-        .project(0,4).types(Integer.class, Integer.class);
-
-// join orders with lineitems: (orderkey, shippriority, extendedprice)
-DataSet<Tuple3<Integer, Integer, Double>> lineitemsOfOrders =
-        ordersFilteredByYear.joinWithHuge(lineitems)
-                            .where(0).equalTo(0)
-                            .projectFirst(0,1).projectSecond(1)
-                            .types(Integer.class, Integer.class, Double.class);
-
-// extendedprice sums: (orderkey, shippriority, sum(extendedprice))
-DataSet<Tuple3<Integer, Integer, Double>> priceSums =
-        // group by order and sum extendedprice
-        lineitemsOfOrders.groupBy(0,1).aggregate(Aggregations.SUM, 2);
-
-// emit result
-priceSums.writeAsCsv(outputPath);
-{% endhighlight %}
-
-The {% gh_link 
/flink-examples/flink-examples-batch/src/main/java/org/apache/flink/examples/java/relational/TPCHQuery10.java
 "Relational Query program" %} implements the above query. It requires the 
following parameters to run: `--orders <path> --lineitem <path> --output 
<path>`.
-
-</div>
-<div data-lang="scala" markdown="1">
-Coming soon...
-
-The {% gh_link 
/flink-examples/flink-examples-batch/src/main/scala/org/apache/flink/examples/scala/relational/TPCHQuery3.scala
 "Relational Query program" %} implements the above query. It requires the 
following parameters to run: `--orders <path> --lineitem <path> --output 
<path>`.
-
-</div>
-</div>
-
-The orders and lineitem files can be generated using the [TPC-H 
benchmark](http://www.tpc.org/tpch/) suite's data generator tool (DBGEN).
-Take the following steps to generate arbitrary large input files for the 
provided Flink programs:
-
-1.  Download and unpack DBGEN
-2.  Make a copy of *makefile.suite* called *Makefile* and perform the 
following changes:
-
-{% highlight bash %}
-DATABASE = DB2
-MACHINE  = LINUX
-WORKLOAD = TPCH
-CC       = gcc
-{% endhighlight %}
-
-1.  Build DBGEN using *make*
-2.  Generate lineitem and orders relations using dbgen. A scale factor
-    (-s) of 1 results in a generated data set with about 1 GB size.
-
-{% highlight bash %}
-./dbgen -T o -s 1
-{% endhighlight %}
-
 {% top %}
diff --git a/docs/dev/best_practices.md b/docs/dev/best_practices.md
index e8dee306a55..daf4aaf73d9 100644
--- a/docs/dev/best_practices.md
+++ b/docs/dev/best_practices.md
@@ -192,7 +192,7 @@ public class MyClass implements MapFunction {
 
 In all cases were classes are executed with a classpath created by a 
dependency manager such as Maven, Flink will pull log4j into the classpath.
 
-Therefore, you will need to exclude log4j from Flink's dependencies. The 
following description will assume a Maven project created from a [Flink 
quickstart](../quickstart/java_api_quickstart.html).
+Therefore, you will need to exclude log4j from Flink's dependencies. The 
following description will assume a Maven project created from a [Flink 
quickstart](./projectsetup/java_api_quickstart.html).
 
 Change your projects `pom.xml` file like this:
 
diff --git a/docs/dev/index.md b/docs/dev/index.md
index 8b96672eeed..b58120471b3 100644
--- a/docs/dev/index.md
+++ b/docs/dev/index.md
@@ -4,6 +4,7 @@ nav-id: dev
 nav-title: '<i class="fa fa-code title maindish" aria-hidden="true"></i> 
Application Development'
 nav-parent_id: root
 nav-pos: 5
+section-break: true
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/start/dependencies.md b/docs/dev/projectsetup/dependencies.md
similarity index 96%
rename from docs/start/dependencies.md
rename to docs/dev/projectsetup/dependencies.md
index 564636863f5..5075cda608b 100644
--- a/docs/start/dependencies.md
+++ b/docs/dev/projectsetup/dependencies.md
@@ -1,6 +1,6 @@
 ---
 title: "Configuring Dependencies, Connectors, Libraries"
-nav-parent_id: start
+nav-parent_id: projectsetup
 nav-pos: 2
 ---
 <!--
@@ -57,8 +57,8 @@ As with most systems that run user-defined applications, 
there are two broad cat
 ## Setting up a Project: Basic Dependencies
 
 Every Flink application needs as the bare minimum the API dependencies, to 
develop against.
-For Maven, you can use the [Java Project Template]({{ site.baseurl 
}}/quickstart/java_api_quickstart.html)
-or [Scala Project Template]({{ site.baseurl 
}}/quickstart/scala_api_quickstart.html) to create
+For Maven, you can use the [Java Project Template]({{ site.baseurl 
}}/dev/projectsetup/java_api_quickstart.html)
+or [Scala Project Template]({{ site.baseurl 
}}/dev/projectsetup/scala_api_quickstart.html) to create
 a program skeleton with these initial dependencies.
 
 When setting up a project manually, you need to add the following dependencies 
for the Java/Scala API
@@ -136,8 +136,8 @@ We recommend to package the application code and all its 
required dependencies i
 we refer to as the *application jar*. The application jar can be submitted to 
an already running Flink cluster,
 or added to a Flink application container image.
 
-Projects created from the [Java Project Template]({{ site.baseurl 
}}/quickstart/java_api_quickstart.html) or
-[Scala Project Template]({{ site.baseurl 
}}/quickstart/scala_api_quickstart.html) are configured to automatically include
+Projects created from the [Java Project Template]({{ site.baseurl 
}}/dev/projectsetup/java_api_quickstart.html) or
+[Scala Project Template]({{ site.baseurl 
}}/dev/projectsetup/scala_api_quickstart.html) are configured to automatically 
include
 the application dependencies into the application jar when running `mvn clean 
package`. For projects that are
 not set up from those templates, we recommend to add the Maven Shade Plugin 
(as listed in the Appendix below)
 to build the application jar with all required dependencies.
@@ -159,7 +159,7 @@ Scala version that they are built for, for example 
`flink-streaming-scala_2.11`.
 Developers that only use Java can pick any Scala version, Scala developers 
need to
 pick the Scala version that matches their application's Scala version.
 
-Please refer to the [build guide]({{ site.baseurl 
}}/start/building.html#scala-versions)
+Please refer to the [build guide]({{ site.baseurl 
}}/flinkdev/building.html#scala-versions)
 for details on how to build Flink for a specific Scala version.
 
 **Note:** Because of major breaking changes in Scala 2.12, Flink 1.5 currently 
builds only for Scala 2.11.
diff --git a/docs/dev/projectsetup/index.md b/docs/dev/projectsetup/index.md
new file mode 100644
index 00000000000..f92bcd9f279
--- /dev/null
+++ b/docs/dev/projectsetup/index.md
@@ -0,0 +1,25 @@
+---
+title: "Project Build Setup"
+nav-id: projectsetup
+nav-title: 'Project Build Setup'
+nav-parent_id: dev
+nav-pos: 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.
+-->
diff --git a/docs/quickstart/java_api_quickstart.md 
b/docs/dev/projectsetup/java_api_quickstart.md
similarity index 96%
rename from docs/quickstart/java_api_quickstart.md
rename to docs/dev/projectsetup/java_api_quickstart.md
index 0d14d840056..03d75c13072 100644
--- a/docs/quickstart/java_api_quickstart.md
+++ b/docs/dev/projectsetup/java_api_quickstart.md
@@ -1,7 +1,7 @@
 ---
 title: "Project Template for Java"
 nav-title: Project Template for Java
-nav-parent_id: start
+nav-parent_id: projectsetup
 nav-pos: 0
 ---
 <!--
@@ -124,7 +124,7 @@ can run time application from the JAR file without 
additionally specifying the m
 Write your application!
 
 If you are writing a streaming application and you are looking for inspiration 
what to write,
-take a look at the [Stream Processing Application Tutorial]({{ site.baseurl 
}}/quickstart/run_example_quickstart.html#writing-a-flink-program).
+take a look at the [Stream Processing Application Tutorial]({{ site.baseurl 
}}/tutorials/datastream_api.html#writing-a-flink-program).
 
 If you are writing a batch processing application and you are looking for 
inspiration what to write,
 take a look at the [Batch Application Examples]({{ site.baseurl 
}}/dev/batch/examples.html).
@@ -133,7 +133,7 @@ For a complete overview over the APIs, have a look at the
 [DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and
 [DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections.
 
-[Here]({{ site.baseurl }}/quickstart/setup_quickstart.html) you can find out 
how to run an application outside the IDE on a local cluster.
+[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to 
run an application outside the IDE on a local cluster.
 
 If you have any trouble, ask on our
 [Mailing List](http://mail-archives.apache.org/mod_mbox/flink-user/).
diff --git a/docs/quickstart/scala_api_quickstart.md 
b/docs/dev/projectsetup/scala_api_quickstart.md
similarity index 97%
rename from docs/quickstart/scala_api_quickstart.md
rename to docs/dev/projectsetup/scala_api_quickstart.md
index 590c461ebad..bcb404591fa 100644
--- a/docs/quickstart/scala_api_quickstart.md
+++ b/docs/dev/projectsetup/scala_api_quickstart.md
@@ -1,7 +1,7 @@
 ---
 title: "Project Template for Scala"
 nav-title: Project Template for Scala
-nav-parent_id: start
+nav-parent_id: projectsetup
 nav-pos: 1
 ---
 <!--
@@ -212,7 +212,7 @@ can run time application from the JAR file without 
additionally specifying the m
 Write your application!
 
 If you are writing a streaming application and you are looking for inspiration 
what to write,
-take a look at the [Stream Processing Application Tutorial]({{ site.baseurl 
}}/quickstart/run_example_quickstart.html#writing-a-flink-program)
+take a look at the [Stream Processing Application Tutorial]({{ site.baseurl 
}}/tutorials/datastream_api.html#writing-a-flink-program)
 
 If you are writing a batch processing application and you are looking for 
inspiration what to write,
 take a look at the [Batch Application Examples]({{ site.baseurl 
}}/dev/batch/examples.html)
@@ -221,7 +221,7 @@ For a complete overview over the APIa, have a look at the
 [DataStream API]({{ site.baseurl }}/dev/datastream_api.html) and
 [DataSet API]({{ site.baseurl }}/dev/batch/index.html) sections.
 
-[Here]({{ site.baseurl }}/quickstart/setup_quickstart.html) you can find out 
how to run an application outside the IDE on a local cluster.
+[Here]({{ site.baseurl }}/tutorials/local_setup.html) you can find out how to 
run an application outside the IDE on a local cluster.
 
 If you have any trouble, ask on our
 [Mailing List](http://mail-archives.apache.org/mod_mbox/flink-user/).
diff --git a/docs/dev/stream/python.md b/docs/dev/stream/python.md
index adce83fea28..af9c393b3ea 100644
--- a/docs/dev/stream/python.md
+++ b/docs/dev/stream/python.md
@@ -624,7 +624,7 @@ env.execute()
 
 A system-wide default parallelism for all execution environments can be 
defined by setting the
 `parallelism.default` property in `./conf/flink-conf.yaml`. See the
-[Configuration]({{ site.baseurl }}/setup/config.html) documentation for 
details.
+[Configuration]({{ site.baseurl }}/ops/config.html) documentation for details.
 
 {% top %}
 
diff --git a/docs/dev/table/sourceSinks.md b/docs/dev/table/sourceSinks.md
index d0cc78e6c56..7b831b71a9c 100644
--- a/docs/dev/table/sourceSinks.md
+++ b/docs/dev/table/sourceSinks.md
@@ -664,7 +664,7 @@ connector.debug=true
 
 ### Use a TableFactory in the Table & SQL API
 
-For a type-safe, programmatic approach with explanatory Scaladoc/Javadoc, the 
Table & SQL API offers descriptors in `org.apache.flink.table.descriptors` that 
translate into string-based properties. See the [built-in 
descriptors](connect.md) for sources, sinks, and formats as a reference.
+For a type-safe, programmatic approach with explanatory Scaladoc/Javadoc, the 
Table & SQL API offers descriptors in `org.apache.flink.table.descriptors` that 
translate into string-based properties. See the [built-in 
descriptors](connect.html) for sources, sinks, and formats as a reference.
 
 A connector for `MySystem` in our example can extend `ConnectorDescriptor` as 
shown below:
 
diff --git a/docs/examples/index.md b/docs/examples/index.md
index 38d9dd679a4..a8472026b7c 100644
--- a/docs/examples/index.md
+++ b/docs/examples/index.md
@@ -25,15 +25,24 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-[Sample Project in Java]({{ site.baseurl 
}}/quickstart/java_api_quickstart.html) and [Sample Project in Scala]({{ 
site.baseurl }}/quickstart/scala_api_quickstart.html) are guides to setting up 
Maven and SBT projects and include simple implementations of a word count 
application.
 
-[Monitoring Wikipedia Edits]({{ site.baseurl 
}}/quickstart/run_example_quickstart.html) is a more complete example of a 
streaming analytics application.
+## Bundled Examples
 
-[Building real-time dashboard applications with Apache Flink, Elasticsearch, 
and 
Kibana](https://www.elastic.co/blog/building-real-time-dashboard-applications-with-apache-flink-elasticsearch-and-kibana)
 is a blog post at elastic.co showing how to build a real-time dashboard 
solution for streaming data analytics using Apache Flink, Elasticsearch, and 
Kibana.
+The Flink sources include many examples for Flink's different APIs:
 
-The [Flink training website](http://training.data-artisans.com/) from data 
Artisans has a number of examples. See the hands-on sections, and the exercises.
+* DataStream applications ({% gh_link 
flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples
 "Java" %} / {% gh_link 
flink-examples/flink-examples-streaming/src/main/scala/org/apache/flink/streaming/scala/examples
 "Scala" %}) 
+* DataSet applications ({% gh_link 
flink-examples/flink-examples-batch/src/main/java/org/apache/flink/examples/java
 "Java" %} / {% gh_link 
flink-examples/flink-examples-batch/src/main/scala/org/apache/flink/examples/scala
 "Scala" %})
+* Table API / SQL queries ({% gh_link 
flink-examples/flink-examples-table/src/main/java/org/apache/flink/table/examples/java
 "Java" %} / {% gh_link 
flink-examples/flink-examples-table/src/main/scala/org/apache/flink/table/examples/scala
 "Scala" %})
 
-## Bundled Examples
+These [instructions]({{ site.baseurl 
}}/dev/batch/examples.html#running-an-example) explain how to run the examples.
+
+## Examples on the Web
+
+There are also a few blog posts published online that discuss example 
applications:
+
+* [How to build stateful streaming applications with Apache Flink
+](https://www.infoworld.com/article/3293426/big-data/how-to-build-stateful-streaming-applications-with-apache-flink.html)
 presents an event-driven application implemented with the DataStream API and 
two SQL queries for streaming analytics.
 
-The Flink sources include a number of examples for both **streaming** ( 
[java](https://github.com/apache/flink/tree/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples)
 / 
[scala](https://github.com/apache/flink/tree/master/flink-examples/flink-examples-streaming/src/main/scala/org/apache/flink/streaming/scala/examples)
 ) and **batch** ( 
[java](https://github.com/apache/flink/tree/master/flink-examples/flink-examples-batch/src/main/java/org/apache/flink/examples/java)
 / 
[scala](https://github.com/apache/flink/tree/master/flink-examples/flink-examples-batch/src/main/scala/org/apache/flink/examples/scala)
 ). These [instructions]({{ site.baseurl 
}}/dev/batch/examples.html#running-an-example) explain how to run the examples.
+* [Building real-time dashboard applications with Apache Flink, Elasticsearch, 
and 
Kibana](https://www.elastic.co/blog/building-real-time-dashboard-applications-with-apache-flink-elasticsearch-and-kibana)
 is a blog post at elastic.co showing how to build a real-time dashboard 
solution for streaming data analytics using Apache Flink, Elasticsearch, and 
Kibana.
 
+* The [Flink training website](http://training.data-artisans.com/) from data 
Artisans has a number of examples. Check out the hands-on sections and the 
exercises.
\ No newline at end of file
diff --git a/docs/start/building.md b/docs/flinkDev/building.md
similarity index 99%
rename from docs/start/building.md
rename to docs/flinkDev/building.md
index 654f00bc4db..679f44416a3 100644
--- a/docs/start/building.md
+++ b/docs/flinkDev/building.md
@@ -1,6 +1,6 @@
 ---
 title: Building Flink from Source
-nav-parent_id: start
+nav-parent_id: flinkdev
 nav-pos: 20
 ---
 <!--
diff --git a/docs/internals/ide_setup.md b/docs/flinkDev/ide_setup.md
similarity index 95%
rename from docs/internals/ide_setup.md
rename to docs/flinkDev/ide_setup.md
index c59ea8d39f1..66cd552a0b5 100644
--- a/docs/internals/ide_setup.md
+++ b/docs/flinkDev/ide_setup.md
@@ -1,6 +1,6 @@
 ---
-title: "IDE Setup"
-nav-parent_id: start
+title: "Importing Flink into an IDE"
+nav-parent_id: flinkdev
 nav-pos: 3
 ---
 <!--
@@ -27,8 +27,8 @@ under the License.
 
 The sections below describe how to import the Flink project into an IDE
 for the development of Flink itself. For writing Flink programs, please
-refer to the [Java API]({{ site.baseurl }}/quickstart/java_api_quickstart.html)
-and the [Scala API]({{ site.baseurl }}/quickstart/scala_api_quickstart.html)
+refer to the [Java API]({{ site.baseurl 
}}/dev/projectsetup/java_api_quickstart.html)
+and the [Scala API]({{ site.baseurl 
}}/dev/projectsetup/scala_api_quickstart.html)
 quickstart guides.
 
 **NOTE:** Whenever something is not working in your IDE, try with the Maven
diff --git a/docs/start/index.md b/docs/flinkDev/index.md
similarity index 84%
rename from docs/start/index.md
rename to docs/flinkDev/index.md
index a0b42de73a2..462feae4762 100644
--- a/docs/start/index.md
+++ b/docs/flinkDev/index.md
@@ -1,10 +1,10 @@
 ---
 section-break: true
-nav-title: '<i class="fa fa-cogs title maindish" aria-hidden="true"></i> 
Project Setup'
-title: "Project Setup"
-nav-id: "start"
+nav-title: '<i class="fa fa-cogs title dessert" aria-hidden="true"></i> Flink 
Development'
+title: "Flink Development"
+nav-id: "flinkdev"
 nav-parent_id: root
-nav-pos: 4
+nav-pos: 8
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/index.md b/docs/index.md
index 419bb397d8a..e138bc35457 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -33,7 +33,9 @@ Apache Flink is an open source platform for distributed 
stream and batch data pr
 
 - **Concepts**: Start with the basic concepts of Flink's [Dataflow Programming 
Model](concepts/programming-model.html) and [Distributed Runtime 
Environment](concepts/runtime.html). This will help you understand other parts 
of the documentation, including the setup and programming guides. We recommend 
you read these sections first.
 
-- **Quickstarts**: [Run an example program](quickstart/setup_quickstart.html) 
on your local machine or [study some examples](examples/index.html).
+- **Tutorials**: 
+  * [Implement and run a DataStream 
application](./tutorials/datastream_api.html)
+  * [Setup a local Flink cluster](./tutorials/local_setup.html)
 
 - **Programming Guides**: You can read our guides about [basic API 
concepts](dev/api_concepts.html) and the [DataStream 
API](dev/datastream_api.html) or the [DataSet API](dev/batch/index.html) to 
learn how to write your first Flink programs.
 
diff --git a/docs/internals/components.md b/docs/internals/components.md
index e85183b92a1..bb949f20a80 100644
--- a/docs/internals/components.md
+++ b/docs/internals/components.md
@@ -53,7 +53,7 @@ You can click on the components in the figure to learn more.
 <area id="datastream" title="DataStream API" href="{{ site.baseurl 
}}/dev/datastream_api.html" shape="rect" coords="64,177,379,255" />
 <area id="dataset" title="DataSet API" href="{{ site.baseurl 
}}/dev/batch/index.html" shape="rect" coords="382,177,697,255" />
 <area id="runtime" title="Runtime" href="{{ site.baseurl 
}}/concepts/runtime.html" shape="rect" coords="63,257,700,335" />
-<area id="local" title="Local" href="{{ site.baseurl 
}}/quickstart/setup_quickstart.html" shape="rect" coords="62,337,275,414" />
+<area id="local" title="Local" href="{{ site.baseurl 
}}/tutorials/local_setup.html" shape="rect" coords="62,337,275,414" />
 <area id="cluster" title="Cluster" href="{{ site.baseurl 
}}/ops/deployment/cluster_setup.html" shape="rect" coords="273,336,486,413" />
 <area id="cloud" title="Cloud" href="{{ site.baseurl 
}}/ops/deployment/gce_setup.html" shape="rect" coords="485,336,700,414" />
 </map>
diff --git a/docs/internals/index.md b/docs/internals/index.md
index 8b3184cc945..bd079a98dc4 100644
--- a/docs/internals/index.md
+++ b/docs/internals/index.md
@@ -1,10 +1,9 @@
 ---
 title: "Internals"
 nav-id: internals
-nav-pos: 8
+nav-pos: 9
 nav-title: '<i class="fa fa-book title dessert" aria-hidden="true"></i> 
Internals'
 nav-parent_id: root
-section-break: true
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/ops/deployment/yarn_setup.md 
b/docs/ops/deployment/yarn_setup.md
index 18e693e1c7d..c009fb5b148 100644
--- a/docs/ops/deployment/yarn_setup.md
+++ b/docs/ops/deployment/yarn_setup.md
@@ -291,7 +291,7 @@ It allows to access log files for running YARN applications 
and shows diagnostic
 
 ## Build YARN client for a specific Hadoop version
 
-Users using Hadoop distributions from companies like Hortonworks, Cloudera or 
MapR might have to build Flink against their specific versions of Hadoop (HDFS) 
and YARN. Please read the [build instructions]({{ site.baseurl 
}}/start/building.html) for more details.
+Users using Hadoop distributions from companies like Hortonworks, Cloudera or 
MapR might have to build Flink against their specific versions of Hadoop (HDFS) 
and YARN. Please read the [build instructions]({{ site.baseurl 
}}/flinkdev/building.html) for more details.
 
 ## Running Flink on YARN behind Firewalls
 
diff --git a/docs/dev/scala_shell.md b/docs/ops/scala_shell.md
similarity index 99%
rename from docs/dev/scala_shell.md
rename to docs/ops/scala_shell.md
index d236430ad57..e7df8647d22 100644
--- a/docs/dev/scala_shell.md
+++ b/docs/ops/scala_shell.md
@@ -1,7 +1,7 @@
 ---
 title: "Scala REPL"
-nav-parent_id: start
-nav-pos: 5
+nav-parent_id: ops
+nav-pos: 7
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/redirects/java8.md b/docs/redirects/building.md
similarity index 88%
rename from docs/redirects/java8.md
rename to docs/redirects/building.md
index 6f26ca483e8..d8b7d40af00 100644
--- a/docs/redirects/java8.md
+++ b/docs/redirects/building.md
@@ -1,8 +1,8 @@
 ---
-title: "Java8"
+title: "Building Flink from Source"
 layout: redirect
-redirect: /dev/java8.html
-permalink: /apis/java8.html
+redirect: /flinkDev/building.html
+permalink: /start/building.html
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/redirects/dependencies.md b/docs/redirects/dependencies.md
new file mode 100644
index 00000000000..26debf6e952
--- /dev/null
+++ b/docs/redirects/dependencies.md
@@ -0,0 +1,24 @@
+---
+title: "Configuring Dependencies, Connectors, Libraries"
+layout: redirect
+redirect: /dev/projectsetup/dependencies.html
+permalink: /start/dependencies.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.
+-->
diff --git a/docs/redirects/example_quickstart.md 
b/docs/redirects/example_quickstart.md
new file mode 100644
index 00000000000..8795bedcb9f
--- /dev/null
+++ b/docs/redirects/example_quickstart.md
@@ -0,0 +1,24 @@
+---
+title: "DataStream API Tutorial"
+layout: redirect
+redirect: /tutorials/datastream_api.html
+permalink: /quickstart/run_example_quickstart.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.
+-->
diff --git a/docs/redirects/ide_setup.md b/docs/redirects/ide_setup.md
new file mode 100644
index 00000000000..dfe747f5e4d
--- /dev/null
+++ b/docs/redirects/ide_setup.md
@@ -0,0 +1,24 @@
+---
+title: "Importing Flink into an IDE"
+layout: redirect
+redirect: /flinkDev/ide_setup.html
+permalink: /internals/ide_setup.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.
+-->
diff --git a/docs/redirects/java_quickstart.md 
b/docs/redirects/java_quickstart.md
new file mode 100644
index 00000000000..1b78e7518dc
--- /dev/null
+++ b/docs/redirects/java_quickstart.md
@@ -0,0 +1,24 @@
+---
+title: "Project Template for Java"
+layout: redirect
+redirect: /dev/projectsetup/java_api_quickstart.html
+permalink: /quickstart/java_api_quickstart.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.
+-->
diff --git a/docs/redirects/linking_with_flink.md 
b/docs/redirects/linking_with_flink.md
index 1289487c9ff..719a1d812f5 100644
--- a/docs/redirects/linking_with_flink.md
+++ b/docs/redirects/linking_with_flink.md
@@ -1,7 +1,7 @@
 ---
 title: "Linking with Flink"
 layout: redirect
-redirect: /start/dependencies.html
+redirect: /dev/projectsetup/dependencies.html
 permalink: /dev/linking_with_flink.html
 ---
 <!--
diff --git a/docs/redirects/linking_with_optional_modules.md 
b/docs/redirects/linking_with_optional_modules.md
index e494fbc54d0..2eba074ac55 100644
--- a/docs/redirects/linking_with_optional_modules.md
+++ b/docs/redirects/linking_with_optional_modules.md
@@ -1,7 +1,7 @@
 ---
 title: "Linking with Optional Modules"
 layout: redirect
-redirect: /start/dependencies.html
+redirect: /dev/projectsetup/dependencies.html
 permalink: /dev/linking.html
 ---
 <!--
diff --git a/docs/redirects/scala_quickstart.md 
b/docs/redirects/scala_quickstart.md
new file mode 100644
index 00000000000..f50c4dc86b7
--- /dev/null
+++ b/docs/redirects/scala_quickstart.md
@@ -0,0 +1,24 @@
+---
+title: "Project Template for Scala"
+layout: redirect
+redirect: /dev/projectsetup/scala_api_quickstart.html
+permalink: /quickstart/scala_api_quickstart.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.
+-->
diff --git a/docs/redirects/scala_shell.md b/docs/redirects/scala_shell.md
index c17b263bc08..8caa7daba90 100644
--- a/docs/redirects/scala_shell.md
+++ b/docs/redirects/scala_shell.md
@@ -1,7 +1,7 @@
 ---
 title: "Scala Shell"
 layout: redirect
-redirect: /dev/scala_shell.html
+redirect: /ops/scala_shell.html
 permalink: /apis/scala_shell.html
 ---
 <!--
diff --git a/docs/redirects/setup_quickstart.md 
b/docs/redirects/setup_quickstart.md
new file mode 100644
index 00000000000..13da91374b6
--- /dev/null
+++ b/docs/redirects/setup_quickstart.md
@@ -0,0 +1,24 @@
+---
+title: "Local Setup Tutorial"
+layout: redirect
+redirect: /tutorials/local_setup.html
+permalink: /quickstart/setup_quickstart.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.
+-->
diff --git a/docs/redirects/windows.md b/docs/redirects/windows.md
new file mode 100644
index 00000000000..b769552268f
--- /dev/null
+++ b/docs/redirects/windows.md
@@ -0,0 +1,24 @@
+---
+title: "Running Flink on Windows"
+layout: redirect
+redirect: /tutorials/flink_on_windows.html
+permalink: /start/flink_on_windows.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.
+-->
diff --git a/docs/tutorials/api_tutorials.md b/docs/tutorials/api_tutorials.md
new file mode 100644
index 00000000000..2592e7b67f6
--- /dev/null
+++ b/docs/tutorials/api_tutorials.md
@@ -0,0 +1,25 @@
+---
+title: "API Tutorials"
+nav-id: apitutorials
+nav-title: 'API Tutorials'
+nav-parent_id: tutorials
+nav-pos: 10
+---
+<!--
+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.
+-->
\ No newline at end of file
diff --git a/docs/quickstart/run_example_quickstart.md 
b/docs/tutorials/datastream_api.md
similarity index 98%
rename from docs/quickstart/run_example_quickstart.md
rename to docs/tutorials/datastream_api.md
index 1a793382edb..4f93646c6fe 100644
--- a/docs/quickstart/run_example_quickstart.md
+++ b/docs/tutorials/datastream_api.md
@@ -1,7 +1,7 @@
 ---
-title: "Monitoring the Wikipedia Edit Stream"
-nav-title: Monitoring Wikipedia Edits
-nav-parent_id: examples
+title: "DataStream API Tutorial"
+nav-title: DataStream API
+nav-parent_id: apitutorials
 nav-pos: 10
 ---
 <!--
@@ -37,7 +37,7 @@ give you a good foundation from which to start building more 
complex analysis pr
 ## Setting up a Maven Project
 
 We are going to use a Flink Maven Archetype for creating our project 
structure. Please
-see [Java API Quickstart]({{ site.baseurl 
}}/quickstart/java_api_quickstart.html) for more details
+see [Java API Quickstart]({{ site.baseurl 
}}/dev/projectsetup/java_api_quickstart.html) for more details
 about this. For our purposes, the command to run is this:
 
 {% highlight bash %}
@@ -293,7 +293,7 @@ your own machine and writing results to 
[Kafka](http://kafka.apache.org).
 
 ## Bonus Exercise: Running on a Cluster and Writing to Kafka
 
-Please follow our [setup quickstart](setup_quickstart.html) for setting up a 
Flink distribution
+Please follow our [local setup tutorial](local_setup.html) for setting up a 
Flink distribution
 on your machine and refer to the [Kafka 
quickstart](https://kafka.apache.org/documentation.html#quickstart)
 for setting up a Kafka installation before we proceed.
 
diff --git a/docs/start/flink_on_windows.md b/docs/tutorials/flink_on_windows.md
similarity index 98%
rename from docs/start/flink_on_windows.md
rename to docs/tutorials/flink_on_windows.md
index b8dcbf7db29..a8c998fbc65 100644
--- a/docs/start/flink_on_windows.md
+++ b/docs/tutorials/flink_on_windows.md
@@ -1,7 +1,7 @@
 ---
 title:  "Running Flink on Windows"
-nav-parent_id: start
-nav-pos: 12
+nav-parent_id: setuptutorials
+nav-pos: 30
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md
new file mode 100644
index 00000000000..f7669ac773b
--- /dev/null
+++ b/docs/tutorials/index.md
@@ -0,0 +1,25 @@
+---
+title: "Tutorials"
+nav-id: tutorials
+nav-title: '<i class="fa fa-power-off title appetizer" aria-hidden="true"></i> 
Tutorials'
+nav-parent_id: root
+nav-pos: 2
+---
+<!--
+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.
+-->
diff --git a/docs/quickstart/setup_quickstart.md b/docs/tutorials/local_setup.md
similarity index 97%
rename from docs/quickstart/setup_quickstart.md
rename to docs/tutorials/local_setup.md
index f862b4a2add..4442b546871 100644
--- a/docs/quickstart/setup_quickstart.md
+++ b/docs/tutorials/local_setup.md
@@ -1,8 +1,8 @@
 ---
-title: "Quickstart"
-nav-title: '<i class="fa fa-power-off title appetizer" aria-hidden="true"></i> 
Quickstart'
-nav-parent_id: root
-nav-pos: 2
+title: "Local Setup Tutorial"
+nav-title: 'Local Setup'
+nav-parent_id: setuptutorials
+nav-pos: 10
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
@@ -30,7 +30,7 @@ Get a Flink example program up and running in a few simple 
steps.
 
 ## Setup: Download and Start Flink
 
-Flink runs on __Linux, Mac OS X, and Windows__. To be able to run Flink, the 
only requirement is to have a working __Java 8.x__ installation. Windows users, 
please take a look at the [Flink on Windows]({{ site.baseurl 
}}/start/flink_on_windows.html) guide which describes how to run Flink on 
Windows for local setups.
+Flink runs on __Linux, Mac OS X, and Windows__. To be able to run Flink, the 
only requirement is to have a working __Java 8.x__ installation. Windows users, 
please take a look at the [Flink on Windows]({{ site.baseurl 
}}/tutorials/flink_on_windows.html) guide which describes how to run Flink on 
Windows for local setups.
 
 You can check the correct installation of Java by issuing the following 
command:
 
diff --git a/docs/tutorials/setup_instructions.md 
b/docs/tutorials/setup_instructions.md
new file mode 100644
index 00000000000..8fbf8f49594
--- /dev/null
+++ b/docs/tutorials/setup_instructions.md
@@ -0,0 +1,25 @@
+---
+title: "Setup Tutorials"
+nav-id: setuptutorials
+nav-title: 'Setup Tutorials'
+nav-parent_id: tutorials
+nav-pos: 20
+---
+<!--
+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.
+-->
\ No newline at end of file


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to