You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by xi...@apache.org on 2018/01/04 00:47:40 UTC

svn commit: r1820027 [9/10] - in /samza/site: ./ learn/documentation/0.14/ learn/documentation/0.14/api/ learn/documentation/0.14/api/javadocs/ learn/documentation/0.14/api/javadocs/org/apache/samza/ learn/documentation/0.14/api/javadocs/org/apache/sam...

Modified: samza/site/learn/tutorials/0.14/hello-samza-high-level-code.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/hello-samza-high-level-code.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/hello-samza-high-level-code.html (original)
+++ samza/site/learn/tutorials/0.14/hello-samza-high-level-code.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/hello-samza-high-level-code.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/hello-samza-high-level-code.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -147,7 +147,7 @@
    limitations under the License.
 -->
 
-<p>This tutorial introduces the high level API by showing you how to build wikipedia application from the <a href="hello-samza-high-level-yarn.html">hello-samza high level API Yarn tutorial</a>. Upon completion of this tutorial, you&rsquo;ll know how to implement and configure a <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html">StreamApplication</a>. Along the way, you&rsquo;ll see how to use some of the basic operators as well as how to leverage key-value stores and metrics in an app.</p>
+<p>This tutorial introduces the high level API by showing you how to build wikipedia application from the <a href="hello-samza-high-level-yarn.html">hello-samza high level API Yarn tutorial</a>. Upon completion of this tutorial, you&rsquo;ll know how to implement and configure a <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html">StreamApplication</a>. Along the way, you&rsquo;ll see how to use some of the basic operators as well as how to leverage key-value stores and metrics in an app.</p>
 
 <p>The same <a href="https://github.com/apache/samza-hello-samza">hello-samza</a> project is used for this tutorial as for many of the others. You will clone that project and by the end of the tutorial, you will have implemented a duplicate of the <code>WikipediaApplication</code>.</p>
 
@@ -158,8 +158,7 @@
 <p>Check out the hello-samza project:</p>
 
 <div class="highlight"><pre><code class="bash">git clone https://git.apache.org/samza-hello-samza.git hello-samza
-<span class="nb">cd </span>hello-samza
-git checkout latest</code></pre></div>
+<span class="nb">cd </span>hello-samza</code></pre></div>
 
 <p>This project already contains implementations of the wikipedia application using both the low-level task API and the high-level API. The low-level task implementations are in the <code>samza.examples.wikipedia.task</code> package. The high-level application implementation is in the <code>samza.examples.wikipedia.application</code> package.</p>
 
@@ -167,9 +166,9 @@ git checkout latest</code></pre></div>
 
 <h3 id="introduction-to-wikipedia-consumer">Introduction to Wikipedia Consumer</h3>
 
-<p>In order to consume events from Wikipedia, the hello-samza project includes a <code>WikipediaSystemFactory</code> implementation of the Samza <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/system/SystemFactory.html">SystemFactory</a> that provides a <code>WikipediaConsumer</code>.</p>
+<p>In order to consume events from Wikipedia, the hello-samza project includes a <code>WikipediaSystemFactory</code> implementation of the Samza <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/system/SystemFactory.html">SystemFactory</a> that provides a <code>WikipediaConsumer</code>.</p>
 
-<p>The WikipediaConsumer is an implementation of <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/system/SystemConsumer.html">SystemConsumer</a> that can consume events from Wikipedia. It is also a listener for events from the <code>WikipediaFeed</code>. It&rsquo;s important to note that the events received in <code>onEvent</code> are of the type <code>WikipediaFeedEvent</code>, so we will expect that type for messages on our input streams. For other systems, the messages may come in the form of <code>byte[]</code>. In that case you may want to configure a samza <a href="/learn/documentation/latest/container/serialization.html">serde</a> and the application should expect the output type of that serde.</p>
+<p>The WikipediaConsumer is an implementation of <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/system/SystemConsumer.html">SystemConsumer</a> that can consume events from Wikipedia. It is also a listener for events from the <code>WikipediaFeed</code>. It&rsquo;s important to note that the events received in <code>onEvent</code> are of the type <code>WikipediaFeedEvent</code>, so we will expect that type for messages on our input streams. For other systems, the messages may come in the form of <code>byte[]</code>. In that case you may want to configure a samza <a href="/learn/documentation/0.14/container/serialization.html">serde</a> and the application should expect the output type of that serde.</p>
 
 <p>Now that we understand the Wikipedia system and the types of inputs we&rsquo;ll be processing, we can proceed with creating our application.</p>
 
@@ -215,10 +214,10 @@ yarn.package.path<span class="o">=</span
 <ul>
 <li><strong>app.class</strong>: the class that defines the application logic. We will create this class later.</li>
 <li><strong>app.runner.class</strong>: the runner implementation which will launch our application. Since we are using YARN, we use <code>RemoteApplicationRunner</code> which is required for any cluster-based deployment.</li>
-<li><strong>job.factory.class</strong>: the <a href="/learn/documentation/latest/jobs/job-runner.html">factory</a> that will create the runtime instances of our jobs. Since we are using YARN, we want each job to be created as a <a href="/learn/documentation/latest/jobs/yarn-jobs.html">YARN job</a>, so we use <code>YarnJobFactory</code></li>
+<li><strong>job.factory.class</strong>: the <a href="/learn/documentation/0.14/jobs/job-runner.html">factory</a> that will create the runtime instances of our jobs. Since we are using YARN, we want each job to be created as a <a href="/learn/documentation/0.14/jobs/yarn-jobs.html">YARN job</a>, so we use <code>YarnJobFactory</code></li>
 <li><strong>job.name</strong>: the primary identifier for the job.</li>
 <li><strong>job.default.system</strong>: the default system to use for input, output, and internal metadata streams. This can be overridden on a per-stream basis. The <em>kafka</em> system will be defined in the next section.</li>
-<li><strong>yarn.package.path</strong>: tells YARN where to find the <a href="/learn/documentation/latest/jobs/packaging.html">job package</a> so the Node Managers can download it.</li>
+<li><strong>yarn.package.path</strong>: tells YARN where to find the <a href="/learn/documentation/0.14/jobs/packaging.html">job package</a> so the Node Managers can download it.</li>
 </ul>
 
 <p>These basic configurations are enough to launch the application on YARN but we haven’t defined any streaming systems for Samza to use, so the application would not process anything.</p>
@@ -281,7 +280,7 @@ streams.en-wikinews.samza.physical.name<
 
 <p>Let&rsquo;s create the application class we configured above. The next 8 sections walk you through writing the code for the Wikipedia application.</p>
 
-<p>Create a new class named <code>MyWikipediaApplication</code> in the <code>samza.examples.wikipedia.application</code> package. The class must implement <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html">StreamApplication</a> and should look like this:</p>
+<p>Create a new class named <code>MyWikipediaApplication</code> in the <code>samza.examples.wikipedia.application</code> package. The class must implement <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html">StreamApplication</a> and should look like this:</p>
 
 <div class="highlight"><pre><code class="java"><span class="cm">/*</span>
 <span class="cm"> * Licensed to the Apache Software Foundation (ASF) under one</span>
@@ -316,46 +315,46 @@ streams.en-wikinews.samza.physical.name<
 
 <p>Be sure to include the Apache header. The project will not compile without it.</p>
 
-<p>The <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method is where the application logic is defined. The <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/config/Config.html">Config</a> argument is the runtime configuration loaded from the properties file we defined earlier. The <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html">StreamGraph</a> argument provides methods to declare input streams. You can then invoke a number of flexible operations on those streams. The result of each operation is another stream, so you can keep chaining more operations or direct the result to an output stream.</p>
+<p>The <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method is where the application logic is defined. The <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/config/Config.html">Config</a> argument is the runtime configuration loaded from the properties file we defined earlier. The <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/StreamGraph.html">StreamGraph</a> argument provides methods to declare input streams. You can then invoke a number of flexible operations on those streams. The result of each operation is another stream, so you can keep chaining more operations or direct the result to an output stream.</p>
 
 <p>Next, we will declare the input streams for the Wikipedia application.</p>
 
 <h4 id="inputs">Inputs</h4>
 
-<p>The Wikipedia application consumes events from three channels. Let&rsquo;s declare each of those channels as an input streams via the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html">StreamGraph</a> in the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method.</p>
+<p>The Wikipedia application consumes events from three channels. Let&rsquo;s declare each of those channels as an input streams via the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/StreamGraph.html">StreamGraph</a> in the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method.</p>
 
 <div class="highlight"><pre><code class="java"><span class="n">MessageStream</span><span class="o">&lt;</span><span class="n">WikipediaFeedEvent</span><span class="o">&gt;</span> <span class="n">wikipediaEvents</span> <span class="o">=</span> <span class="n">streamGraph</span><span class="o">.</span><span class="na">getInputStream</span><span class="o">(</span><span class="s">&quot;en-wikipedia&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">NoOpSerde</span><span class="o">&lt;&gt;());</span>
 <span class="n">MessageStream</span><span class="o">&lt;</span><span class="n">WikipediaFeedEvent</span><span class="o">&gt;</span> <span class="n">wiktionaryEvents</span> <span class="o">=</span> <span class="n">streamGraph</span><span class="o">.</span><span class="na">getInputStream</span><span class="o">(</span><span class="s">&quot;en-wiktionary&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">NoOpSerde</span><span class="o">&lt;&gt;());</span>
 <span class="n">MessageStream</span><span class="o">&lt;</span><span class="n">WikipediaFeedEvent</span><span class="o">&gt;</span> <span class="n">wikiNewsEvents</span> <span class="o">=</span> <span class="n">streamGraph</span><span class="o">.</span><span class="na">getInputStream</span><span class="o">(</span><span class="s">&quot;en-wikinews&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">NoOpSerde</span><span class="o">&lt;&gt;());</span></code></pre></div>
 
-<p>The first argument to the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-org.apache.samza.serializers.Serde-">getInputStream</a> method is the stream ID. Each ID must match the corresponding stream IDs we configured earlier.
+<p>The first argument to the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/StreamGraph.html#getInputStream-java.lang.String-org.apache.samza.serializers.Serde-">getInputStream</a> method is the stream ID. Each ID must match the corresponding stream IDs we configured earlier.
 The second argument is the <code>Serde</code> used to deserialize the message. We&rsquo;ve set this to a <code>NoOpSerde</code> since our <code>wikipedia</code> system already returns <code>WikipediaFeedEvent</code>s and there is no need for further deserialization.</p>
 
-<p>Note the streams are all MessageStreams of type WikipediaFeedEvent. <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html">MessageStream</a> is the in-memory representation of a stream in Samza. It uses generics to ensure type safety across the streams and operations.</p>
+<p>Note the streams are all MessageStreams of type WikipediaFeedEvent. <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html">MessageStream</a> is the in-memory representation of a stream in Samza. It uses generics to ensure type safety across the streams and operations.</p>
 
 <h4 id="merge">Merge</h4>
 
-<p>We&rsquo;d like to use the same processing logic for all three input streams, so we will use the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#mergeAll-java.util.Collection-">mergeAll</a> operator to merge them together. Note: this is not the same as a <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#join-org.apache.samza.operators.MessageStream-org.apache.samza.operators.functions.JoinFunction-java.time.Duration-">join</a> because we are not associating events by key. We are simply combining three streams into one, like a union.</p>
+<p>We&rsquo;d like to use the same processing logic for all three input streams, so we will use the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#mergeAll-java.util.Collection-">mergeAll</a> operator to merge them together. Note: this is not the same as a <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#join-org.apache.samza.operators.MessageStream-org.apache.samza.operators.functions.JoinFunction-java.time.Duration-">join</a> because we are not associating events by key. We are simply combining three streams into one, like a union.</p>
 
-<p>Add the following snippet to the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method. It merges all the input streams into a new one called <em>allWikipediaEvents</em></p>
+<p>Add the following snippet to the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method. It merges all the input streams into a new one called <em>allWikipediaEvents</em></p>
 
 <div class="highlight"><pre><code class="java"><span class="n">MessageStream</span><span class="o">&lt;</span><span class="n">WikipediaFeed</span><span class="o">.</span><span class="na">WikipediaFeedEvent</span><span class="o">&gt;</span> <span class="n">allWikipediaEvents</span> <span class="o">=</span> <span class="n">MessageStream</span><span class="o">.</span><span class="na">mergeAll</span><span class="o">(</span><span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">wikipediaEvents</span><span class="o">,</span> <span class="n">wiktionaryEvents</span><span class="o">,</span> <span class="n">wikiNewsEvents</span><span class="o">));</span></code></pre></div>
 
-<p>Note there is a <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#merge-java.util.Collection-">merge</a> operator instance method on MessageStream, but the static <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#mergeAll-java.util.Collection-">mergeAll</a> method is a more convenient alternative if you need to merge many streams.</p>
+<p>Note there is a <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#merge-java.util.Collection-">merge</a> operator instance method on MessageStream, but the static <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#mergeAll-java.util.Collection-">mergeAll</a> method is a more convenient alternative if you need to merge many streams.</p>
 
 <h4 id="parse">Parse</h4>
 
 <p>The next step is to parse the events and extract some information. We will use the pre-existing `WikipediaParser.parseEvent()&lsquo; method to do this. The parser extracts some flags we want to monitor as well as some metadata about the event. Inspect the method signature. The input is a WikipediaFeedEvents and the output is a Map<String, Object>. These types will be reflected in the types of the streams before and after the operation.</p>
 
-<p>In the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method, invoke the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#map-org.apache.samza.operators.functions.MapFunction-">map</a> operation on <code>allWikipediaEvents</code>, passing the <code>WikipediaParser::parseEvent</code> method reference as follows:</p>
+<p>In the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method, invoke the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#map-org.apache.samza.operators.functions.MapFunction-">map</a> operation on <code>allWikipediaEvents</code>, passing the <code>WikipediaParser::parseEvent</code> method reference as follows:</p>
 
 <div class="highlight"><pre><code class="java"><span class="n">allWikipediaEvents</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="nl">WikipediaParser:</span><span class="o">:</span><span class="n">parseEvent</span><span class="o">);</span></code></pre></div>
 
 <h4 id="window">Window</h4>
 
-<p>Now that we have the relevant information extracted, let&rsquo;s perform some aggregations over a 10-second <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/windows/Window.html">window</a>.</p>
+<p>Now that we have the relevant information extracted, let&rsquo;s perform some aggregations over a 10-second <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/windows/Window.html">window</a>.</p>
 
-<p>First, we need a container class for statistics we want to track. Add the following static class after the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method.</p>
+<p>First, we need a container class for statistics we want to track. Add the following static class after the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method.</p>
 
 <div class="highlight"><pre><code class="java"><span class="kd">private</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">WikipediaStats</span> <span class="o">{</span>
   <span class="kt">int</span> <span class="n">edits</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
@@ -364,7 +363,7 @@ The second argument is the <code>Serde</
   <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;();</span>
 <span class="o">}</span></code></pre></div>
 
-<p>Now we need to define the logic to aggregate the stats over the duration of the window. To do this, we implement <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html">FoldLeftFunction</a> by adding the following class after the <code>WikipediaStats</code> class:</p>
+<p>Now we need to define the logic to aggregate the stats over the duration of the window. To do this, we implement <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html">FoldLeftFunction</a> by adding the following class after the <code>WikipediaStats</code> class:</p>
 
 <div class="highlight"><pre><code class="java"><span class="kd">private</span> <span class="kd">class</span> <span class="nc">WikipediaStatsAggregator</span> <span class="kd">implements</span> <span class="n">FoldLeftFunction</span><span class="o">&lt;</span><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Object</span><span class="o">&gt;,</span> <span class="n">WikipediaStats</span><span class="o">&gt;</span> <span class="o">{</span>
 
@@ -386,20 +385,20 @@ The second argument is the <code>Serde</
   <span class="o">}</span>
 <span class="o">}</span></code></pre></div>
 
-<p>Note: the type parameters for <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html">FoldLeftFunction</a> reflect the upstream data type and the window value type, respectively. In our case, the upstream type is the output of the parser and the window value is our <code>WikipediaStats</code> class.</p>
+<p>Note: the type parameters for <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/functions/FoldLeftFunction.html">FoldLeftFunction</a> reflect the upstream data type and the window value type, respectively. In our case, the upstream type is the output of the parser and the window value is our <code>WikipediaStats</code> class.</p>
 
-<p>Finally, we can define our <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/windows/Window.html">window</a> back in the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method by chaining the result of the parser:</p>
+<p>Finally, we can define our <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/windows/Window.html">window</a> back in the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a> method by chaining the result of the parser:</p>
 
 <div class="highlight"><pre><code class="java"><span class="n">allWikipediaEvents</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="nl">WikipediaParser:</span><span class="o">:</span><span class="n">parseEvent</span><span class="o">)</span>
         <span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Windows</span><span class="o">.</span><span class="na">tumblingWindow</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">ofSeconds</span><span class="o">(</span><span class="mi">10</span><span class="o">),</span> <span class="nl">WikipediaStats:</span><span class="o">:</span><span class="k">new</span><span class="o">,</span> <span class="k">new</span> <span class="n">WikipediaStatsAggregator</span><span class="o">(),</span> <span class="k">new</span> <span class="n">JsonSerdeV2</span><span class="o">&lt;&gt;(</span><span class="n">WikipediaStats</span><span class="o">.</span><span class="na">class</span><span class="o">)));</span></code></pre></div>
 
-<p>This defines an unkeyed <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/windows/Windows.html">tumbling window</a> that spans 10s, which instantiates a new <code>WikipediaStats</code> object at the beginning of each window and aggregates the stats using <code>WikipediaStatsAggregator</code>.</p>
+<p>This defines an unkeyed <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/windows/Windows.html">tumbling window</a> that spans 10s, which instantiates a new <code>WikipediaStats</code> object at the beginning of each window and aggregates the stats using <code>WikipediaStatsAggregator</code>.</p>
 
-<p>The output of the window is a <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/windows/WindowPane.html">WindowPane</a> with a key and value. Since we used an unkeyed tumbling window, the key is <code>Void</code>. The value is our <code>WikipediaStats</code> object.</p>
+<p>The output of the window is a <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/windows/WindowPane.html">WindowPane</a> with a key and value. Since we used an unkeyed tumbling window, the key is <code>Void</code>. The value is our <code>WikipediaStats</code> object.</p>
 
 <h4 id="output">Output</h4>
 
-<p>We will do a <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#map-org.apache.samza.operators.functions.MapFunction-">map</a> at the end to format our window output. Let&rsquo;s begin by defining a simple container class for our formatted output.</p>
+<p>We will do a <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#map-org.apache.samza.operators.functions.MapFunction-">map</a> at the end to format our window output. Let&rsquo;s begin by defining a simple container class for our formatted output.</p>
 
 <div class="highlight"><pre><code class="java"><span class="kd">static</span> <span class="kd">class</span> <span class="nc">WikipediaStatsOutput</span> <span class="o">{</span>
     <span class="kd">public</span> <span class="kt">int</span> <span class="n">edits</span><span class="o">;</span>
@@ -424,7 +423,7 @@ The second argument is the <code>Serde</
         <span class="n">stats</span><span class="o">.</span><span class="na">edits</span><span class="o">,</span> <span class="n">stats</span><span class="o">.</span><span class="na">byteDiff</span><span class="o">,</span> <span class="n">stats</span><span class="o">.</span><span class="na">titles</span><span class="o">.</span><span class="na">size</span><span class="o">(),</span> <span class="n">stats</span><span class="o">.</span><span class="na">counts</span><span class="o">);</span>
   <span class="o">}</span></code></pre></div>
 
-<p>Now, we can invoke the method by adding another <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#map-org.apache.samza.operators.functions.MapFunction-">map</a> operation to the chain in <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a>. The operator chain should now look like this:</p>
+<p>Now, we can invoke the method by adding another <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#map-org.apache.samza.operators.functions.MapFunction-">map</a> operation to the chain in <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/application/StreamApplication.html#init-org.apache.samza.operators.StreamGraph-org.apache.samza.config.Config-">init</a>. The operator chain should now look like this:</p>
 
 <div class="highlight"><pre><code class="java"><span class="n">allWikipediaEvents</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="nl">WikipediaParser:</span><span class="o">:</span><span class="n">parseEvent</span><span class="o">)</span>
         <span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Windows</span><span class="o">.</span><span class="na">tumblingWindow</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">ofSeconds</span><span class="o">(</span><span class="mi">10</span><span class="o">),</span> <span class="nl">WikipediaStats:</span><span class="o">:</span><span class="k">new</span><span class="o">,</span> <span class="k">new</span> <span class="n">WikipediaStatsAggregator</span><span class="o">()))</span>
@@ -435,25 +434,25 @@ The second argument is the <code>Serde</
 <div class="highlight"><pre><code class="java"><span class="n">OutputStream</span><span class="o">&lt;</span><span class="n">WikipediaStatsOutput</span><span class="o">&gt;</span> <span class="n">wikipediaStats</span> <span class="o">=</span>
      <span class="n">graph</span><span class="o">.</span><span class="na">getOutputStream</span><span class="o">(</span><span class="s">&quot;wikipedia-stats&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">JsonSerdeV2</span><span class="o">&lt;&gt;(</span><span class="n">WikipediaStatsOutput</span><span class="o">.</span><span class="na">class</span><span class="o">));</span></code></pre></div>
 
-<p>The <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/OutputStream.html">OutputStream</a> is parameterized by the type of the output.</p>
+<p>The <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/OutputStream.html">OutputStream</a> is parameterized by the type of the output.</p>
 
-<p>The first parameter of <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-org.apache.samza.serializers.Serde-">getOutputStream</a> is the output stream ID. We will use <em>wikipedia-stats</em> and since it contains no special characters, we won&rsquo;t bother configuring a physical name so Samza will use the stream ID as the topic name.
-The second parameter is the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/serializers/Serde.html">Serde</a> to serialize the outgoing message. We will set it to <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/serializers/JsonSerdeV2.html">JsonSerdeV2</a> to serialize our <code>WikipediaStatsOutput</code> as a JSON string.</p>
+<p>The first parameter of <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/StreamGraph.html#getOutputStream-java.lang.String-org.apache.samza.serializers.Serde-">getOutputStream</a> is the output stream ID. We will use <em>wikipedia-stats</em> and since it contains no special characters, we won&rsquo;t bother configuring a physical name so Samza will use the stream ID as the topic name.
+The second parameter is the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/serializers/Serde.html">Serde</a> to serialize the outgoing message. We will set it to <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/serializers/JsonSerdeV2.html">JsonSerdeV2</a> to serialize our <code>WikipediaStatsOutput</code> as a JSON string.</p>
 
-<p>Finally, we can send our output to the output stream using the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#sendTo-org.apache.samza.operators.OutputStream-">sendTo</a> operator:</p>
+<p>Finally, we can send our output to the output stream using the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#sendTo-org.apache.samza.operators.OutputStream-">sendTo</a> operator:</p>
 
 <div class="highlight"><pre><code class="java"><span class="n">allWikipediaEvents</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="nl">WikipediaParser:</span><span class="o">:</span><span class="n">parseEvent</span><span class="o">)</span>
         <span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Windows</span><span class="o">.</span><span class="na">tumblingWindow</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">ofSeconds</span><span class="o">(</span><span class="mi">10</span><span class="o">),</span> <span class="nl">WikipediaStats:</span><span class="o">:</span><span class="k">new</span><span class="o">,</span> <span class="k">new</span> <span class="n">WikipediaStatsAggregator</span><span class="o">()))</span>
         <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">formatOutput</span><span class="o">)</span>
         <span class="o">.</span><span class="na">sendTo</span><span class="o">(</span><span class="n">wikipediaStats</span><span class="o">);</span></code></pre></div>
 
-<p>Tip: Because the MessageStream type information is preserved in the operator chain, it is often easier to define the OutputStream inline with the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/MessageStream.html#sendTo-org.apache.samza.operators.OutputStream-">sendTo</a> operator and then refactor it for readability. That way you don&rsquo;t have to hunt down the types.</p>
+<p>Tip: Because the MessageStream type information is preserved in the operator chain, it is often easier to define the OutputStream inline with the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/MessageStream.html#sendTo-org.apache.samza.operators.OutputStream-">sendTo</a> operator and then refactor it for readability. That way you don&rsquo;t have to hunt down the types.</p>
 
 <h4 id="kvstore">KVStore</h4>
 
 <p>We now have an operational Wikipedia application which provides stats aggregated over a 10 second interval. One of those stats is a count of the number of edits within the 10s window. But what if we want to keep an additional durable counter of the total edits?</p>
 
-<p>We will do this by keeping a separate count outside the window and persisting it in a <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/storage/kv/KeyValueStore.html">KeyValueStore</a>.</p>
+<p>We will do this by keeping a separate count outside the window and persisting it in a <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/storage/kv/KeyValueStore.html">KeyValueStore</a>.</p>
 
 <p>We start by defining the store in the config file:</p>
 
@@ -471,11 +470,11 @@ stores.wikipedia-stats.msg.serde<span cl
 
 <div class="highlight"><pre><code class="java"><span class="kt">int</span> <span class="n">totalEdits</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span></code></pre></div>
 
-<p>To use the store in the application, we need to get it from the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/task/TaskContext.html">TaskContext</a>. Also, since we want to emit the total edit count along with the window edit count, it&rsquo;s easiest to update both of them in our aggregator. Declare the store as a member variable of the <code>WikipediaStatsAggregator</code> class:</p>
+<p>To use the store in the application, we need to get it from the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/task/TaskContext.html">TaskContext</a>. Also, since we want to emit the total edit count along with the window edit count, it&rsquo;s easiest to update both of them in our aggregator. Declare the store as a member variable of the <code>WikipediaStatsAggregator</code> class:</p>
 
 <div class="highlight"><pre><code class="java"><span class="kd">private</span> <span class="n">KeyValueStore</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">store</span><span class="o">;</span></code></pre></div>
 
-<p>Then override the <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/operators/functions/InitableFunction.html#init-org.apache.samza.config.Config-org.apache.samza.task.TaskContext-">init</a> method in <code>WikipediaStatsAggregator</code> to initialize the store.</p>
+<p>Then override the <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/operators/functions/InitableFunction.html#init-org.apache.samza.config.Config-org.apache.samza.task.TaskContext-">init</a> method in <code>WikipediaStatsAggregator</code> to initialize the store.</p>
 
 <div class="highlight"><pre><code class="java"><span class="nd">@Override</span>
 <span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="n">Config</span> <span class="n">config</span><span class="o">,</span> <span class="n">TaskContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
@@ -548,7 +547,7 @@ metrics.reporter.jmx.class<span class="o
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/hello-samza-high-level-code.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/hello-samza-high-level-code.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/hello-samza-high-level-yarn.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/hello-samza-high-level-yarn.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/hello-samza-high-level-yarn.html (original)
+++ samza/site/learn/tutorials/0.14/hello-samza-high-level-yarn.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/hello-samza-high-level-yarn.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/hello-samza-high-level-yarn.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -149,15 +149,14 @@
 
 <p>The <a href="https://github.com/apache/samza-hello-samza">hello-samza</a> project is an example project designed to help you run your first Samza application. It has examples of applications using the low level task API as well as the high level API.</p>
 
-<p>This tutorial demonstrates a simple wikipedia application created with the high level API. The <a href="/startup/hello-samza/latest/index.html">Hello Samza tutorial</a> is the low-level analog to this tutorial. It demonstrates the same logic but is created with the task API. The tutorials are designed to be as similar as possible. The primary differences are that with the high level API we accomplish the equivalent of 3 separate low-level jobs with a single application, we skip the intermediate topics for simplicity, and we can visualize the execution plan after we start the application.</p>
+<p>This tutorial demonstrates a simple wikipedia application created with the high level API. The <a href="/startup/hello-samza/0.14/index.html">Hello Samza tutorial</a> is the low-level analog to this tutorial. It demonstrates the same logic but is created with the task API. The tutorials are designed to be as similar as possible. The primary differences are that with the high level API we accomplish the equivalent of 3 separate low-level jobs with a single application, we skip the intermediate topics for simplicity, and we can visualize the execution plan after we start the application.</p>
 
 <h3 id="get-the-code">Get the Code</h3>
 
 <p>Check out the hello-samza project:</p>
 
 <div class="highlight"><pre><code class="bash">git clone https://git.apache.org/samza-hello-samza.git hello-samza
-<span class="nb">cd </span>hello-samza
-git checkout latest</code></pre></div>
+<span class="nb">cd </span>hello-samza</code></pre></div>
 
 <p>This project contains everything you&rsquo;ll need to run your first Samza application.</p>
 
@@ -185,7 +184,7 @@ git checkout latest</code></pre></div>
 
 <div class="highlight"><pre><code class="bash">mvn clean package
 mkdir -p deploy/samza
-tar -xvf ./target/hello-samza-0.14.0-SNAPSHOT-dist.tar.gz -C deploy/samza</code></pre></div>
+tar -xvf ./target/hello-samza-0.14.0-dist.tar.gz -C deploy/samza</code></pre></div>
 
 <h3 id="run-a-samza-application">Run a Samza Application</h3>
 
@@ -225,7 +224,7 @@ tar -xvf ./target/hello-samza-0.14.0-SNA
 
 <p>This plan will make more sense after the <a href="hello-samza-high-level-code.html">code walkthrough</a>. For now, just take note that this visualization is available and it is useful for visibility into the structure of the application. For this tutorial, the plan should look something like this:</p>
 
-<p><img src="/img/latest/learn/tutorials/hello-samza-high-level/wikipedia-execution-plan.png" alt="Execution plan" style="max-width: 100%; height: auto;" onclick="window.open(this.src)"/></p>
+<p><img src="/img/0.14/learn/tutorials/hello-samza-high-level/wikipedia-execution-plan.png" alt="Execution plan" style="max-width: 100%; height: auto;" onclick="window.open(this.src)"/></p>
 
 <h3 id="shutdown">Shutdown</h3>
 
@@ -255,7 +254,7 @@ tar -xvf ./target/hello-samza-0.14.0-SNA
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/hello-samza-high-level-yarn.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/hello-samza-high-level-yarn.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/hello-samza-high-level-zk.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/hello-samza-high-level-zk.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/hello-samza-high-level-zk.html (original)
+++ samza/site/learn/tutorials/0.14/hello-samza-high-level-zk.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/hello-samza-high-level-zk.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/hello-samza-high-level-zk.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -155,8 +155,7 @@ In this tutorial, we will learn how to r
 <p>Let&rsquo;s get started by cloning the hello-samza project</p>
 
 <div class="highlight"><pre><code class="bash">git clone https://git.apache.org/samza-hello-samza.git hello-samza
-<span class="nb">cd </span>hello-samza
-git checkout latest</code></pre></div>
+<span class="nb">cd </span>hello-samza</code></pre></div>
 
 <p>The project comes up with numerous examples and for this tutorial, we will pick the Wikipedia application.</p>
 
@@ -180,7 +179,7 @@ git checkout latest</code></pre></div>
 
 <div class="highlight"><pre><code class="bash">mvn clean package
 mkdir -p deploy/samza
-tar -xvf ./target/hello-samza-0.14.0-SNAPSHOT-dist.tar.gz -C deploy/samza</code></pre></div>
+tar -xvf ./target/hello-samza-0.14.0-dist.tar.gz -C deploy/samza</code></pre></div>
 
 <p>We are now all set to deploy the application locally.</p>
 
@@ -194,7 +193,7 @@ tar -xvf ./target/hello-samza-0.14.0-SNA
 that initializes the application and passes it to the local runner for execution. It is blocking and waits for the <em>LocalApplicationRunner</em> to finish.</p>
 
 <p>To run your own application using ZooKeeper deployment model, you would need something similar to <em>WikipediaZkLocalApplication</em> class that initializes your application
-and uses the <em>LocalApplicationRunner</em> to run it. To learn more about the internals checkout <a href="/startup/preview/">deployment-models</a> documentation and the <a href="/learn/documentation/latest/jobs/configuration-table.html">configurations</a> table.</p>
+and uses the <em>LocalApplicationRunner</em> to run it. To learn more about the internals checkout <a href="/startup/preview/">deployment-models</a> documentation and the <a href="/learn/documentation/0.14/jobs/configuration-table.html">configurations</a> table.</p>
 
 <p>Getting back to our example, the application consumes a feed of real-time edits from Wikipedia, and produces them to a Kafka topic called &ldquo;wikipedia-stats&rdquo;. Give the job a minute to startup, and then tail the Kafka topic. To do so, run the following command:</p>
 
@@ -210,7 +209,7 @@ and uses the <em>LocalApplicationRunner<
 <p>Excellent! Now that the job is running, open the <em>plan.html</em> file under <em>deploy/samza/bin</em> directory to take a look at the execution plan for the Wikipedia application.
 The execution plan is a colorful graphic representing various stages of your application and how they are connected. Here is a sample plan visualization:</p>
 
-<p><img src="/img/latest/learn/tutorials/hello-samza-high-level/wikipedia-execution-plan.png" alt="Execution plan" style="max-width: 100%; height: auto;" onclick="window.open(this.src)"/></p>
+<p><img src="/img/0.14/learn/tutorials/hello-samza-high-level/wikipedia-execution-plan.png" alt="Execution plan" style="max-width: 100%; height: auto;" onclick="window.open(this.src)"/></p>
 
 <h3 id="shutdown">Shutdown</h3>
 
@@ -237,7 +236,7 @@ We can use the <em>grid</em> script to t
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/hello-samza-high-level-zk.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/hello-samza-high-level-zk.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/index.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/index.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/index.html (original)
+++ samza/site/learn/tutorials/0.14/index.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/index.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/index.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -155,7 +155,7 @@
 [[Preview] Hello Samza High Level API Code](hello-samza-high-level-code.html)
 -->
 
-<p><a href="/startup/hello-samza/latest/">Hello Samza Low Level API Yarn Deployment</a></p>
+<p><a href="/startup/hello-samza/0.14/">Hello Samza Low Level API Yarn Deployment</a></p>
 
 <p><a href="remote-debugging-samza.html">Remote Debugging with Samza</a></p>
 
@@ -200,7 +200,7 @@
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/index.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/index.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/remote-debugging-samza.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/remote-debugging-samza.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/remote-debugging-samza.html (original)
+++ samza/site/learn/tutorials/0.14/remote-debugging-samza.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/remote-debugging-samza.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/remote-debugging-samza.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -147,7 +147,7 @@
    limitations under the License.
 -->
 
-<p>Let&rsquo;s use Eclipse to attach a remote debugger to a Samza container. If you&rsquo;re an IntelliJ user, you&rsquo;ll have to fill in the blanks, but the process should be pretty similar. This tutorial assumes you&rsquo;ve already run through the <a href="../../../startup/hello-samza/latest/">Hello Samza</a> tutorial.</p>
+<p>Let&rsquo;s use Eclipse to attach a remote debugger to a Samza container. If you&rsquo;re an IntelliJ user, you&rsquo;ll have to fill in the blanks, but the process should be pretty similar. This tutorial assumes you&rsquo;ve already run through the <a href="../../../startup/hello-samza/0.14/">Hello Samza</a> tutorial.</p>
 
 <h3 id="get-the-code">Get the Code</h3>
 
@@ -178,7 +178,7 @@
 
 <div class="highlight"><pre><code class="jproperties"><span class="na">task.opts</span><span class="o">=</span><span class="s">-agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y</span></code></pre></div>
 
-<p>The <a href="../../documentation/latest/jobs/configuration-table.html">task.opts</a> configuration parameter is a way to override Java parameters at runtime for your Samza containers. In this example, we&rsquo;re setting the agentlib parameter to enable remote debugging on localhost, port 9009. In a more realistic environment, you might also set Java heap settings (-Xmx, -Xms, etc), as well as garbage collection and logging settings.</p>
+<p>The <a href="../../documentation/0.14/jobs/configuration-table.html">task.opts</a> configuration parameter is a way to override Java parameters at runtime for your Samza containers. In this example, we&rsquo;re setting the agentlib parameter to enable remote debugging on localhost, port 9009. In a more realistic environment, you might also set Java heap settings (-Xmx, -Xms, etc), as well as garbage collection and logging settings.</p>
 
 <p><em>NOTE: If you&rsquo;re running multiple Samza containers on the same machine, there is a potential for port collisions. You must configure your task.opts to assign different ports for different Samza jobs. If a Samza job has more than one container (e.g. if you&rsquo;re using YARN with job.container.count=2), those containers must be run on different machines.</em></p>
 
@@ -227,7 +227,7 @@ deploy/samza/bin/run-job.sh --config-fac
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/remote-debugging-samza.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/remote-debugging-samza.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/run-hello-samza-without-internet.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/run-hello-samza-without-internet.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/run-hello-samza-without-internet.html (original)
+++ samza/site/learn/tutorials/0.14/run-hello-samza-without-internet.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/run-hello-samza-without-internet.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/run-hello-samza-without-internet.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -147,7 +147,7 @@
    limitations under the License.
 -->
 
-<p>This tutorial is to help you run <a href="../../../startup/hello-samza/latest/">Hello Samza</a> if you can not connect to the internet. </p>
+<p>This tutorial is to help you run <a href="../../../startup/hello-samza/0.14/">Hello Samza</a> if you can not connect to the internet. </p>
 
 <h3 id="test-your-connection">Test Your Connection</h3>
 
@@ -180,7 +180,7 @@ NOTICE AUTH :*** Found your hostname
 
 <div class="highlight"><pre><code class="bash">bin/produce-wikipedia-raw-data.sh -b yourKafkaBrokerAddress -z yourZookeeperAddress</code></pre></div>
 
-<p>Now you can go back to Generate Wikipedia Statistics section in <a href="../../../startup/hello-samza/latest/">Hello Samza</a> and follow the remaining steps.</p>
+<p>Now you can go back to Generate Wikipedia Statistics section in <a href="../../../startup/hello-samza/0.14/">Hello Samza</a> and follow the remaining steps.</p>
 
 <h3 id="a-little-explanation">A Little Explanation</h3>
 
@@ -206,7 +206,7 @@ NOTICE AUTH :*** Found your hostname
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/run-hello-samza-without-internet.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/run-hello-samza-without-internet.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/run-in-multi-node-yarn.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/run-in-multi-node-yarn.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/run-in-multi-node-yarn.html (original)
+++ samza/site/learn/tutorials/0.14/run-in-multi-node-yarn.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/run-in-multi-node-yarn.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/run-in-multi-node-yarn.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -147,7 +147,7 @@
    limitations under the License.
 -->
 
-<p>You must successfully run the <a href="../../../startup/hello-samza/latest/">hello-samza</a> project in a single-node YARN by following the <a href="../../../startup/hello-samza/latest/">hello-samza</a> tutorial. Now it&rsquo;s time to run the Samza job in a &ldquo;real&rdquo; YARN grid (with more than one node).</p>
+<p>You must successfully run the <a href="../../../startup/hello-samza/0.14/">hello-samza</a> project in a single-node YARN by following the <a href="../../../startup/hello-samza/0.14/">hello-samza</a> tutorial. Now it&rsquo;s time to run the Samza job in a &ldquo;real&rdquo; YARN grid (with more than one node).</p>
 
 <h2 id="set-up-multi-node-yarn">Set Up Multi-node YARN</h2>
 
@@ -231,7 +231,7 @@ sbin/start-yarn.sh</code></pre></div>
 
 <h2 id="deploy-samza-job">Deploy Samza Job</h2>
 
-<p>Some of the following steps are exactlly identical to what you have seen in <a href="../../../startup/hello-samza/latest/">hello-samza</a>. You may skip them if you have already done so.</p>
+<p>Some of the following steps are exactlly identical to what you have seen in <a href="../../../startup/hello-samza/0.14/">hello-samza</a>. You may skip them if you have already done so.</p>
 
 <p>1. Download Samza and publish it to Maven local repository.</p>
 
@@ -287,7 +287,7 @@ tar -xvf ./target/hello-samza-0.14.0-dis
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/run-in-multi-node-yarn.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/run-in-multi-node-yarn.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/samza-async-user-guide.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/samza-async-user-guide.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/samza-async-user-guide.html (original)
+++ samza/site/learn/tutorials/0.14/samza-async-user-guide.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/samza-async-user-guide.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/samza-async-user-guide.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -184,7 +184,7 @@
 
 <h3 id="asynchronous-process-with-asyncstreamtask-api">Asynchronous Process with AsyncStreamTask API</h3>
 
-<p>If your job process is asynchronous, e.g. making non-blocking remote IO calls, <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/task/AsyncStreamTask.html">AsyncStreamTask</a> interface provides the support for it. In the following example AsyncRestTask makes asynchronous rest call and triggers callback once it&rsquo;s complete.</p>
+<p>If your job process is asynchronous, e.g. making non-blocking remote IO calls, <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/task/AsyncStreamTask.html">AsyncStreamTask</a> interface provides the support for it. In the following example AsyncRestTask makes asynchronous rest call and triggers callback once it&rsquo;s complete.</p>
 
 <div class="highlight"><pre><code class="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AsyncRestTask</span> <span class="kd">implements</span> <span class="n">AsyncStreamTask</span><span class="o">,</span> <span class="n">InitableTask</span><span class="o">,</span> <span class="n">ClosableTask</span> <span class="o">{</span>
   <span class="kd">private</span> <span class="n">Client</span> <span class="n">client</span><span class="o">;</span>
@@ -220,7 +220,7 @@
   <span class="o">}</span>
 <span class="o">}</span></code></pre></div>
 
-<p>In the above example, the process is not complete when processAsync() returns. In the callback thread from Jersey client, we trigger <a href="/learn/documentation/latest/api/javadocs/org/apache/samza/task/TaskCallback.html">TaskCallback</a> to indicate the process is done. In order to make sure the callback will be triggered within certain time interval, e.g. 5 seconds, you can config the following property:</p>
+<p>In the above example, the process is not complete when processAsync() returns. In the callback thread from Jersey client, we trigger <a href="/learn/documentation/0.14/api/javadocs/org/apache/samza/task/TaskCallback.html">TaskCallback</a> to indicate the process is done. In order to make sure the callback will be triggered within certain time interval, e.g. 5 seconds, you can config the following property:</p>
 
 <div class="highlight"><pre><code class="jproperties"><span class="c"># Timeout for processAsync() callback. When the timeout happens, it will throw a TaskCallbackTimeoutException and shut down the container.</span>
 <span class="na">task.callback.timeout.ms</span><span class="o">=</span><span class="s">5000</span></code></pre></div>
@@ -262,7 +262,7 @@
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/samza-async-user-guide.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/samza-async-user-guide.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/samza-rest-getting-started.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/samza-rest-getting-started.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/samza-rest-getting-started.html (original)
+++ samza/site/learn/tutorials/0.14/samza-rest-getting-started.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/samza-rest-getting-started.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/samza-rest-getting-started.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -147,13 +147,13 @@
    limitations under the License.
 -->
 
-<p>This tutorial depends on <a href="../../../startup/hello-samza/latest/">hello-samza</a> to start some example jobs on a local cluster, which you will then access via the <a href="../../documentation/latest/rest/resources/jobs.html">JobsResource</a>. After completing this tutorial, you will have built and deployed the Samza REST resource locally, changed the configuration for the JobsResource, and executed a couple of basic curl requests to verify the service works.</p>
+<p>This tutorial depends on <a href="../../../startup/hello-samza/0.14/">hello-samza</a> to start some example jobs on a local cluster, which you will then access via the <a href="../../documentation/0.14/rest/resources/jobs.html">JobsResource</a>. After completing this tutorial, you will have built and deployed the Samza REST resource locally, changed the configuration for the JobsResource, and executed a couple of basic curl requests to verify the service works.</p>
 
 <p>Lets get started.</p>
 
 <h3 id="run-hello-samza-jobs-locally">Run Hello Samza Jobs Locally</h3>
 
-<p>Follow the <a href="../../../startup/hello-samza/latest/">hello-samza</a> tutorial to setup a local grid and run the wikipedia jobs. Skip the <a href="../../../startup/hello-samza/latest/#shutdown">shutdown step</a> because you need the grid to still be running to query the REST service for jobs. You can optionally skip all the <code>kafka-console-consumer.sh</code> commands if you don&rsquo;t want to verify the output of the jobs.</p>
+<p>Follow the <a href="../../../startup/hello-samza/0.14/">hello-samza</a> tutorial to setup a local grid and run the wikipedia jobs. Skip the <a href="../../../startup/hello-samza/0.14/#shutdown">shutdown step</a> because you need the grid to still be running to query the REST service for jobs. You can optionally skip all the <code>kafka-console-consumer.sh</code> commands if you don&rsquo;t want to verify the output of the jobs.</p>
 
 <p>Take note of the path where you cloned hello-samza. You will need this to configure the installations path for the JobsResource.</p>
 
@@ -174,11 +174,11 @@
 
 <div class="highlight"><pre><code class="bash"><span class="nb">cd </span>samza-rest/build/distributions/
 mkdir -p deploy/samza-rest
-tar -xvf ./samza-rest-0.14.0-SNAPSHOT.tgz -C deploy/samza-rest</code></pre></div>
+tar -xvf ./samza-rest-0.14.0.tgz -C deploy/samza-rest</code></pre></div>
 
 <h4 id="configure-the-installations-path">Configure the Installations Path</h4>
 
-<p>The JobsResource has a required config <a href="../../documentation/latest/rest/resources/jobs.html#configuration">job.installations.path</a> which specifies the path where the jobs are installed. Edit the configuration file:</p>
+<p>The JobsResource has a required config <a href="../../documentation/0.14/rest/resources/jobs.html#configuration">job.installations.path</a> which specifies the path where the jobs are installed. Edit the configuration file:</p>
 <div class="highlight"><pre><code class="language-text" data-lang="text">deploy/samza-rest/config/samza-rest.properties
 </code></pre></div>
 <p>Set the job.installations.path to:</p>
@@ -195,7 +195,7 @@ tar -xvf ./samza-rest-0.14.0-SNAPSHOT.tg
   --config-factory<span class="o">=</span>org.apache.samza.config.factories.PropertiesConfigFactory <span class="se">\</span>
   --config-path<span class="o">=</span>file://<span class="nv">$PWD</span>/config/samza-rest.properties</code></pre></div>
 
-<p>You provide two parameters to the run-samza-rest-service.sh script. One is the config location, and the other, optional, parameter is a factory class that is used to read your configuration file. The SamzaRestService uses your ConfigFactory to get a Config object from the config path. The ConfigFactory is covered in more detail on the <a href="../../documentation/latest/jobs/job-runner.html">Job Runner page</a>. The run-samza-rest-service.sh script will block until the SamzaRestService terminates.</p>
+<p>You provide two parameters to the run-samza-rest-service.sh script. One is the config location, and the other, optional, parameter is a factory class that is used to read your configuration file. The SamzaRestService uses your ConfigFactory to get a Config object from the config path. The ConfigFactory is covered in more detail on the <a href="../../documentation/0.14/jobs/job-runner.html">Job Runner page</a>. The run-samza-rest-service.sh script will block until the SamzaRestService terminates.</p>
 
 <p>Note: With the default settings, the JobsResource will expect a YARN cluster with a local Resource Manager accessible via the ApplicationCLI. Without YARN, the JobsResource will not respond to any requests. So it&rsquo;s important to walk through hello-samza demo before the next step.</p>
 
@@ -211,9 +211,9 @@ tar -xvf ./samza-rest-0.14.0-SNAPSHOT.tg
 </code></pre></div>
 <p>Congratulations, you&rsquo;ve successfully deployed the Samza REST Service and used the JobsResource to list jobs and stop a job!</p>
 
-<p>See the <a href="../../documentation/latest/rest/resources/jobs.html">JobsResource documentation</a> for the rest of its API.</p>
+<p>See the <a href="../../documentation/0.14/rest/resources/jobs.html">JobsResource documentation</a> for the rest of its API.</p>
 
-<p>See the <a href="../../documentation/latest/rest/resources.html">Resources documentation</a> for more information about Resources and how you can add your own.</p>
+<p>See the <a href="../../documentation/0.14/rest/resources.html">Resources documentation</a> for more information about Resources and how you can add your own.</p>
 
 
           </div>
@@ -231,7 +231,7 @@ tar -xvf ./samza-rest-0.14.0-SNAPSHOT.tg
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/samza-rest-getting-started.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/samza-rest-getting-started.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/samza-sql.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/samza-sql.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/samza-sql.html (original)
+++ samza/site/learn/tutorials/0.14/samza-sql.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/samza-sql.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/samza-sql.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -254,7 +254,7 @@
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/samza-sql.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/samza-sql.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });

Modified: samza/site/learn/tutorials/0.14/samza-tools.html
URL: http://svn.apache.org/viewvc/samza/site/learn/tutorials/0.14/samza-tools.html?rev=1820027&r1=1820026&r2=1820027&view=diff
==============================================================================
--- samza/site/learn/tutorials/0.14/samza-tools.html (original)
+++ samza/site/learn/tutorials/0.14/samza-tools.html Thu Jan  4 00:47:37 2018
@@ -46,7 +46,7 @@
                   
                     
                   
-                  <a href="/learn/tutorials/0.14/samza-tools.html"><i id="switch-version-button"></i></a>
+                  <a href="http://samza.apache.org/learn/tutorials/latest/samza-tools.html"><i id="switch-version-button"></i></a>
                    <!-- links for the navigation bar -->
                 
 
@@ -59,18 +59,18 @@
           <div class="menu">
             <h1><i class="fa fa-rocket"></i> Getting Started</h1>
             <ul>
-              <li><a href="/startup/hello-samza/latest">Hello Samza</a></li>
+              <li><a href="/startup/hello-samza/0.14">Hello Samza</a></li>
               <li><a href="/startup/download">Download</a></li>
               <li><a href="/startup/preview">Feature Preview</a></li>
             </ul>
 
             <h1><i class="fa fa-book"></i> Learn</h1>
             <ul>
-              <li><a href="/learn/documentation/latest">Documentation</a></li>
-              <li><a href="/learn/documentation/latest/jobs/configuration-table.html">Configuration</a></li>
-              <li><a href="/learn/documentation/latest/container/metrics-table.html">Metrics</a></li>
-              <li><a href="/learn/documentation/latest/api/javadocs/">Javadocs</a></li>
-              <li><a href="/learn/tutorials/latest">Tutorials</a></li>
+              <li><a href="/learn/documentation/0.14">Documentation</a></li>
+              <li><a href="/learn/documentation/0.14/jobs/configuration-table.html">Configuration</a></li>
+              <li><a href="/learn/documentation/0.14/container/metrics-table.html">Metrics</a></li>
+              <li><a href="/learn/documentation/0.14/api/javadocs/">Javadocs</a></li>
+              <li><a href="/learn/tutorials/0.14">Tutorials</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/FAQ">FAQ</a></li>
               <li><a href="https://cwiki.apache.org/confluence/display/SAMZA/Apache+Samza">Wiki</a></li>
               <li><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=51812876">Papers &amp; Talks</a></li>
@@ -236,7 +236,7 @@ usage: Error: One of the <span class="o"
   
     <script>
       $( document ).ready(function() {
-        if ( $.fn.urlExists( "/learn/tutorials/0.14/samza-tools.html" ) ) {
+        if ( $.fn.urlExists( "/learn/tutorials/latest/samza-tools.html" ) ) {
           $("#switch-version-button").addClass("fa fa-history masthead-icon");
         }
       });