You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by ho...@apache.org on 2016/04/29 02:38:05 UTC

[01/18] incubator-quarks-website git commit: from 70f00190a01978781701913a2ee705293c1ba2ba

Repository: incubator-quarks-website
Updated Branches:
  refs/heads/master 69e4513f7 -> e1bd198bf


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_different_processing_against_stream.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_different_processing_against_stream.html b/content/recipes/recipe_different_processing_against_stream.html
index 049ad2b..f23a61c 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -535,31 +535,39 @@ $('#toc').on('click', 'a', function() {
     
   <p>In the previous <a href="recipe_value_out_of_range">recipe</a>, we learned how to filter a stream to obtain the interesting sensor readings and ignore the mundane data. Typically, a user scenario is more involved, where data is processed using different stream operations. Consider the following scenario, for example.</p>
 
-<p>Suppose a package delivery company would like to monitor the gas mileage of their delivery trucks using embedded sensors. They would like to apply different analytics to the sensor data that can be used to make more informed business decisions. For instance, if a truck is reporting consistently poor mileage readings, the company might want to consider replacing that truck to save on gas costs. Perhaps the company also wants to convert the sensor readings to JSON format in order to easily display the data on a web page. It may also be interested in determining the expected gallons of gas used based on the current mileage.</p>
+<p>Suppose a package delivery company would like to monitor the gas mileage of their delivery trucks using embedded sensors. They would like to apply different analytics to the sensor data that can be used to make more informed business decisions. For instance, if a truck is reporting consistently poor gas mileage readings, the company might want to consider replacing that truck to save on gas costs. Perhaps the company also wants to convert the sensor readings to JSON format in order to easily display the data on a web page. It may also be interested in determining the expected gallons of gas used based on the current gas mileage.</p>
 
-<p>In this instance, we can take the stream of mileage sensor readings and apply multiple types of processing against it so that we end up with streams that serve different purposes.</p>
+<p>In this instance, we can take the stream of gas mileage sensor readings and apply multiple types of processing against it so that we end up with streams that serve different purposes.</p>
 
 <h2 id="setting-up-the-application">Setting up the application</h2>
 
-<p>We assume that the environment has been set up following the steps outlined in the <a href="../docs/quarks-getting-started">Getting started guide</a>. Let&#39;s begin by creating a <code>DirectProvider</code> and <code>Topology</code>. We choose a <code>DevelopmentProvider</code> so that we can view the topology graph using the console URL (refer to the <a href="../docs/console">Application console</a> page for a more detailed explanation of this provider). The initial mileage value and the number of miles in a typical delivery route have also been defined.</p>
+<p>We assume that the environment has been set up following the steps outlined in the <a href="../docs/quarks-getting-started">Getting started guide</a>. Let&#39;s begin by creating a <code>DirectProvider</code> and <code>Topology</code>. We choose a <code>DevelopmentProvider</code> so that we can view the topology graph using the console URL (refer to the <a href="../docs/console">Application console</a> page for a more detailed explanation of this provider). The gas mileage bounds, initial gas mileage value, and the number of miles in a typical delivery route have also been defined.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kn">import</span> <span class="nn">java.text.DecimalFormat</span><span class="o">;</span>
-    <span class="kn">import</span> <span class="nn">java.util.Random</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">java.util.concurrent.TimeUnit</span><span class="o">;</span>
 
     <span class="kn">import</span> <span class="nn">com.google.gson.JsonObject</span><span class="o">;</span>
 
+    <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Ranges</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.console.server.HttpServer</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.providers.development.DevelopmentProvider</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">quarks.samples.utils.sensor.SimpleSimulatedSensor</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.TStream</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.Topology</span><span class="o">;</span>
 
     <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ApplyDifferentProcessingAgainstStream</span> <span class="o">{</span>
         <span class="cm">/**
-         * Hypothetical values for the initial gas mileage and the
-         * number of miles in a typical delivery route
+         * Gas mileage (in miles per gallon, or mpg) value bounds
+         */</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">MPG_LOW</span> <span class="o">=</span> <span class="mf">7.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">MPG_HIGH</span> <span class="o">=</span> <span class="mf">14.0</span><span class="o">;</span>
+        <span class="cm">/**
+         * Initial gas mileage sensor value
+         */</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">INITIAL_MPG</span> <span class="o">=</span> <span class="mf">10.5</span><span class="o">;</span>
+        <span class="cm">/**
+         * Hypothetical value for the number of miles in a typical delivery route
          */</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">currentMileage</span> <span class="o">=</span> <span class="mf">10.5</span><span class="o">;</span>
         <span class="kd">static</span> <span class="kt">double</span> <span class="n">ROUTE_MILES</span> <span class="o">=</span> <span class="mi">80</span><span class="o">;</span>
 
         <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
@@ -568,61 +576,49 @@ $('#toc').on('click', 'a', function() {
 
             <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">dp</span><span class="o">.</span><span class="na">getServices</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">HttpServer</span><span class="o">.</span><span class="na">class</span><span class="o">).</span><span class="na">getConsoleUrl</span><span class="o">());</span>
 
-            <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"TruckSensor"</span><span class="o">);</span>
+            <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"GasMileageSensor"</span><span class="o">);</span>
 
             <span class="c1">// The rest of the code pieces belong here</span>
         <span class="o">}</span>
     <span class="o">}</span>
 </code></pre></div>
-<h2 id="generating-mileage-sensor-readings">Generating mileage sensor readings</h2>
+<h2 id="generating-gas-mileage-sensor-readings">Generating gas mileage sensor readings</h2>
 
-<p>The next step is to simulate a stream of gas mileage readings. In our <code>main()</code>, we use the <code>poll()</code> method to generate a flow of tuples (readings), where each tuple arrives every second. We ensure that the generated reading is between 7.0 mpg and 14.0 mpg.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Generate a stream of mileage sensor readings</span>
-    <span class="n">DecimalFormat</span> <span class="n">df</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DecimalFormat</span><span class="o">(</span><span class="s">"#.#"</span><span class="o">);</span>
-    <span class="n">Random</span> <span class="n">r</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
-    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">mileage</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(()</span> <span class="o">-&gt;</span> <span class="o">{</span>
-        <span class="c1">// Change current mileage by some random amount between -0.4 and 0.4</span>
-        <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-            <span class="kt">double</span> <span class="n">newMileage</span> <span class="o">=</span> <span class="o">-</span><span class="mf">0.4</span> <span class="o">+</span> <span class="o">(</span><span class="mf">0.4</span> <span class="o">+</span> <span class="mf">0.4</span><span class="o">)</span> <span class="o">*</span> <span class="n">r</span><span class="o">.</span><span class="na">nextDouble</span><span class="o">()</span> <span class="o">+</span> <span class="n">currentMileage</span><span class="o">;</span>
-            <span class="c1">// Ensure that new temperature is within [7.0, 14.0]</span>
-            <span class="k">if</span> <span class="o">(</span><span class="n">newMileage</span> <span class="o">&gt;=</span> <span class="mf">7.0</span> <span class="o">&amp;&amp;</span> <span class="n">newMileage</span> <span class="o">&lt;=</span> <span class="mf">14.0</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">currentMileage</span> <span class="o">=</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">df</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">newMileage</span><span class="o">));</span>
-                <span class="k">break</span><span class="o">;</span>
-            <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-                <span class="k">continue</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-        <span class="k">return</span> <span class="n">currentMileage</span><span class="o">;</span>
-    <span class="o">},</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+<p>The next step is to simulate a stream of gas mileage readings using <a href="https://github.com/apache/incubator-quarks/blob/master/samples/utils/src/main/java/quarks/samples/utils/sensor/SimpleSimulatedSensor.java"><code>SimpleSimulatedSensor</code></a>. We set the initial gas mileage and delta factor in the first two arguments. The last argument ensures that the sensor reading falls in an acceptable range (between 7.0 mpg and 14.0 mpg). In our <code>main()</code>, we use the <code>poll()</code> method to generate a flow of tuples (readings), where each tuple arrives every second.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Generate a stream of gas mileage sensor readings</span>
+    <span class="n">SimpleSimulatedSensor</span> <span class="n">mpgSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimpleSimulatedSensor</span><span class="o">(</span><span class="n">INITIAL_MPG</span><span class="o">,</span>
+            <span class="mf">0.4</span><span class="o">,</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">MPG_LOW</span><span class="o">,</span> <span class="n">MPG_HIGH</span><span class="o">));</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">mpgReadings</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">mpgSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
 </code></pre></div>
 <h2 id="applying-different-processing-to-the-stream">Applying different processing to the stream</h2>
 
-<p>The company can now perform analytics on the <code>mileage</code> stream and feed it to different functions. </p>
+<p>The company can now perform analytics on the <code>mpgReadings</code> stream and feed it to different functions.</p>
 
-<p>First, we can filter out mileage values that are considered poor and tag the resulting stream for easier viewing in the console.</p>
+<p>First, we can filter out gas mileage values that are considered poor and tag the resulting stream for easier viewing in the console.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Filter out the poor gas mileage readings</span>
-    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">poorMileage</span> <span class="o">=</span> <span class="n">mileage</span>
-            <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">mpg</span> <span class="o">&lt;=</span> <span class="mi">9</span><span class="o">).</span><span class="na">tag</span><span class="o">(</span><span class="s">"filtered"</span><span class="o">);</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">poorMpg</span> <span class="o">=</span> <span class="n">mpgReadings</span>
+            <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">mpg</span> <span class="o">&lt;=</span> <span class="mf">9.0</span><span class="o">).</span><span class="na">tag</span><span class="o">(</span><span class="s">"filtered"</span><span class="o">);</span>
 </code></pre></div>
 <p>If the company also wants the readings to be in JSON, we can easily create a new stream and convert from type <code>Double</code> to <code>JsonObject</code>.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Map Double to JsonObject</span>
-    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">json</span> <span class="o">=</span> <span class="n">mileage</span>
+     <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">json</span> <span class="o">=</span> <span class="n">mpgReadings</span>
             <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="o">{</span>
                 <span class="n">JsonObject</span> <span class="n">jObj</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
-                <span class="n">jObj</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"mileage"</span><span class="o">,</span> <span class="n">mpg</span><span class="o">);</span>
+                <span class="n">jObj</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"gasMileage"</span><span class="o">,</span> <span class="n">mpg</span><span class="o">);</span>
                 <span class="k">return</span> <span class="n">jObj</span><span class="o">;</span>
             <span class="o">}).</span><span class="na">tag</span><span class="o">(</span><span class="s">"mapped"</span><span class="o">);</span>
 </code></pre></div>
-<p>In addition, we can calculate the estimated gallons of gas used based on the current mileage using <code>modify</code>.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Modify mileage stream to obtain a stream containing the estimated gallons of gas used</span>
-    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">gallonsUsed</span> <span class="o">=</span> <span class="n">mileage</span>
+<p>In addition, we can calculate the estimated gallons of gas used based on the current gas mileage using <code>modify</code>.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Modify gas mileage stream to obtain a stream containing the estimated gallons of gas used</span>
+    <span class="n">DecimalFormat</span> <span class="n">df</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DecimalFormat</span><span class="o">(</span><span class="s">"#.#"</span><span class="o">);</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">gallonsUsed</span> <span class="o">=</span> <span class="n">mpgReadings</span>
             <span class="o">.</span><span class="na">modify</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">df</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">ROUTE_MILES</span> <span class="o">/</span> <span class="n">mpg</span><span class="o">))).</span><span class="na">tag</span><span class="o">(</span><span class="s">"modified"</span><span class="o">);</span>
 </code></pre></div>
 <p>The three examples demonstrated here are a small subset of the many other possibilities of stream processing.</p>
 
 <p>With each of these resulting streams, the company can perform further analytics, but at this point, we terminate the streams by printing out the tuples on each stream.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Terminate the streams</span>
-    <span class="n">poorMileage</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Poor mileage! "</span> <span class="o">+</span> <span class="n">mpg</span> <span class="o">+</span> <span class="s">" mpg"</span><span class="o">));</span>
+    <span class="n">poorMpg</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Poor gas mileage! "</span> <span class="o">+</span> <span class="n">mpg</span> <span class="o">+</span> <span class="s">" mpg"</span><span class="o">));</span>
     <span class="n">json</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"JSON: "</span> <span class="o">+</span> <span class="n">mpg</span><span class="o">));</span>
     <span class="n">gallonsUsed</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">gas</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Gallons of gas: "</span> <span class="o">+</span> <span class="n">gas</span> <span class="o">+</span> <span class="s">"\n"</span><span class="o">));</span>
 </code></pre></div>
@@ -631,18 +627,18 @@ $('#toc').on('click', 'a', function() {
 <h2 id="observing-the-output">Observing the output</h2>
 
 <p>When the final application is run, the output looks something like the following:</p>
-<div class="highlight"><pre><code class="language-" data-lang="">    JSON: {"mileage":9.5}
+<div class="highlight"><pre><code class="language-" data-lang="">    JSON: {"gasMileage":9.5}
     Gallons of gas: 8.4
 
-    JSON: {"mileage":9.2}
+    JSON: {"gasMileage":9.2}
     Gallons of gas: 8.7
 
-    Poor mileage! 9.0 mpg
-    JSON: {"mileage":9.0}
+    Poor gas mileage! 9.0 mpg
+    JSON: {"gasMileage":9.0}
     Gallons of gas: 8.9
 
-    Poor mileage! 8.8 mpg
-    JSON: {"mileage":8.8}
+    Poor gas mileage! 8.8 mpg
+    JSON: {"gasMileage":8.8}
     Gallons of gas: 9.1
 </code></pre></div>
 <h2 id="a-look-at-the-topology-graph">A look at the topology graph</h2>
@@ -653,31 +649,39 @@ $('#toc').on('click', 'a', function() {
 
 <h2 id="the-final-application">The final application</h2>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kn">import</span> <span class="nn">java.text.DecimalFormat</span><span class="o">;</span>
-    <span class="kn">import</span> <span class="nn">java.util.Random</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">java.util.concurrent.TimeUnit</span><span class="o">;</span>
 
     <span class="kn">import</span> <span class="nn">com.google.gson.JsonObject</span><span class="o">;</span>
 
+    <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Ranges</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.console.server.HttpServer</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.providers.development.DevelopmentProvider</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">quarks.samples.utils.sensor.SimpleSimulatedSensor</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.TStream</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.Topology</span><span class="o">;</span>
 
-    <span class="cm">/**
+     <span class="cm">/**
      * Fan out stream and perform different analytics on the resulting streams.
      */</span>
     <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ApplyDifferentProcessingAgainstStream</span> <span class="o">{</span>
         <span class="cm">/**
-         * Hypothetical values for the initial gas mileage and the
-         * number of miles in a typical delivery route
+         * Gas mileage (in miles per gallon, or mpg) value bounds
+         */</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">MPG_LOW</span> <span class="o">=</span> <span class="mf">7.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">MPG_HIGH</span> <span class="o">=</span> <span class="mf">14.0</span><span class="o">;</span>
+        <span class="cm">/**
+         * Initial gas mileage sensor value
+         */</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">INITIAL_MPG</span> <span class="o">=</span> <span class="mf">10.5</span><span class="o">;</span>
+        <span class="cm">/**
+         * Hypothetical value for the number of miles in a typical delivery route
          */</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">currentMileage</span> <span class="o">=</span> <span class="mf">10.5</span><span class="o">;</span>
         <span class="kd">static</span> <span class="kt">double</span> <span class="n">ROUTE_MILES</span> <span class="o">=</span> <span class="mi">80</span><span class="o">;</span>
 
         <span class="cm">/**
          * Polls a simulated delivery truck sensor to periodically obtain
-         * mileage readings (in miles/gallon). Feed the stream of sensor
+         * gas mileage readings (in miles/gallon). Feed the stream of sensor
          * readings to different functions (filter, map, and modify).
          */</span>
         <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
@@ -686,44 +690,32 @@ $('#toc').on('click', 'a', function() {
 
             <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">dp</span><span class="o">.</span><span class="na">getServices</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">HttpServer</span><span class="o">.</span><span class="na">class</span><span class="o">).</span><span class="na">getConsoleUrl</span><span class="o">());</span>
 
-            <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"TruckSensor"</span><span class="o">);</span>
+            <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"GasMileageSensor"</span><span class="o">);</span>
 
-            <span class="c1">// Generate a stream of mileage sensor readings</span>
-            <span class="n">DecimalFormat</span> <span class="n">df</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DecimalFormat</span><span class="o">(</span><span class="s">"#.#"</span><span class="o">);</span>
-            <span class="n">Random</span> <span class="n">r</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
-            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">mileage</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(()</span> <span class="o">-&gt;</span> <span class="o">{</span>
-                <span class="c1">// Change current mileage by some random amount between -0.4 and 0.4</span>
-                <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-                    <span class="kt">double</span> <span class="n">newMileage</span> <span class="o">=</span> <span class="o">-</span><span class="mf">0.4</span> <span class="o">+</span> <span class="o">(</span><span class="mf">0.4</span> <span class="o">+</span> <span class="mf">0.4</span><span class="o">)</span> <span class="o">*</span> <span class="n">r</span><span class="o">.</span><span class="na">nextDouble</span><span class="o">()</span> <span class="o">+</span> <span class="n">currentMileage</span><span class="o">;</span>
-                    <span class="c1">// Ensure that new temperature is within [7.0, 14.0]</span>
-                    <span class="k">if</span> <span class="o">(</span><span class="n">newMileage</span> <span class="o">&gt;=</span> <span class="mf">7.0</span> <span class="o">&amp;&amp;</span> <span class="n">newMileage</span> <span class="o">&lt;=</span> <span class="mf">14.0</span><span class="o">)</span> <span class="o">{</span>
-                        <span class="n">currentMileage</span> <span class="o">=</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">df</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">newMileage</span><span class="o">));</span>
-                        <span class="k">break</span><span class="o">;</span>
-                    <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-                        <span class="k">continue</span><span class="o">;</span>
-                    <span class="o">}</span>
-                <span class="o">}</span>
-                <span class="k">return</span> <span class="n">currentMileage</span><span class="o">;</span>
-            <span class="o">},</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+            <span class="c1">// Generate a stream of gas mileage sensor readings</span>
+            <span class="n">SimpleSimulatedSensor</span> <span class="n">mpgSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimpleSimulatedSensor</span><span class="o">(</span><span class="n">INITIAL_MPG</span><span class="o">,</span>
+                    <span class="mf">0.4</span><span class="o">,</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">MPG_LOW</span><span class="o">,</span> <span class="n">MPG_HIGH</span><span class="o">));</span>
+            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">mpgReadings</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">mpgSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
 
             <span class="c1">// Filter out the poor gas mileage readings</span>
-            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">poorMileage</span> <span class="o">=</span> <span class="n">mileage</span>
-                    <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">mpg</span> <span class="o">&lt;=</span> <span class="mi">9</span><span class="o">).</span><span class="na">tag</span><span class="o">(</span><span class="s">"filtered"</span><span class="o">);</span>
+            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">poorMpg</span> <span class="o">=</span> <span class="n">mpgReadings</span>
+                    <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">mpg</span> <span class="o">&lt;=</span> <span class="mf">9.0</span><span class="o">).</span><span class="na">tag</span><span class="o">(</span><span class="s">"filtered"</span><span class="o">);</span>
 
             <span class="c1">// Map Double to JsonObject</span>
-            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">json</span> <span class="o">=</span> <span class="n">mileage</span>
+            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">json</span> <span class="o">=</span> <span class="n">mpgReadings</span>
                     <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="o">{</span>
                         <span class="n">JsonObject</span> <span class="n">jObj</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
-                        <span class="n">jObj</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"mileage"</span><span class="o">,</span> <span class="n">mpg</span><span class="o">);</span>
+                        <span class="n">jObj</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"gasMileage"</span><span class="o">,</span> <span class="n">mpg</span><span class="o">);</span>
                         <span class="k">return</span> <span class="n">jObj</span><span class="o">;</span>
                     <span class="o">}).</span><span class="na">tag</span><span class="o">(</span><span class="s">"mapped"</span><span class="o">);</span>
 
-            <span class="c1">// Modify mileage stream to obtain a stream containing the estimated gallons of gas used</span>
-            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">gallonsUsed</span> <span class="o">=</span> <span class="n">mileage</span>
+            <span class="c1">// Modify gas mileage stream to obtain a stream containing the estimated gallons of gas used</span>
+            <span class="n">DecimalFormat</span> <span class="n">df</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DecimalFormat</span><span class="o">(</span><span class="s">"#.#"</span><span class="o">);</span>
+            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">gallonsUsed</span> <span class="o">=</span> <span class="n">mpgReadings</span>
                     <span class="o">.</span><span class="na">modify</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">df</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">ROUTE_MILES</span> <span class="o">/</span> <span class="n">mpg</span><span class="o">))).</span><span class="na">tag</span><span class="o">(</span><span class="s">"modified"</span><span class="o">);</span>
 
             <span class="c1">// Terminate the streams</span>
-            <span class="n">poorMileage</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Poor mileage! "</span> <span class="o">+</span> <span class="n">mpg</span> <span class="o">+</span> <span class="s">" mpg"</span><span class="o">));</span>
+            <span class="n">poorMpg</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Poor gas mileage! "</span> <span class="o">+</span> <span class="n">mpg</span> <span class="o">+</span> <span class="s">" mpg"</span><span class="o">));</span>
             <span class="n">json</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">mpg</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"JSON: "</span> <span class="o">+</span> <span class="n">mpg</span><span class="o">));</span>
             <span class="n">gallonsUsed</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">gas</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Gallons of gas: "</span> <span class="o">+</span> <span class="n">gas</span> <span class="o">+</span> <span class="s">"\n"</span><span class="o">));</span>
 
@@ -762,7 +754,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_external_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_external_filter_range.html b/content/recipes/recipe_external_filter_range.html
index fbd5168..fbac592 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -670,7 +670,7 @@ and it is easy to load the properties from a file.</p>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_hello_quarks.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_quarks.html b/content/recipes/recipe_hello_quarks.html
index 6e56c9f..d06414e 100644
--- a/content/recipes/recipe_hello_quarks.html
+++ b/content/recipes/recipe_hello_quarks.html
@@ -622,7 +622,7 @@ Quarks!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html b/content/recipes/recipe_source_function.html
index e9b17aa..f4c8590 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -635,7 +635,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_value_out_of_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_value_out_of_range.html b/content/recipes/recipe_value_out_of_range.html
index 1423da7..0d11bba 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -541,25 +541,26 @@ $('#toc').on('click', 'a', function() {
 
 <h2 id="setting-up-the-application">Setting up the application</h2>
 
-<p>We assume that the environment has been set up following the steps outlined in the <a href="../docs/quarks-getting-started">Getting started guide</a>. Let&#39;s begin by creating a <code>DirectProvider</code> and <code>Topology</code>. We also define the optimal temperature range and the initial temperature.</p>
+<p>We assume that the environment has been set up following the steps outlined in the <a href="../docs/quarks-getting-started">Getting started guide</a>. Let&#39;s begin by creating a <code>DirectProvider</code> and <code>Topology</code>. We also define the optimal temperature range.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kn">import</span> <span class="nn">static</span> <span class="n">quarks</span><span class="o">.</span><span class="na">function</span><span class="o">.</span><span class="na">Functions</span><span class="o">.</span><span class="na">identity</span><span class="o">;</span>
 
-    <span class="kn">import</span> <span class="nn">java.text.DecimalFormat</span><span class="o">;</span>
-    <span class="kn">import</span> <span class="nn">java.util.Random</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">java.util.concurrent.TimeUnit</span><span class="o">;</span>
 
     <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Filters</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Range</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Ranges</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">quarks.samples.utils.sensor.SimulatedTemperatureSensor</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.TStream</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.Topology</span><span class="o">;</span>
 
     <span class="kd">public</span> <span class="kd">class</span> <span class="nc">DetectValueOutOfRange</span> <span class="o">{</span>
         <span class="cm">/**
-         * Optimal temperatures (in Fahrenheit)
+         * Optimal temperature range (in Fahrenheit)
          */</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">TEMP_LOW</span> <span class="o">=</span> <span class="mf">77.0</span><span class="o">;</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">TEMP_HIGH</span> <span class="o">=</span> <span class="mf">91.0</span><span class="o">;</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">currentTemp</span> <span class="o">=</span> <span class="mf">80.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">OPTIMAL_TEMP_LOW</span> <span class="o">=</span> <span class="mf">77.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">OPTIMAL_TEMP_HIGH</span> <span class="o">=</span> <span class="mf">91.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">optimalTempRange</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">OPTIMAL_TEMP_LOW</span><span class="o">,</span> <span class="n">OPTIMAL_TEMP_HIGH</span><span class="o">);</span>
 
         <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
 
@@ -573,24 +574,10 @@ $('#toc').on('click', 'a', function() {
 </code></pre></div>
 <h2 id="generating-temperature-sensor-readings">Generating temperature sensor readings</h2>
 
-<p>The next step is to simulate a stream of temperature readings. In our <code>main()</code>, we use the <code>poll()</code> method to generate a flow of tuples, where a new tuple (temperature reading) arrives every second. We ensure that the generated reading is between 28°F and 112°F.</p>
+<p>The next step is to simulate a stream of temperature readings using <a href="https://github.com/apache/incubator-quarks/blob/master/samples/utils/src/main/java/quarks/samples/utils/sensor/SimulatedTemperatureSensor.java"><code>SimulatedTemperatureSensor</code></a>. By default, the sensor sets the initial temperature to 80°F and ensures that new readings are between 28°F and 112°F. In our <code>main()</code>, we use the <code>poll()</code> method to generate a flow of tuples, where a new tuple (temperature reading) arrives every second.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Generate a stream of temperature sensor readings</span>
-    <span class="n">DecimalFormat</span> <span class="n">df</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DecimalFormat</span><span class="o">(</span><span class="s">"#.#"</span><span class="o">);</span>
-    <span class="n">Random</span> <span class="n">r</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
-    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">temp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(()</span> <span class="o">-&gt;</span> <span class="o">{</span>
-        <span class="c1">// Change current temp by some random amount between -1 and 1</span>
-        <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-            <span class="kt">double</span> <span class="n">newTemp</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> <span class="o">+</span> <span class="o">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">1</span><span class="o">)</span> <span class="o">*</span> <span class="n">r</span><span class="o">.</span><span class="na">nextDouble</span><span class="o">()</span> <span class="o">+</span> <span class="n">currentTemp</span><span class="o">;</span>
-            <span class="c1">// Ensure that new temperature is within [28, 112]</span>
-            <span class="k">if</span> <span class="o">(</span><span class="n">newTemp</span> <span class="o">&gt;=</span> <span class="mi">28</span> <span class="o">&amp;&amp;</span> <span class="n">newTemp</span> <span class="o">&lt;=</span> <span class="mi">112</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">currentTemp</span> <span class="o">=</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">df</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">newTemp</span><span class="o">));</span>
-                <span class="k">break</span><span class="o">;</span>
-            <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-                <span class="k">continue</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-        <span class="k">return</span> <span class="n">currentTemp</span><span class="o">;</span>
-    <span class="o">},</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+    <span class="n">SimulatedTemperatureSensor</span> <span class="n">tempSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimulatedTemperatureSensor</span><span class="o">();</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">temp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
 </code></pre></div>
 <h2 id="simple-filtering">Simple filtering</h2>
 
@@ -598,7 +585,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>In this case, we want to keep temperatures below the lower range value <em>or</em> above the upper range value. This is expressed in the filter predicate, which follows Java&#39;s syntax for <a href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html#syntax">lambda expressions</a>. Then, we terminate the stream (using <code>sink</code>) by printing out the warning to standard out. Note that <code>\u00b0</code> is the Unicode encoding for the degree (°) symbol.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">simpleFiltered</span> <span class="o">=</span> <span class="n">temp</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span>
-            <span class="n">tuple</span> <span class="o">&lt;</span> <span class="n">TEMP_LOW</span> <span class="o">||</span> <span class="n">tuple</span> <span class="o">&gt;</span> <span class="n">TEMP_HIGH</span><span class="o">);</span>
+            <span class="n">tuple</span> <span class="o">&lt;</span> <span class="n">OPTIMAL_TEMP_LOW</span> <span class="o">||</span> <span class="n">tuple</span> <span class="o">&gt;</span> <span class="n">OPTIMAL_TEMP_HIGH</span><span class="o">);</span>
     <span class="n">simpleFiltered</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Temperature is out of range! "</span>
             <span class="o">+</span> <span class="s">"It is "</span> <span class="o">+</span> <span class="n">tuple</span> <span class="o">+</span> <span class="s">"\u00b0F!"</span><span class="o">));</span>
 </code></pre></div>
@@ -619,7 +606,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>As with the simple filter, the stream is terminated by printing out the warnings.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadbandFiltered</span> <span class="o">=</span> <span class="n">Filters</span><span class="o">.</span><span class="na">deadband</span><span class="o">(</span><span class="n">temp</span><span class="o">,</span>
-            <span class="n">identity</span><span class="o">(),</span> <span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">tuple</span> <span class="o">&gt;=</span> <span class="n">TEMP_LOW</span> <span class="o">&amp;&amp;</span> <span class="n">tuple</span> <span class="o">&lt;=</span> <span class="n">TEMP_HIGH</span><span class="o">);</span>
+            <span class="n">identity</span><span class="o">(),</span> <span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">tuple</span> <span class="o">&gt;=</span> <span class="n">OPTIMAL_TEMP_LOW</span> <span class="o">&amp;&amp;</span> <span class="n">tuple</span> <span class="o">&lt;=</span> <span class="n">OPTIMAL_TEMP_HIGH</span><span class="o">);</span>
     <span class="n">deadbandFiltered</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Temperature may not be "</span>
             <span class="o">+</span> <span class="s">"optimal! It is "</span> <span class="o">+</span> <span class="n">tuple</span> <span class="o">+</span> <span class="s">"\u00b0F!"</span><span class="o">));</span>
 </code></pre></div>
@@ -657,9 +644,9 @@ $('#toc').on('click', 'a', function() {
 Though not covered in this recipe, Ranges offer additional conveniences for creating applications with external range specifications and adaptable filters.</p>
 
 <p>In the above examples, a single Range can be used in place of the two different expressions for the same logical range:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">static</span> <span class="kt">double</span> <span class="n">TEMP_LOW</span> <span class="o">=</span> <span class="mf">77.0</span><span class="o">;</span>
-    <span class="kd">static</span> <span class="kt">double</span> <span class="n">TEMP_HIGH</span> <span class="o">=</span> <span class="mf">91.0</span><span class="o">;</span>
-    <span class="kd">static</span> <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">optimalTempRange</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">TEMP_LOW</span><span class="o">,</span> <span class="n">TEMP_HIGH</span><span class="o">);</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">static</span> <span class="kt">double</span> <span class="n">OPTIMAL_TEMP_LOW</span> <span class="o">=</span> <span class="mf">77.0</span><span class="o">;</span>
+    <span class="kd">static</span> <span class="kt">double</span> <span class="n">OPTIMAL_TEMP_HIGH</span> <span class="o">=</span> <span class="mf">91.0</span><span class="o">;</span>
+    <span class="kd">static</span> <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">optimalTempRange</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">OPTIMAL_TEMP_LOW</span><span class="o">,</span> <span class="n">OPTIMAL_TEMP_HIGH</span><span class="o">);</span>
 </code></pre></div>
 <p>Using <code>optimalTempRange</code> in the Simple filter example code:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">simpleFiltered</span> <span class="o">=</span> <span class="n">temp</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> 
@@ -672,14 +659,13 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
 <h2 id="the-final-application">The final application</h2>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kn">import</span> <span class="nn">static</span> <span class="n">quarks</span><span class="o">.</span><span class="na">function</span><span class="o">.</span><span class="na">Functions</span><span class="o">.</span><span class="na">identity</span><span class="o">;</span>
 
-    <span class="kn">import</span> <span class="nn">java.text.DecimalFormat</span><span class="o">;</span>
-    <span class="kn">import</span> <span class="nn">java.util.Random</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">java.util.concurrent.TimeUnit</span><span class="o">;</span>
 
     <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Filters</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Range</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Ranges</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">quarks.samples.utils.sensor.SimulatedTemperatureSensor</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.TStream</span><span class="o">;</span>
     <span class="kn">import</span> <span class="nn">quarks.topology.Topology</span><span class="o">;</span>
 
@@ -688,12 +674,11 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
      */</span>
     <span class="kd">public</span> <span class="kd">class</span> <span class="nc">DetectValueOutOfRange</span> <span class="o">{</span>
         <span class="cm">/**
-         * Optimal temperatures inclusive (in Fahrenheit)
+         * Optimal temperature range (in Fahrenheit)
          */</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">TEMP_LOW</span> <span class="o">=</span> <span class="mf">77.0</span><span class="o">;</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">TEMP_HIGH</span> <span class="o">=</span> <span class="mf">91.0</span><span class="o">;</span>
-        <span class="kd">static</span> <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">optimalTempRange</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">TEMP_LOW</span><span class="o">,</span> <span class="n">TEMP_HIGH</span><span class="o">);</span>
-        <span class="kd">static</span> <span class="kt">double</span> <span class="n">currentTemp</span> <span class="o">=</span> <span class="mf">80.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">OPTIMAL_TEMP_LOW</span> <span class="o">=</span> <span class="mf">77.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="kt">double</span> <span class="n">OPTIMAL_TEMP_HIGH</span> <span class="o">=</span> <span class="mf">91.0</span><span class="o">;</span>
+        <span class="kd">static</span> <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">optimalTempRange</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">closed</span><span class="o">(</span><span class="n">OPTIMAL_TEMP_LOW</span><span class="o">,</span> <span class="n">OPTIMAL_TEMP_HIGH</span><span class="o">);</span>
 
         <span class="cm">/**
          * Polls a simulated temperature sensor to periodically obtain
@@ -708,25 +693,12 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
             <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"TemperatureSensor"</span><span class="o">);</span>
 
             <span class="c1">// Generate a stream of temperature sensor readings</span>
-            <span class="n">DecimalFormat</span> <span class="n">df</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DecimalFormat</span><span class="o">(</span><span class="s">"#.#"</span><span class="o">);</span>
-            <span class="n">Random</span> <span class="n">r</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
-            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">temp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(()</span> <span class="o">-&gt;</span> <span class="o">{</span>
-                <span class="c1">// Change current temp by some random amount between -1 and 1</span>
-                <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-                    <span class="kt">double</span> <span class="n">newTemp</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> <span class="o">+</span> <span class="o">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">1</span><span class="o">)</span> <span class="o">*</span> <span class="n">r</span><span class="o">.</span><span class="na">nextDouble</span><span class="o">()</span> <span class="o">+</span> <span class="n">currentTemp</span><span class="o">;</span>
-                    <span class="c1">// Ensure that new temperature is within [28, 112]</span>
-                    <span class="k">if</span> <span class="o">(</span><span class="n">newTemp</span> <span class="o">&gt;=</span> <span class="mi">28</span> <span class="o">&amp;&amp;</span> <span class="n">newTemp</span> <span class="o">&lt;=</span> <span class="mi">112</span><span class="o">)</span> <span class="o">{</span>
-                        <span class="n">currentTemp</span> <span class="o">=</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">df</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">newTemp</span><span class="o">));</span>
-                        <span class="k">break</span><span class="o">;</span>
-                    <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-                        <span class="k">continue</span><span class="o">;</span>
-                    <span class="o">}</span>
-                <span class="o">}</span>
-                <span class="k">return</span> <span class="n">currentTemp</span><span class="o">;</span>
-            <span class="o">},</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
-
-            <span class="c1">// Simple filter: Perform analytics on sensor readings to detect when</span>
-            <span class="c1">// the temperature is out of the optimal range and generate warnings</span>
+            <span class="n">SimulatedTemperatureSensor</span> <span class="n">tempSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimulatedTemperatureSensor</span><span class="o">();</span>
+            <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">temp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+
+            <span class="c1">// Simple filter: Perform analytics on sensor readings to</span>
+            <span class="c1">// detect when the temperature is completely out of the</span>
+            <span class="c1">// optimal range and generate warnings</span>
             <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">simpleFiltered</span> <span class="o">=</span> <span class="n">temp</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span>
                     <span class="o">!</span><span class="n">optimalTempRange</span><span class="o">.</span><span class="na">contains</span><span class="o">(</span><span class="n">tuple</span><span class="o">));</span>
             <span class="n">simpleFiltered</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Temperature is out of range! "</span>
@@ -779,7 +751,7 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index aef524c..02e2cb9 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -536,7 +536,7 @@ $('#toc').on('click', 'a', function() {
       <div class="printTitleArea">
         <div class="printTitle"></div>
         <div class="printSubtitle"></div>
-        <div class="lastGeneratedDate">Last generated: April 14, 2016</div>
+        <div class="lastGeneratedDate">Last generated: April 15, 2016</div>
         <hr />
 
         <div class="printTitleImage">
@@ -583,7 +583,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index 3a54d80..49d149a 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -729,7 +729,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>


[04/18] incubator-quarks-website git commit: from d8e56e1d3b409f007d79f1297abffc79da94fab6

Posted by ho...@apache.org.
from d8e56e1d3b409f007d79f1297abffc79da94fab6


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/52147a2c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/52147a2c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/52147a2c

Branch: refs/heads/master
Commit: 52147a2c5bd238d8f8cdbba0ffc77fdd3c8ecbd9
Parents: 1123708
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 21 12:22:32 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 21 12:22:32 2016 -0400

----------------------------------------------------------------------
 content/404.html                                |  20 +-
 content/algolia_search.json                     |  26 +
 content/docs/committers.html                    |  20 +-
 content/docs/common-quarks-operations.html      |  20 +-
 content/docs/community.html                     |  20 +-
 content/docs/console.html                       |  20 +-
 content/docs/faq.html                           |  20 +-
 content/docs/home.html                          |  20 +-
 content/docs/overview.html                      |  20 +-
 content/docs/quarks-getting-started.html        |  20 +-
 content/docs/quarks_index.html                  |  20 +-
 content/docs/quickstart.html                    |  20 +-
 content/docs/samples.html                       |  20 +-
 content/docs/search.html                        |  20 +-
 content/docs/tag_collaboration.html             |  24 +-
 content/docs/tag_content_types.html             |  24 +-
 content/docs/tag_formatting.html                |  24 +-
 content/docs/tag_getting_started.html           |  24 +-
 content/docs/tag_mobile.html                    |  24 +-
 content/docs/tag_navigation.html                |  24 +-
 content/docs/tag_publishing.html                |  24 +-
 content/docs/tag_single_sourcing.html           |  24 +-
 content/docs/tag_special_layouts.html           |  24 +-
 content/prince-file-list.txt                    |  10 +
 .../recipe_adaptable_deadtime_filter.html       | 756 +++++++++++++++++++
 .../recipes/recipe_adaptable_filter_range.html  |  20 +-
 ...pe_combining_streams_processing_results.html |  20 +-
 ...ipe_different_processing_against_stream.html |  20 +-
 .../recipe_dynamic_analytic_control.html        | 661 ++++++++++++++++
 .../recipes/recipe_external_filter_range.html   |  20 +-
 content/recipes/recipe_hello_quarks.html        |  20 +-
 content/recipes/recipe_source_function.html     |  20 +-
 content/recipes/recipe_value_out_of_range.html  |  20 +-
 content/search.json                             |  22 +
 content/title-checker.html                      | 250 ++++++
 content/titlepage.html                          |  22 +-
 content/tocpage.html                            |  32 +-
 content/urls_mydoc.txt                          |  14 +
 38 files changed, 2377 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index c0a9cae..558a724 100644
--- a/content/404.html
+++ b/content/404.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -566,7 +584,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 6cbc069..aea00e2 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -154,6 +154,19 @@
 
 
 {
+"title": "Using an Adaptable Deadtime Filter",
+"tags": "",
+"keywords": "",
+"url": "../recipes/recipe_adaptable_deadtime_filter",
+"summary": "",
+"body": "Oftentimes, an application wants to control the frequency that continuously generated analytic results are made available to other parts of the application or published to other applications or an event hub.For example, an application polls an engine temperature sensor every second and performs various analytics on each reading - an analytic result is generated every second.  By default, the application only wants to publish a (healthy) analytic result every 30 minutes.  However, under certain conditions, the desire is to publish every per-second analytic result.Such a condition may be locally detected, such as detecting a sudden rise in the engine temperature or it may be as a result of receiving some external command to change the publishing frequency.Note this is a different case than simply changing the polling frequency for the sensor as doing that would disable local continuous monitoring and analysis of the engine temperature.This case needs a *deadtime filter* and Q
 uarks provides one for your use!  In contrast to a *deadband filter*, which skips tuples based on a deadband value range, a deadtime filter skips tuples based on a *deadtime period* following a tuple that is allowed to pass through.  E.g., if the deadtime period is 30 minutes, after allowing a tuple to pass, the filter skips any tuples received for the next 30 minutes.  The next tuple received after that is allowed to pass through, and a new deadtime period is begun.See quarks.analytics.sensors.Filters.deadtime() and quarks.analytics.sensors.Deadtime.This recipe demonstrates how to use an adaptable deadtime filter.A Quarks IotProvider and IoTDevice with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set deadtime period\" command stream.## Create a polled sensor readings stream```java        Topology top = ...;        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = 
 top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .tag(\"engineTemp\");```It's also a good practice to add tags to streams to improve the usability of the development mode Quarks console.## Create a deadtime filtered stream - initially no deadtimeIn this recipe we'll just filter the direct engineTemp sensor reading stream.  In practice this filtering would be performed after some analytics stages and used as the input to ``IotDevice.event()`` or some other connector publish operation.```java        Deadtime deadtime = new Deadtime();        TStream deadtimeFilteredEngineTemp = engineTemp.filter(deadtime)                                      .tag(\"deadtimeFilteredEngineTemp\");```## Define a \"set deadtime period\" method```java    static  void setDeadtimePeriod(Deadtime deadtime, long period, TimeUnit unit) {        System.out.println(\"Setting deadtime period=\"+period+\" \"+unit);        deadtime.setPeriod(period, unit);    }```## Process the \"set de
 adtime period\" command streamOur commands are on the \"TStream&lt;JsonObject&gt; cmds\" stream.  Each JsonObject tuple is a command with the properties \"period\" and \"unit\".```java        cmds.sink(json -> setDeadtimePeriod(deadtimeFilteredEngineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));```## The final applicationWhen the application is run it will initially print out temperature sensor readings every second for 15 seconds - the deadtime period is 0.  Then every 15 seconds the application will toggle the deadtime period between 5 seconds and 0 seconds, resulting in a reduction in tuples being printed during the 5 second deadtime period.```javaimport java.util.Date;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import com.google.gson.JsonObject;import quarks.analytics.sensors.Deadtime;import quarks.console.server.HttpServer;import quarks.pr
 oviders.development.DevelopmentProvider;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * A recipe for using an Adaptable Deadtime Filter. */public class AdaptableDeadtimeFilterRecipe {    /**     * Poll a temperature sensor to periodically obtain temperature readings.     * Create a \"deadtime\" filtered stream: after passing a tuple,     * any tuples received during the \"deadtime\" are filtered out.     * Then the next tuple is passed through and a new deadtime period begun.     *      * Respond to a simulated command stream to change the deadtime window     * duration.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DevelopmentProvider();        System.out.println(\"development console url: \"                + dp.getServices().getService(HttpServer.class).getConsoleUrl());        Topology top = dp.newTop
 ology(\"TemperatureSensor\");                // Generate a polled temperature sensor stream and set it alias        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .tag(\"engineTemp\");        // Filter out tuples during the specified \"deadtime window\"        // Initially no filtering.        Deadtime deadtime = new Deadtime();        TStream deadtimeFilteredEngineTemp =                engineTemp.filter(deadtime)                    .tag(\"deadtimeFilteredEngineTemp\");                // Report the time each temperature reading arrives and the value        deadtimeFilteredEngineTemp.peek(tuple -> System.out.println(new Date() + \" temp=\" + tuple));                // Generate a simulated \"set deadtime period\" command stream        TStream cmds = simulatedSetDeadtimePeriodCmds(top);                // Process the commands to change the deadtime window
  period        cmds.sink(json -> setDeadtimePeriod(deadtime,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));        dp.submit(top);    }        static  void setDeadtimePeriod(Deadtime deadtime, long period, TimeUnit unit) {        System.out.println(\"Setting deadtime period=\"+period+\" \"+unit);        deadtime.setPeriod(period, unit);    }        static TStream simulatedSetDeadtimePeriodCmds(Topology top) {        AtomicInteger lastPeriod = new AtomicInteger(-1);        TStream cmds = top.poll(() -> {                // don't change on first invocation                if (lastPeriod.get() == -1) {                    lastPeriod.incrementAndGet();                    return null;                }                // toggle between 0 and 5 sec deadtime period                int newPeriod = lastPeriod.get() == 5 ? 0 : 5;                lastPeriod.set(newPeriod);                JsonObject jo = new J
 sonObject();                jo.addProperty(\"period\", newPeriod);                jo.addProperty(\"unit\", TimeUnit.SECONDS.toString());                return jo;            }, 15, TimeUnit.SECONDS)            .tag(\"cmds\");        return cmds;    }}```"
+
+},
+
+
+
+
+{
 "title": "Adaptable filter behavior",
 "tags": "",
 "keywords": "",
@@ -193,6 +206,19 @@
 
 
 {
+"title": "Dynamically Enabling Analytic Flows",
+"tags": "",
+"keywords": "",
+"url": "../recipes/recipe_dynamic_analytic_control",
+"summary": "",
+"body": "This recipe addresses the question: How can I dynamically enable or disable entire portions of my application's analytics?Imagine a topology that has a variety of analytics that it can perform.  Each analytic flow comes with certain costs in terms of demands on the CPU or memory and implications for power consumption.  Hence an application may wish to dynamically control whether or not an analytic flow is currently enabled.## ValveA ``quarks.topology.plumbing.Valve`` is a simple construct that can be inserted in stream flows to dynamically enable or disable downstream processing.  A valve is either open or closed.  When used as a Predicate to ``TStream.filter()``, filter passes tuples only when the valve is open. Hence downstream processing is enabled when the valve is open and effectively disabled when the valve is closed.For example, consider a a topology consisting of 3 analytic processing flows that want to be dynamically enabled or disabled:```java    Valve flow1Valve 
 = new Valve();  // default is open    Valve flow2Valve = new Valve(false);  // closed    Valve flow3Valve = new Valve(false);    TStream readings = topology.poll(mySensor, 1, TimeUnit.SECONDS);    addAnalyticFlow1(readings.filter(flow1Valve));    addAnalyticFlow2(readings.filter(flow2Valve));    addAnalyticFlow3(readings.filter(flow3Valve));```Elsewhere in the application, perhaps as a result of processing some device command from an external service such as when using an IotProvider or IotDevice, valves may be opened and closed dynamically to achieve the desired effects.  For example:```java   TStream cmds = simulatedValveCommands(topology);   cmds.sink(json -> {       String valveId = json.getPrimitive(\"valve\").getAsString();       boolean isOpen = json.getPrimitive(\"isOpen\").getAsBoolean();       switch(valveId) {         case \"flow1\": flow1Valve.setOpen(isOpen); break;         case \"flow2\": flow2Valve.setOpen(isOpen); break;         case \"flow3\": flow3Valve.setOpen(isO
 pen); break;       }   });```## Loosely Coupled Quarks ApplicationsAnother approach for achieving dynamic control over what analytics flows are running is to utilize loosely coupled applications.In this approach, the overall application is partitioned into multiple applications (topologies). In the above example there could be four applications: one that publishes the sensor Readings stream, and one for each of the analytic flows.The separate applications can connect to each other's streams using the ``quarks.connectors.pubsub.PublishSubscribe`` connector.Rather than having all of the analytic applications running all of the time, applications can be registered with a ``quarks.topology.services.ApplicationService``.  Registered applications can then be started and stopped dynamically.The ``quarks.providers.iot.IotProvider`` is designed to facilitate this style of use."
+
+},
+
+
+
+
+{
 "title": "Using an external configuration file for filter ranges",
 "tags": "",
 "keywords": "",

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index debda3f..e844972 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -578,7 +596,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/common-quarks-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-quarks-operations.html b/content/docs/common-quarks-operations.html
index 6a901c2..a99c01d 100644
--- a/content/docs/common-quarks-operations.html
+++ b/content/docs/common-quarks-operations.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -611,7 +629,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index 27297ed..4686890 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -634,7 +652,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index 75a67ab..eaec2f5 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -1041,7 +1059,7 @@ The bars that are the tallest and therefore have the highest tuple count are OP_
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index 282e22e..7160592 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -649,7 +667,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index b65591d..74d9ad7 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -654,7 +672,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index c3e4901..70a2da9 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -638,7 +656,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/quarks-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks-getting-started.html b/content/docs/quarks-getting-started.html
index 6fe184a..237f49b 100644
--- a/content/docs/quarks-getting-started.html
+++ b/content/docs/quarks-getting-started.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -740,7 +758,7 @@ Your environment is set up! You can start writing your first Quarks application.
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/quarks_index.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks_index.html b/content/docs/quarks_index.html
index 7a82cb3..5342e72 100644
--- a/content/docs/quarks_index.html
+++ b/content/docs/quarks_index.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -596,7 +614,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 5910b51..316d7fd 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -615,7 +633,7 @@ Here we map a stream of random numbers into JSON as the payload for a device eve
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index 0eeedce..e0ea893 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -629,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index ce2754d..f4f1579 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -556,7 +574,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html b/content/docs/tag_collaboration.html
index f684e8f..2afe0f6 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html b/content/docs/tag_content_types.html
index 7692e6f..7f65b7b 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index 913959c..c20cce5 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html b/content/docs/tag_getting_started.html
index 4a2fc67..825702a 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -618,6 +636,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -652,7 +674,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index 7628eee..a824a84 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index 91f4e9a..f042e4f 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index 4dd2dd9..abad49e 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html b/content/docs/tag_single_sourcing.html
index a655c53..82ca99f 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html b/content/docs/tag_special_layouts.html
index 14cad76..8a842d5 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -613,6 +631,10 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
+   
+    
     
 </tbody>
 </table>
@@ -647,7 +669,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/prince-file-list.txt
----------------------------------------------------------------------
diff --git a/content/prince-file-list.txt b/content/prince-file-list.txt
index 438e1b3..70b37f4 100644
--- a/content/prince-file-list.txt
+++ b/content/prince-file-list.txt
@@ -89,6 +89,16 @@
                                   
                         
                      
+                         
+                            http://quarks.incubator.apache.org/recipes/recipe_dynamic_analytic_control.html
+                                  
+                        
+                     
+                         
+                            http://quarks.incubator.apache.org/recipes/recipe_adaptable_deadtime_filter.html
+                                  
+                        
+                     
               
           
               

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_adaptable_deadtime_filter.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_deadtime_filter.html b/content/recipes/recipe_adaptable_deadtime_filter.html
new file mode 100644
index 0000000..0c91443
--- /dev/null
+++ b/content/recipes/recipe_adaptable_deadtime_filter.html
@@ -0,0 +1,756 @@
+<!DOCTYPE html>
+  <head>
+
+ <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="">
+<meta name="keywords" content=" ">
+<title>Using an Adaptable Deadtime Filter  | Apache Quarks Documentation</title>
+<link rel="stylesheet" type="text/css" href="../css/syntax.css">
+<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
+<!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">-->
+<link rel="stylesheet" type="text/css" href="../css/modern-business.css">
+<link rel="stylesheet" type="text/css" href="../css/lavish-bootstrap.css">
+<link rel="stylesheet" type="text/css" href="../css/customstyles.css">
+<link rel="stylesheet" type="text/css" href="../css/theme-blue.css">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
+<script src="../js/jquery.navgoco.min.js"></script>
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js"></script>
+<script src="../js/toc.js"></script>
+<script src="../js/customscripts.js"></script>
+<link rel="shortcut icon" href="../common_images/favicon.ico" type="image/x-icon">
+<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+
+
+
+
+
+ 
+
+<script>
+  $(function () {
+      $('[data-toggle="tooltip"]').tooltip()
+  })
+</script>
+
+
+
+  </head>
+
+<body>
+
+   <!-- Navigation -->
+<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+    <div class="container topnavlinks">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+
+            <a class="fa fa-home fa-lg navbar-brand" href="../docs/home.html">&nbsp;<span class="projectTitle"> Apache Quarks Documentation</span></a>
+
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <!-- entries without drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+                
+
+
+
+
+
+
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">GitHub Repos<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                
+                
+                
+                
+                <li><a href="https://quarks-edge.github.io/quarks/docs/javadoc/index.html" target="_blank">Javadoc</a></li>
+                
+                
+                
+                
+
+
+                <!-- entries with drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Quarks Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks/releases" target="_blank">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="samples">Samples</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Quarks Documentation feedback";
+var body = "I have some feedback about the Using an Adaptable Deadtime Filter page: ";
+body += window.location.href;
+body += "";
+var uri = "mailto:?subject=";
+uri += encodeURIComponent(subject);
+uri += "&body=";
+uri += encodeURIComponent(body);
+window.location.href = uri;
+}
+</script>
+
+<li><a href="mailto:dev@quarks.incubator.apache.org" target="_blank"><i class="fa fa-envelope-o"></i> Feedback</a></li>
+
+
+                <!--uncomment this block if you want simple search instead of algolia-->
+                <li>
+                     <!--start search-->
+                    <div id="search-demo-container">
+                        <input type="text" id="search-input" placeholder="search...">
+                        <ul id="results-container"></ul>
+                    </div>
+                    <script src="../js/jekyll-search.js" type="text/javascript"></script>
+                    <script type="text/javascript">
+                        SimpleJekyllSearch.init({
+                            searchInput: document.getElementById('search-input'),
+                            resultsContainer: document.getElementById('results-container'),
+                            dataSource: '../search.json',
+                            searchResultTemplate: '<li><a href="{url}" title="Using an Adaptable Deadtime Filter">{title}</a></li>',
+                        noResultsText: 'No results found.',
+                                limit: 10,
+                                fuzzy: true,
+                        })
+                    </script>
+                     <!--end search-->
+                </li>
+
+            
+        </div>
+        <!-- /.container -->
+</nav>
+
+
+
+    <!-- Page Content -->
+    <div class="container">
+        <div class="col-lg-12">&nbsp;</div>
+
+
+<!-- Content Row -->
+<div class="row">
+    <!-- Sidebar Column -->
+    <div class="col-md-3">
+
+        <script>
+
+            $(document).ready(function() {
+                // Initialize navgoco with default options
+                $("#mysidebar").navgoco({
+                    caretHtml: '',
+                    accordion: true,
+                    openClass: 'active', // open
+                    save: false, // leave false or nav highlighting doesn't work right
+                    cookie: {
+                        name: 'navgoco',
+                        expires: false,
+                        path: '/'
+                    },
+                    slide: {
+                        duration: 400,
+                        easing: 'swing'
+                    }
+                });
+
+                $("#collapseAll").click(function(e) {
+                    e.preventDefault();
+                    $("#mysidebar").navgoco('toggle', false);
+                });
+
+                $("#expandAll").click(function(e) {
+                    e.preventDefault();
+                    $("#mysidebar").navgoco('toggle', true);
+                });
+
+            });
+
+        </script>
+
+
+        
+
+
+
+
+
+
+
+
+
+        <ul id="mysidebar" class="nav">
+
+            <span class="siteTagline">Quarks</span>
+            <span class="versionTagline">Version 0.3.0</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/quarks_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Quarks Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Sample Programs</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/samples.html">Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Using the Console</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/console.html">Using the console</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Involved</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/community.html">How to participate</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/committers.html">Committers</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+                
+
+
+                <!-- if you aren't using the accordion, uncomment this block:
+
+                     <p class="external">
+                         <a href="#" id="collapseAll">Collapse All</a> | <a href="#" id="expandAll">Expand All</a>
+                     </p>
+                 -->
+				 <br/>
+			</li>
+		</ul>
+		<div class="row">
+		<div class="col-md-12">
+			
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+
+<div id="toc"></div>
+
+		</div>
+	</div>
+	</div>
+	
+    <!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
+    <script>$("li.active").parents('li').toggleClass("active");</script>
+
+
+            <!-- Content Column -->
+            <div class="col-md-9">
+                
+                <div class="post-header">
+   <h1 class="post-title-main">Using an Adaptable Deadtime Filter</h1>
+</div>
+
+<div class="post-content">
+
+   
+
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+
+<div id="toc"></div>
+
+
+    
+
+    <a target="_blank" href="https://github.com/apache/incubator-quarks-website/blob/master/site/recipes/recipe_adaptable_deadtime_filter.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>Oftentimes, an application wants to control the frequency that continuously generated analytic results are made available to other parts of the application or published to other applications or an event hub.</p>
+
+<p>For example, an application polls an engine temperature sensor every second and performs various analytics on each reading - an analytic result is generated every second.  By default, the application only wants to publish a (healthy) analytic result every 30 minutes.  However, under certain conditions, the desire is to publish every per-second analytic result.</p>
+
+<p>Such a condition may be locally detected, such as detecting a sudden rise in the engine temperature or it may be as a result of receiving some external command to change the publishing frequency.</p>
+
+<p>Note this is a different case than simply changing the polling frequency for the sensor as doing that would disable local continuous monitoring and analysis of the engine temperature.</p>
+
+<p>This case needs a <em>deadtime filter</em> and Quarks provides one for your use!  In contrast to a <em>deadband filter</em>, which skips tuples based on a deadband value range, a deadtime filter skips tuples based on a <em>deadtime period</em> following a tuple that is allowed to pass through.  E.g., if the deadtime period is 30 minutes, after allowing a tuple to pass, the filter skips any tuples received for the next 30 minutes.  The next tuple received after that is allowed to pass through, and a new deadtime period is begun.</p>
+
+<p>See quarks.analytics.sensors.Filters.deadtime() and quarks.analytics.sensors.Deadtime.</p>
+
+<p>This recipe demonstrates how to use an adaptable deadtime filter.</p>
+
+<p>A Quarks IotProvider and IoTDevice with its command streams would be a natural way to control the application.  In this recipe we will just simulate a &quot;set deadtime period&quot; command stream.</p>
+
+<h2 id="create-a-polled-sensor-readings-stream">Create a polled sensor readings stream</h2>
+<div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="o">...;</span>
+        <span class="n">SimulatedTemperatureSensor</span> <span class="n">tempSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimulatedTemperatureSensor</span><span class="o">();</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">engineTemp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"engineTemp"</span><span class="o">);</span>
+</code></pre></div>
+<p>It&#39;s also a good practice to add tags to streams to improve the usability of the development mode Quarks console.</p>
+
+<h2 id="create-a-deadtime-filtered-stream-initially-no-deadtime">Create a deadtime filtered stream - initially no deadtime</h2>
+
+<p>In this recipe we&#39;ll just filter the direct engineTemp sensor reading stream.  In practice this filtering would be performed after some analytics stages and used as the input to <code>IotDevice.event()</code> or some other connector publish operation.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">Deadtime</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadtime</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Deadtime</span><span class="o">&lt;&gt;();</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadtimeFilteredEngineTemp</span> <span class="o">=</span> <span class="n">engineTemp</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">deadtime</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"deadtimeFilteredEngineTemp"</span><span class="o">);</span>
+</code></pre></div>
+<h2 id="define-a-quot-set-deadtime-period-quot-method">Define a &quot;set deadtime period&quot; method</h2>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">static</span> <span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kt">void</span> <span class="n">setDeadtimePeriod</span><span class="o">(</span><span class="n">Deadtime</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">deadtime</span><span class="o">,</span> <span class="kt">long</span> <span class="n">period</span><span class="o">,</span> <span class="n">TimeUnit</span> <span class="n">unit</span><span class="o">)</span> <span class="o">{</span>
+        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Setting deadtime period="</span><span class="o">+</span><span class="n">period</span><span class="o">+</span><span class="s">" "</span><span class="o">+</span><span class="n">unit</span><span class="o">);</span>
+        <span class="n">deadtime</span><span class="o">.</span><span class="na">setPeriod</span><span class="o">(</span><span class="n">period</span><span class="o">,</span> <span class="n">unit</span><span class="o">);</span>
+    <span class="o">}</span>
+</code></pre></div>
+<h2 id="process-the-quot-set-deadtime-period-quot-command-stream">Process the &quot;set deadtime period&quot; command stream</h2>
+
+<p>Our commands are on the &quot;TStream&lt;JsonObject&gt; cmds&quot; stream.  Each JsonObject tuple is a command with the properties &quot;period&quot; and &quot;unit&quot;.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">cmds</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">json</span> <span class="o">-&gt;</span> <span class="n">setDeadtimePeriod</span><span class="o">(</span><span class="n">deadtimeFilteredEngineTemp</span><span class="o">,</span>
+            <span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"period"</span><span class="o">).</span><span class="na">getAsLong</span><span class="o">(),</span>
+            <span class="n">TimeUnit</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"unit"</span><span class="o">).</span><span class="na">getAsString</span><span class="o">())));</span>
+</code></pre></div>
+<h2 id="the-final-application">The final application</h2>
+
+<p>When the application is run it will initially print out temperature sensor readings every second for 15 seconds - the deadtime period is 0.  Then every 15 seconds the application will toggle the deadtime period between 5 seconds and 0 seconds, resulting in a reduction in tuples being printed during the 5 second deadtime period.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">java.util.Date</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">java.util.concurrent.TimeUnit</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">java.util.concurrent.atomic.AtomicInteger</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">com.google.gson.JsonObject</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">quarks.analytics.sensors.Deadtime</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.console.server.HttpServer</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.providers.development.DevelopmentProvider</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.samples.utils.sensor.SimulatedTemperatureSensor</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.topology.TStream</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.topology.Topology</span><span class="o">;</span>
+
+<span class="cm">/**
+ * A recipe for using an Adaptable Deadtime Filter.
+ */</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AdaptableDeadtimeFilterRecipe</span> <span class="o">{</span>
+
+    <span class="cm">/**
+     * Poll a temperature sensor to periodically obtain temperature readings.
+     * Create a "deadtime" filtered stream: after passing a tuple,
+     * any tuples received during the "deadtime" are filtered out.
+     * Then the next tuple is passed through and a new deadtime period begun.
+     * 
+     * Respond to a simulated command stream to change the deadtime window
+     * duration.
+     */</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+
+        <span class="n">DirectProvider</span> <span class="n">dp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DevelopmentProvider</span><span class="o">();</span>
+        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"development console url: "</span>
+                <span class="o">+</span> <span class="n">dp</span><span class="o">.</span><span class="na">getServices</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">HttpServer</span><span class="o">.</span><span class="na">class</span><span class="o">).</span><span class="na">getConsoleUrl</span><span class="o">());</span>
+
+        <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"TemperatureSensor"</span><span class="o">);</span>
+
+        <span class="c1">// Generate a polled temperature sensor stream and set it alias</span>
+        <span class="n">SimulatedTemperatureSensor</span> <span class="n">tempSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimulatedTemperatureSensor</span><span class="o">();</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">engineTemp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"engineTemp"</span><span class="o">);</span>
+
+        <span class="c1">// Filter out tuples during the specified "deadtime window"</span>
+        <span class="c1">// Initially no filtering.</span>
+        <span class="n">Deadtime</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadtime</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Deadtime</span><span class="o">&lt;&gt;();</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadtimeFilteredEngineTemp</span> <span class="o">=</span>
+                <span class="n">engineTemp</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">deadtime</span><span class="o">)</span>
+                    <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"deadtimeFilteredEngineTemp"</span><span class="o">);</span>
+
+        <span class="c1">// Report the time each temperature reading arrives and the value</span>
+        <span class="n">deadtimeFilteredEngineTemp</span><span class="o">.</span><span class="na">peek</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="k">new</span> <span class="n">Date</span><span class="o">()</span> <span class="o">+</span> <span class="s">" temp="</span> <span class="o">+</span> <span class="n">tuple</span><span class="o">));</span>
+
+        <span class="c1">// Generate a simulated "set deadtime period" command stream</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">cmds</span> <span class="o">=</span> <span class="n">simulatedSetDeadtimePeriodCmds</span><span class="o">(</span><span class="n">top</span><span class="o">);</span>
+
+        <span class="c1">// Process the commands to change the deadtime window period</span>
+        <span class="n">cmds</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">json</span> <span class="o">-&gt;</span> <span class="n">setDeadtimePeriod</span><span class="o">(</span><span class="n">deadtime</span><span class="o">,</span>
+            <span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"period"</span><span class="o">).</span><span class="na">getAsLong</span><span class="o">(),</span>
+            <span class="n">TimeUnit</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"unit"</span><span class="o">).</span><span class="na">getAsString</span><span class="o">())));</span>
+
+        <span class="n">dp</span><span class="o">.</span><span class="na">submit</span><span class="o">(</span><span class="n">top</span><span class="o">);</span>
+    <span class="o">}</span>
+
+    <span class="kd">static</span> <span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kt">void</span> <span class="n">setDeadtimePeriod</span><span class="o">(</span><span class="n">Deadtime</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">deadtime</span><span class="o">,</span> <span class="kt">long</span> <span class="n">period</span><span class="o">,</span> <span class="n">TimeUnit</span> <span class="n">unit</span><span class="o">)</span> <span class="o">{</span>
+        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Setting deadtime period="</span><span class="o">+</span><span class="n">period</span><span class="o">+</span><span class="s">" "</span><span class="o">+</span><span class="n">unit</span><span class="o">);</span>
+        <span class="n">deadtime</span><span class="o">.</span><span class="na">setPeriod</span><span class="o">(</span><span class="n">period</span><span class="o">,</span> <span class="n">unit</span><span class="o">);</span>
+    <span class="o">}</span>
+
+    <span class="kd">static</span> <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">simulatedSetDeadtimePeriodCmds</span><span class="o">(</span><span class="n">Topology</span> <span class="n">top</span><span class="o">)</span> <span class="o">{</span>
+        <span class="n">AtomicInteger</span> <span class="n">lastPeriod</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AtomicInteger</span><span class="o">(-</span><span class="mi">1</span><span class="o">);</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">cmds</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(()</span> <span class="o">-&gt;</span> <span class="o">{</span>
+                <span class="c1">// don't change on first invocation</span>
+                <span class="k">if</span> <span class="o">(</span><span class="n">lastPeriod</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="o">)</span> <span class="o">{</span>
+                    <span class="n">lastPeriod</span><span class="o">.</span><span class="na">incrementAndGet</span><span class="o">();</span>
+                    <span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
+                <span class="o">}</span>
+                <span class="c1">// toggle between 0 and 5 sec deadtime period</span>
+                <span class="kt">int</span> <span class="n">newPeriod</span> <span class="o">=</span> <span class="n">lastPeriod</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">==</span> <span class="mi">5</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="mi">5</span><span class="o">;</span>
+                <span class="n">lastPeriod</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">newPeriod</span><span class="o">);</span>
+                <span class="n">JsonObject</span> <span class="n">jo</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
+                <span class="n">jo</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"period"</span><span class="o">,</span> <span class="n">newPeriod</span><span class="o">);</span>
+                <span class="n">jo</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"unit"</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span>
+                <span class="k">return</span> <span class="n">jo</span><span class="o">;</span>
+            <span class="o">},</span> <span class="mi">15</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)</span>
+            <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"cmds"</span><span class="o">);</span>
+        <span class="k">return</span> <span class="n">cmds</span><span class="o">;</span>
+    <span class="o">}</span>
+
+<span class="o">}</span>
+
+</code></pre></div>
+
+<div class="tags">
+    
+</div>
+
+<!-- 
+
+    <div id="disqus_thread"></div>
+    <script type="text/javascript">
+        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+        var disqus_shortname = 'idrbwjekyll'; // required: replace example with your forum shortname
+
+        /* * * DON'T EDIT BELOW THIS LINE * * */
+        (function() {
+            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+        })();
+    </script>
+    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+ -->
+
+</div>
+
+
+
+<footer>
+    <div class="row">
+        <div class="col-lg-12 footer">
+
+             Site last
+            generated: Apr 21, 2016 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Quarks is an effort undergoing Incubation at The Apache Software
+                Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects
+                until a further review indicates that the infrastructure, communications, and decision making process
+                have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+                not necessarily a reflection of the completeness or stability of the code, it does indicate that the
+                project has yet to be fully endorsed by the ASF.</p>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Copyright © 2016 The Apache Software Foundation. Licensed under the Apache
+                License, Version 2.0.
+                Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+                Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
+                respective owners.</p>
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_adaptable_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_filter_range.html b/content/recipes/recipe_adaptable_filter_range.html
index edeec4c..10d0741 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -674,7 +692,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_combining_streams_processing_results.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_combining_streams_processing_results.html b/content/recipes/recipe_combining_streams_processing_results.html
index 5f9c9ae..48ef02e 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -805,7 +823,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_different_processing_against_stream.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_different_processing_against_stream.html b/content/recipes/recipe_different_processing_against_stream.html
index f23a61c..0cc25d6 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -754,7 +772,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>



[16/18] incubator-quarks-website git commit: [QUARKS-153] Document style guide for website consistency

Posted by ho...@apache.org.
[QUARKS-153] Document style guide for website consistency


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/923e23c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/923e23c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/923e23c6

Branch: refs/heads/master
Commit: 923e23c6d33940cca5a0861c0c30c4001d6e0af8
Parents: 69e4513
Author: Queenie Ma <qu...@gmail.com>
Authored: Thu Apr 28 15:27:17 2016 -0700
Committer: Queenie Ma <qu...@gmail.com>
Committed: Thu Apr 28 15:27:17 2016 -0700

----------------------------------------------------------------------
 README.md | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/923e23c6/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 90bb418..324d139 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,28 @@ If you are a committer, do the following:
 
 Note: If you want to try out the website locally on the asf-site branch before you push, you can do so with `jekyll serve -d content --skip-initial-build` and point your browser to http://localhost:4000
 
+### Style Guide
+
+The website utilizes [Markdown](http://daringfireball.net/projects/markdown/) as the basis for website content. This [cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) may prove useful.
+
+In order to ensure a consistent user experience, these guidelines should be followed:
+
+1. For all headers, use sentence-style capitalization
+   * Capitalize the first word of the title/header or subtitle/subheader
+   * Capitalize any proper nouns and certain other types of words (e.g., programming terms)
+   * Use lowercase letters for everything else
+2. Page headers should start at Level 2 using `##` in order to have them be automatically added to the Table of Contents
+3. Do not skip header levels. For instance, do not jump from `##` to `####`.
+4. Use section headings as a way to separate large blocks of content and as reference markers in the Table of Contents
+5. Code references (e.g., to a Java class) should be placed in [inline code blocks](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code) using a single backtick `` ` ``
+6. For [code blocks](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code), use three backticks `` ``` ``, and if applicable, specify the language for syntax highlighting
+7. Avoid using raw HTML tags. Use the equivalent Markdown syntax.
+8. Whitespaces
+   * Use one blank line between paragraphs for the best readability
+   * Do not use leading whitespace, except for special cases, such as indenting within list items
+   * Do not use trailing whitespace, except for the case where a line break is needed. In that case, end a line with two spaces.
+9. Use correct spelling and grammar, especially for references to other projects. For example, use *GitHub*, not *Github*.
+
 Developing
 -----------
  1. Make your changes under site


[07/18] incubator-quarks-website git commit: from 82425f50da3225d9e614e3caff79ba34261c9075

Posted by ho...@apache.org.
from 82425f50da3225d9e614e3caff79ba34261c9075


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/e089afe0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/e089afe0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/e089afe0

Branch: refs/heads/master
Commit: e089afe082e9eb5527928904a9cbba83e0563458
Parents: f6f2443
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Tue Apr 26 16:01:00 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Tue Apr 26 16:01:00 2016 -0400

----------------------------------------------------------------------
 content/algolia_search.json                          |  2 +-
 content/recipes/recipe_adaptable_polling_source.html | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e089afe0/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 5de3e42..3d9ea6e 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -185,7 +185,7 @@
 "keywords": "",
 "url": "../recipes/recipe_adaptable_polling_source",
 "summary": "",
-"body": "The [Writing a Source Function](recipe_source_function.html) recipe introduced the basics of creating a source stream by polling a data source periodically.Oftentimes, a user wants the poll frequency to be adaptable rather than static.  For example, an event such as a sudden rise in a temperature sensor may motivate more frequent polling of the sensor and analysis of the data until the condition subsides.  A change in the poll frequency may be driven by locally performed analytics or via a command from an external source.A Quarks ``IotProvider`` and ``IoTDevice`` with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set poll period\" command stream.The ``Topology.poll()`` documentation describes how the poll period may be changed at runtime.The mechanism is based on a more general Quarks runtime ``quarks.execution.services.ControlService`` service.  The runtime registers \"control beans\" for entities that are 
 controllable.  These controls can be retrieved at runtime via the service.At runtime, ``Topology.poll()`` registers a ``quarks.execution.mbeans.PeriodicMXBean`` control. __Retrieving the control at runtime requires setting an alias on the poll generated stream using ``TStream.alias()``.__## Create the polled stream and set its alias```java        Topology top = ...;        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .alias(\"engineTemp\")                                      .tag(\"engineTemp\");```It's also a good practice to add tags to streams to improve the usability of the development mode Quarks console.## Define a \"set poll period\" method```java    static  void setPollPeriod(TStream pollStream, long period, TimeUnit unit) {        // get the topology's runtime ControlService service        ControlService cs = pollStream.topology().getRunti
 meServiceSupplier()                                    .get().getService(ControlService.class);        // using the the stream's alias, get its PeriodicMXBean control        PeriodicMXBean control = cs.getControl(\"periodic\", pollStream.getAlias(), PeriodicMXBean.class);        // change the poll period using the control        System.out.println(\"Setting period=\"+period+\" \"+unit+\" stream=\"+pollStream);        control.setPeriod(period, unit);    }```## Process the \"set poll period\" command streamOur commands are on the ``TStream cmds`` stream.  Each ``JsonObject`` tuple is a command with the properties \"period\" and \"unit\".```java        cmds.sink(json -> setPollPeriod(engineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));```## The final application```javaimport java.util.Date;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import com.goo
 gle.gson.JsonObject;import quarks.execution.mbeans.PeriodicMXBean;import quarks.execution.services.ControlService;import quarks.providers.development.DevelopmentProvider;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * A recipe for a polled source stream with an adaptable poll period. */public class AdaptablePolledSource {    /**     * Poll a temperature sensor to periodically obtain temperature readings.     * Respond to a simulated command stream to change the poll period.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DirectProvider();        Topology top = dp.newTopology(\"TemperatureSensor\");                // Generate a polled temperature sensor stream and set its alias        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1
 , TimeUnit.SECONDS)                                      .alias(\"engineTemp\")                                      .tag(\"engineTemp\");        // Report the time each temperature reading arrives and the value        engineTemp.peek(tuple -> System.out.println(new Date() + \" temp=\" + tuple));                // Generate a simulated \"set poll period\" command stream        TStream cmds = simulatedSetPollPeriodCmds(top);                // Process the commands to change the poll period        cmds.sink(json -> setPollPeriod(engineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));        dp.submit(top);    }        static  void setPollPeriod(TStream pollStream, long period, TimeUnit unit) {        // get the topology's runtime ControlService service        ControlService cs = pollStream.topology().getRuntimeServiceSupplier()                                    .get().getService(ControlServi
 ce.class);        // using the the stream's alias, get its PeriodicMXBean control        PeriodicMXBean control = cs.getControl(\"periodic\", pollStream.getAlias(), PeriodicMXBean.class);        // change the poll period using the control        System.out.println(\"Setting period=\"+period+\" \"+unit+\" stream=\"+pollStream);        control.setPeriod(period, unit);    }        static TStream simulatedSetPollPeriodCmds(Topology top) {        AtomicInteger lastPeriod = new AtomicInteger(1);        TStream cmds = top.poll(() -> {                // toggle between 1 and 2 sec period                int newPeriod = lastPeriod.get() == 1 ? 2 : 1;                lastPeriod.set(newPeriod);                JsonObject jo = new JsonObject();                jo.addProperty(\"period\", newPeriod);                jo.addProperty(\"unit\", TimeUnit.SECONDS.toString());                return jo;            }, 5, TimeUnit.SECONDS)            .tag(\"cmds\");        return cmds;    }}```"
+"body": "The [Writing a Source Function](recipe_source_function.html) recipe introduced the basics of creating a source stream by polling a data source periodically.Oftentimes, a user wants the poll frequency to be adaptable rather than static.  For example, an event such as a sudden rise in a temperature sensor may motivate more frequent polling of the sensor and analysis of the data until the condition subsides.  A change in the poll frequency may be driven by locally performed analytics or via a command from an external source.A Quarks ``IotProvider`` and ``IoTDevice`` with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set poll period\" command stream.The ``Topology.poll()`` documentation describes how the poll period may be changed at runtime.The mechanism is based on a more general Quarks runtime ``quarks.execution.services.ControlService`` service.  The runtime registers \"control beans\" for entities that are 
 controllable.  These controls can be retrieved at runtime via the service.At runtime, ``Topology.poll()`` registers a ``quarks.execution.mbeans.PeriodMXBean`` control. __Retrieving the control at runtime requires setting an alias on the poll generated stream using ``TStream.alias()``.__## Create the polled stream and set its alias```java        Topology top = ...;        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .alias(\"engineTemp\")                                      .tag(\"engineTemp\");```It's also a good practice to add tags to streams to improve the usability of the development mode Quarks console.## Define a \"set poll period\" method```java    static  void setPollPeriod(TStream pollStream, long period, TimeUnit unit) {        // get the topology's runtime ControlService service        ControlService cs = pollStream.topology().getRuntime
 ServiceSupplier()                                    .get().getService(ControlService.class);        // using the the stream's alias, get its PeriodMXBean control        PeriodMXBean control = cs.getControl(TStream.TYPE, pollStream.getAlias(), PeriodMXBean.class);        // change the poll period using the control        System.out.println(\"Setting period=\"+period+\" \"+unit+\" stream=\"+pollStream);        control.setPeriod(period, unit);    }```## Process the \"set poll period\" command streamOur commands are on the ``TStream cmds`` stream.  Each ``JsonObject`` tuple is a command with the properties \"period\" and \"unit\".```java        cmds.sink(json -> setPollPeriod(engineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));```## The final application```javaimport java.util.Date;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import com.google.gson
 .JsonObject;import quarks.execution.mbeans.PeriodMXBean;import quarks.execution.services.ControlService;import quarks.providers.development.DevelopmentProvider;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * A recipe for a polled source stream with an adaptable poll period. */public class AdaptablePolledSource {    /**     * Poll a temperature sensor to periodically obtain temperature readings.     * Respond to a simulated command stream to change the poll period.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DirectProvider();        Topology top = dp.newTopology(\"TemperatureSensor\");                // Generate a polled temperature sensor stream and set its alias        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit
 .SECONDS)                                      .alias(\"engineTemp\")                                      .tag(\"engineTemp\");        // Report the time each temperature reading arrives and the value        engineTemp.peek(tuple -> System.out.println(new Date() + \" temp=\" + tuple));                // Generate a simulated \"set poll period\" command stream        TStream cmds = simulatedSetPollPeriodCmds(top);                // Process the commands to change the poll period        cmds.sink(json -> setPollPeriod(engineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));        dp.submit(top);    }        static  void setPollPeriod(TStream pollStream, long period, TimeUnit unit) {        // get the topology's runtime ControlService service        ControlService cs = pollStream.topology().getRuntimeServiceSupplier()                                    .get().getService(ControlService.class);
         // using the the stream's alias, get its PeriodMXBean control        PeriodMXBean control = cs.getControl(TStream.TYPE, pollStream.getAlias(), PeriodMXBean.class);        // change the poll period using the control        System.out.println(\"Setting period=\"+period+\" \"+unit+\" stream=\"+pollStream);        control.setPeriod(period, unit);    }        static TStream simulatedSetPollPeriodCmds(Topology top) {        AtomicInteger lastPeriod = new AtomicInteger(1);        TStream cmds = top.poll(() -> {                // toggle between 1 and 2 sec period                int newPeriod = lastPeriod.get() == 1 ? 2 : 1;                lastPeriod.set(newPeriod);                JsonObject jo = new JsonObject();                jo.addProperty(\"period\", newPeriod);                jo.addProperty(\"unit\", TimeUnit.SECONDS.toString());                return jo;            }, 5, TimeUnit.SECONDS)            .tag(\"cmds\");        return cmds;    }}```"
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e089afe0/content/recipes/recipe_adaptable_polling_source.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_polling_source.html b/content/recipes/recipe_adaptable_polling_source.html
index bd0a43b..23e0f41 100644
--- a/content/recipes/recipe_adaptable_polling_source.html
+++ b/content/recipes/recipe_adaptable_polling_source.html
@@ -570,7 +570,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>The mechanism is based on a more general Quarks runtime <code>quarks.execution.services.ControlService</code> service.  The runtime registers &quot;control beans&quot; for entities that are controllable.  These controls can be retrieved at runtime via the service.</p>
 
-<p>At runtime, <code>Topology.poll()</code> registers a <code>quarks.execution.mbeans.PeriodicMXBean</code> control. <strong>Retrieving the control at runtime requires setting an alias on the poll generated stream using <code>TStream.alias()</code>.</strong></p>
+<p>At runtime, <code>Topology.poll()</code> registers a <code>quarks.execution.mbeans.PeriodMXBean</code> control. <strong>Retrieving the control at runtime requires setting an alias on the poll generated stream using <code>TStream.alias()</code>.</strong></p>
 
 <h2 id="create-the-polled-stream-and-set-its-alias">Create the polled stream and set its alias</h2>
 <div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="o">...;</span>
@@ -587,8 +587,8 @@ $('#toc').on('click', 'a', function() {
         <span class="n">ControlService</span> <span class="n">cs</span> <span class="o">=</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">topology</span><span class="o">().</span><span class="na">getRuntimeServiceSupplier</span><span class="o">()</span>
                                     <span class="o">.</span><span class="na">get</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">ControlService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-        <span class="c1">// using the the stream's alias, get its PeriodicMXBean control</span>
-        <span class="n">PeriodicMXBean</span> <span class="n">control</span> <span class="o">=</span> <span class="n">cs</span><span class="o">.</span><span class="na">getControl</span><span class="o">(</span><span class="s">"periodic"</span><span class="o">,</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">getAlias</span><span class="o">(),</span> <span class="n">PeriodicMXBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="c1">// using the the stream's alias, get its PeriodMXBean control</span>
+        <span class="n">PeriodMXBean</span> <span class="n">control</span> <span class="o">=</span> <span class="n">cs</span><span class="o">.</span><span class="na">getControl</span><span class="o">(</span><span class="n">TStream</span><span class="o">.</span><span class="na">TYPE</span><span class="o">,</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">getAlias</span><span class="o">(),</span> <span class="n">PeriodMXBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
         <span class="c1">// change the poll period using the control</span>
         <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Setting period="</span><span class="o">+</span><span class="n">period</span><span class="o">+</span><span class="s">" "</span><span class="o">+</span><span class="n">unit</span><span class="o">+</span><span class="s">" stream="</span><span class="o">+</span><span class="n">pollStream</span><span class="o">);</span>
@@ -609,7 +609,7 @@ $('#toc').on('click', 'a', function() {
 
 <span class="kn">import</span> <span class="nn">com.google.gson.JsonObject</span><span class="o">;</span>
 
-<span class="kn">import</span> <span class="nn">quarks.execution.mbeans.PeriodicMXBean</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.execution.mbeans.PeriodMXBean</span><span class="o">;</span>
 <span class="kn">import</span> <span class="nn">quarks.execution.services.ControlService</span><span class="o">;</span>
 <span class="kn">import</span> <span class="nn">quarks.providers.development.DevelopmentProvider</span><span class="o">;</span>
 <span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
@@ -657,8 +657,8 @@ $('#toc').on('click', 'a', function() {
         <span class="n">ControlService</span> <span class="n">cs</span> <span class="o">=</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">topology</span><span class="o">().</span><span class="na">getRuntimeServiceSupplier</span><span class="o">()</span>
                                     <span class="o">.</span><span class="na">get</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">ControlService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-        <span class="c1">// using the the stream's alias, get its PeriodicMXBean control</span>
-        <span class="n">PeriodicMXBean</span> <span class="n">control</span> <span class="o">=</span> <span class="n">cs</span><span class="o">.</span><span class="na">getControl</span><span class="o">(</span><span class="s">"periodic"</span><span class="o">,</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">getAlias</span><span class="o">(),</span> <span class="n">PeriodicMXBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="c1">// using the the stream's alias, get its PeriodMXBean control</span>
+        <span class="n">PeriodMXBean</span> <span class="n">control</span> <span class="o">=</span> <span class="n">cs</span><span class="o">.</span><span class="na">getControl</span><span class="o">(</span><span class="n">TStream</span><span class="o">.</span><span class="na">TYPE</span><span class="o">,</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">getAlias</span><span class="o">(),</span> <span class="n">PeriodMXBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
         <span class="c1">// change the poll period using the control</span>
         <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Setting period="</span><span class="o">+</span><span class="n">period</span><span class="o">+</span><span class="s">" "</span><span class="o">+</span><span class="n">unit</span><span class="o">+</span><span class="s">" stream="</span><span class="o">+</span><span class="n">pollStream</span><span class="o">);</span>


[13/18] incubator-quarks-website git commit: from 69e4513f78fe5fefe5f09073a04cf5d86317a5cc

Posted by ho...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_external_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_external_filter_range.html b/content/recipes/recipe_external_filter_range.html
index 0a6101b..d329562 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,7 +374,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
                     
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_hello_quarks.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_quarks.html b/content/recipes/recipe_hello_quarks.html
index 9597757..9c019bd 100644
--- a/content/recipes/recipe_hello_quarks.html
+++ b/content/recipes/recipe_hello_quarks.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,7 +324,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
                     
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html b/content/recipes/recipe_source_function.html
index 2056090..675187e 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,7 +334,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
                     
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_value_out_of_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_value_out_of_range.html b/content/recipes/recipe_value_out_of_range.html
index af2ffb9..d86a23e 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,7 +344,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
                     
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index 5d8ff8b..ed04d77 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index 0ec2365..c2cf27e 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 


[03/18] incubator-quarks-website git commit: from d8e56e1d3b409f007d79f1297abffc79da94fab6

Posted by ho...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_dynamic_analytic_control.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_dynamic_analytic_control.html b/content/recipes/recipe_dynamic_analytic_control.html
new file mode 100644
index 0000000..136420c
--- /dev/null
+++ b/content/recipes/recipe_dynamic_analytic_control.html
@@ -0,0 +1,661 @@
+<!DOCTYPE html>
+  <head>
+
+ <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="">
+<meta name="keywords" content=" ">
+<title>Dynamically Enabling Analytic Flows  | Apache Quarks Documentation</title>
+<link rel="stylesheet" type="text/css" href="../css/syntax.css">
+<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
+<!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">-->
+<link rel="stylesheet" type="text/css" href="../css/modern-business.css">
+<link rel="stylesheet" type="text/css" href="../css/lavish-bootstrap.css">
+<link rel="stylesheet" type="text/css" href="../css/customstyles.css">
+<link rel="stylesheet" type="text/css" href="../css/theme-blue.css">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
+<script src="../js/jquery.navgoco.min.js"></script>
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js"></script>
+<script src="../js/toc.js"></script>
+<script src="../js/customscripts.js"></script>
+<link rel="shortcut icon" href="../common_images/favicon.ico" type="image/x-icon">
+<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+
+
+
+
+
+ 
+
+<script>
+  $(function () {
+      $('[data-toggle="tooltip"]').tooltip()
+  })
+</script>
+
+
+
+  </head>
+
+<body>
+
+   <!-- Navigation -->
+<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+    <div class="container topnavlinks">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+
+            <a class="fa fa-home fa-lg navbar-brand" href="../docs/home.html">&nbsp;<span class="projectTitle"> Apache Quarks Documentation</span></a>
+
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <!-- entries without drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+                
+
+
+
+
+
+
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">GitHub Repos<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                
+                
+                
+                
+                <li><a href="https://quarks-edge.github.io/quarks/docs/javadoc/index.html" target="_blank">Javadoc</a></li>
+                
+                
+                
+                
+
+
+                <!-- entries with drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Quarks Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks/releases" target="_blank">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="samples">Samples</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Quarks Documentation feedback";
+var body = "I have some feedback about the Dynamically Enabling Analytic Flows page: ";
+body += window.location.href;
+body += "";
+var uri = "mailto:?subject=";
+uri += encodeURIComponent(subject);
+uri += "&body=";
+uri += encodeURIComponent(body);
+window.location.href = uri;
+}
+</script>
+
+<li><a href="mailto:dev@quarks.incubator.apache.org" target="_blank"><i class="fa fa-envelope-o"></i> Feedback</a></li>
+
+
+                <!--uncomment this block if you want simple search instead of algolia-->
+                <li>
+                     <!--start search-->
+                    <div id="search-demo-container">
+                        <input type="text" id="search-input" placeholder="search...">
+                        <ul id="results-container"></ul>
+                    </div>
+                    <script src="../js/jekyll-search.js" type="text/javascript"></script>
+                    <script type="text/javascript">
+                        SimpleJekyllSearch.init({
+                            searchInput: document.getElementById('search-input'),
+                            resultsContainer: document.getElementById('results-container'),
+                            dataSource: '../search.json',
+                            searchResultTemplate: '<li><a href="{url}" title="Dynamically Enabling Analytic Flows">{title}</a></li>',
+                        noResultsText: 'No results found.',
+                                limit: 10,
+                                fuzzy: true,
+                        })
+                    </script>
+                     <!--end search-->
+                </li>
+
+            
+        </div>
+        <!-- /.container -->
+</nav>
+
+
+
+    <!-- Page Content -->
+    <div class="container">
+        <div class="col-lg-12">&nbsp;</div>
+
+
+<!-- Content Row -->
+<div class="row">
+    <!-- Sidebar Column -->
+    <div class="col-md-3">
+
+        <script>
+
+            $(document).ready(function() {
+                // Initialize navgoco with default options
+                $("#mysidebar").navgoco({
+                    caretHtml: '',
+                    accordion: true,
+                    openClass: 'active', // open
+                    save: false, // leave false or nav highlighting doesn't work right
+                    cookie: {
+                        name: 'navgoco',
+                        expires: false,
+                        path: '/'
+                    },
+                    slide: {
+                        duration: 400,
+                        easing: 'swing'
+                    }
+                });
+
+                $("#collapseAll").click(function(e) {
+                    e.preventDefault();
+                    $("#mysidebar").navgoco('toggle', false);
+                });
+
+                $("#expandAll").click(function(e) {
+                    e.preventDefault();
+                    $("#mysidebar").navgoco('toggle', true);
+                });
+
+            });
+
+        </script>
+
+
+        
+
+
+
+
+
+
+
+
+
+        <ul id="mysidebar" class="nav">
+
+            <span class="siteTagline">Quarks</span>
+            <span class="versionTagline">Version 0.3.0</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/quarks_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Quarks Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Sample Programs</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/samples.html">Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Using the Console</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/console.html">Using the console</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Involved</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/community.html">How to participate</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/committers.html">Committers</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+                
+
+
+                <!-- if you aren't using the accordion, uncomment this block:
+
+                     <p class="external">
+                         <a href="#" id="collapseAll">Collapse All</a> | <a href="#" id="expandAll">Expand All</a>
+                     </p>
+                 -->
+				 <br/>
+			</li>
+		</ul>
+		<div class="row">
+		<div class="col-md-12">
+			
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+
+<div id="toc"></div>
+
+		</div>
+	</div>
+	</div>
+	
+    <!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
+    <script>$("li.active").parents('li').toggleClass("active");</script>
+
+
+            <!-- Content Column -->
+            <div class="col-md-9">
+                
+                <div class="post-header">
+   <h1 class="post-title-main">Dynamically Enabling Analytic Flows</h1>
+</div>
+
+<div class="post-content">
+
+   
+
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+
+<div id="toc"></div>
+
+
+    
+
+    <a target="_blank" href="https://github.com/apache/incubator-quarks-website/blob/master/site/recipes/recipe_dynamic_analytic_control.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>This recipe addresses the question: How can I dynamically enable or disable entire portions of my application&#39;s analytics?</p>
+
+<p>Imagine a topology that has a variety of analytics that it can perform.  Each analytic flow comes with certain costs in terms of demands on the CPU or memory and implications for power consumption.  Hence an application may wish to dynamically control whether or not an analytic flow is currently enabled.</p>
+
+<h2 id="valve">Valve</h2>
+
+<p>A <code>quarks.topology.plumbing.Valve</code> is a simple construct that can be inserted in stream flows to dynamically enable or disable downstream processing.  A valve is either open or closed.  When used as a Predicate to <code>TStream.filter()</code>, filter passes tuples only when the valve is open. Hence downstream processing is enabled when the valve is open and effectively disabled when the valve is closed.</p>
+
+<p>For example, consider a a topology consisting of 3 analytic processing flows that want to be dynamically enabled or disabled:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">Valve</span><span class="o">&lt;</span><span class="n">Readings</span><span class="o">&gt;</span> <span class="n">flow1Valve</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Valve</span><span class="o">&lt;&gt;();</span>  <span class="c1">// default is open</span>
+    <span class="n">Valve</span><span class="o">&lt;</span><span class="n">Readings</span><span class="o">&gt;</span> <span class="n">flow2Valve</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Valve</span><span class="o">&lt;&gt;(</span><span class="kc">false</span><span class="o">);</span>  <span class="c1">// closed</span>
+    <span class="n">Valve</span><span class="o">&lt;</span><span class="n">Readings</span><span class="o">&gt;</span> <span class="n">flow3Valve</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Valve</span><span class="o">&lt;&gt;(</span><span class="kc">false</span><span class="o">);</span>
+
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Readings</span><span class="o">&gt;</span> <span class="n">readings</span> <span class="o">=</span> <span class="n">topology</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">mySensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+    <span class="n">addAnalyticFlow1</span><span class="o">(</span><span class="n">readings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">flow1Valve</span><span class="o">));</span>
+    <span class="n">addAnalyticFlow2</span><span class="o">(</span><span class="n">readings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">flow2Valve</span><span class="o">));</span>
+    <span class="n">addAnalyticFlow3</span><span class="o">(</span><span class="n">readings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">flow3Valve</span><span class="o">));</span>
+</code></pre></div>
+<p>Elsewhere in the application, perhaps as a result of processing some device command from an external service such as when using an IotProvider or IotDevice, valves may be opened and closed dynamically to achieve the desired effects.  For example:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">   <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">cmds</span> <span class="o">=</span> <span class="n">simulatedValveCommands</span><span class="o">(</span><span class="n">topology</span><span class="o">);</span>
+   <span class="n">cmds</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">json</span> <span class="o">-&gt;</span> <span class="o">{</span>
+       <span class="n">String</span> <span class="n">valveId</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="na">getPrimitive</span><span class="o">(</span><span class="s">"valve"</span><span class="o">).</span><span class="na">getAsString</span><span class="o">();</span>
+       <span class="kt">boolean</span> <span class="n">isOpen</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="na">getPrimitive</span><span class="o">(</span><span class="s">"isOpen"</span><span class="o">).</span><span class="na">getAsBoolean</span><span class="o">();</span>
+       <span class="k">switch</span><span class="o">(</span><span class="n">valveId</span><span class="o">)</span> <span class="o">{</span>
+         <span class="k">case</span> <span class="s">"flow1"</span><span class="o">:</span> <span class="n">flow1Valve</span><span class="o">.</span><span class="na">setOpen</span><span class="o">(</span><span class="n">isOpen</span><span class="o">);</span> <span class="k">break</span><span class="o">;</span>
+         <span class="k">case</span> <span class="s">"flow2"</span><span class="o">:</span> <span class="n">flow2Valve</span><span class="o">.</span><span class="na">setOpen</span><span class="o">(</span><span class="n">isOpen</span><span class="o">);</span> <span class="k">break</span><span class="o">;</span>
+         <span class="k">case</span> <span class="s">"flow3"</span><span class="o">:</span> <span class="n">flow3Valve</span><span class="o">.</span><span class="na">setOpen</span><span class="o">(</span><span class="n">isOpen</span><span class="o">);</span> <span class="k">break</span><span class="o">;</span>
+       <span class="o">}</span>
+   <span class="o">});</span>
+</code></pre></div>
+<h2 id="loosely-coupled-quarks-applications">Loosely Coupled Quarks Applications</h2>
+
+<p>Another approach for achieving dynamic control over what analytics flows are running is to utilize loosely coupled applications.</p>
+
+<p>In this approach, the overall application is partitioned into multiple applications (topologies). In the above example there could be four applications: one that publishes the sensor Readings stream, and one for each of the analytic flows.</p>
+
+<p>The separate applications can connect to each other&#39;s streams using the <code>quarks.connectors.pubsub.PublishSubscribe</code> connector.</p>
+
+<p>Rather than having all of the analytic applications running all of the time, applications can be registered with a <code>quarks.topology.services.ApplicationService</code>.  Registered applications can then be started and stopped dynamically.</p>
+
+<p>The <code>quarks.providers.iot.IotProvider</code> is designed to facilitate this style of use.</p>
+
+
+<div class="tags">
+    
+</div>
+
+<!-- 
+
+    <div id="disqus_thread"></div>
+    <script type="text/javascript">
+        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+        var disqus_shortname = 'idrbwjekyll'; // required: replace example with your forum shortname
+
+        /* * * DON'T EDIT BELOW THIS LINE * * */
+        (function() {
+            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+        })();
+    </script>
+    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+ -->
+
+</div>
+
+
+
+<footer>
+    <div class="row">
+        <div class="col-lg-12 footer">
+
+             Site last
+            generated: Apr 21, 2016 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Quarks is an effort undergoing Incubation at The Apache Software
+                Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects
+                until a further review indicates that the infrastructure, communications, and decision making process
+                have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+                not necessarily a reflection of the completeness or stability of the code, it does indicate that the
+                project has yet to be fully endorsed by the ASF.</p>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Copyright © 2016 The Apache Software Foundation. Licensed under the Apache
+                License, Version 2.0.
+                Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+                Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
+                respective owners.</p>
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_external_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_external_filter_range.html b/content/recipes/recipe_external_filter_range.html
index fbac592..be7dab8 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -670,7 +688,7 @@ and it is easy to load the properties from a file.</p>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_hello_quarks.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_quarks.html b/content/recipes/recipe_hello_quarks.html
index d06414e..77362d4 100644
--- a/content/recipes/recipe_hello_quarks.html
+++ b/content/recipes/recipe_hello_quarks.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -622,7 +640,7 @@ Quarks!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html b/content/recipes/recipe_source_function.html
index f4c8590..edae7c7 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -635,7 +653,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/recipes/recipe_value_out_of_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_value_out_of_range.html b/content/recipes/recipe_value_out_of_range.html
index 0d11bba..41ab8ae 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -751,7 +769,7 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/search.json
----------------------------------------------------------------------
diff --git a/content/search.json b/content/search.json
index f499e00..e437bb4 100644
--- a/content/search.json
+++ b/content/search.json
@@ -132,6 +132,17 @@
 
 
 {
+"title": "Using an Adaptable Deadtime Filter",
+"tags": "",
+"keywords": "",
+"url": "../recipes/recipe_adaptable_deadtime_filter",
+"summary": ""
+},
+
+
+
+
+{
 "title": "Adaptable filter behavior",
 "tags": "",
 "keywords": "",
@@ -165,6 +176,17 @@
 
 
 {
+"title": "Dynamically Enabling Analytic Flows",
+"tags": "",
+"keywords": "",
+"url": "../recipes/recipe_dynamic_analytic_control",
+"summary": ""
+},
+
+
+
+
+{
 "title": "Using an external configuration file for filter ranges",
 "tags": "",
 "keywords": "",

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/title-checker.html
----------------------------------------------------------------------
diff --git a/content/title-checker.html b/content/title-checker.html
index f7aded6..c1daaec 100644
--- a/content/title-checker.html
+++ b/content/title-checker.html
@@ -1665,5 +1665,255 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 </body>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index 02e2cb9..b59e65e 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -536,7 +554,7 @@ $('#toc').on('click', 'a', function() {
       <div class="printTitleArea">
         <div class="printTitle"></div>
         <div class="printSubtitle"></div>
-        <div class="lastGeneratedDate">Last generated: April 15, 2016</div>
+        <div class="lastGeneratedDate">Last generated: April 21, 2016</div>
         <hr />
 
         <div class="printTitleImage">
@@ -583,7 +601,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index 49d149a..c1de8f2 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -381,6 +381,24 @@ window.location.href = uri;
 
                     
                     
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    
+
+                    
+
+                    
+                    
                 </ul>
                 
                 
@@ -637,6 +655,18 @@ $('#toc').on('click', 'a', function() {
         </li>
         
         
+                
+                <li><a href="/recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a>
+                    
+        </li>
+        
+        
+                
+                <li><a href="/recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a>
+                    
+        </li>
+        
+        
     </ul>
     </li>
     
@@ -729,7 +759,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 15, 2016 <br/>
+            generated: Apr 21, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/52147a2c/content/urls_mydoc.txt
----------------------------------------------------------------------
diff --git a/content/urls_mydoc.txt b/content/urls_mydoc.txt
index b411296..d0f4e8c 100644
--- a/content/urls_mydoc.txt
+++ b/content/urls_mydoc.txt
@@ -98,6 +98,20 @@
   link: "<a href='../recipes/recipe_adaptable_filter_range.html'>Adaptable filter behavior</a>"
 
 
+ 
+/recipes/recipe_dynamic_analytic_control:
+  title: "Dynamically Enabling Analytic Flows"
+  url: "../recipes/recipe_dynamic_analytic_control.html"
+  link: "<a href='../recipes/recipe_dynamic_analytic_control.html'>Dynamically Enabling Analytic Flows</a>"
+
+
+ 
+/recipes/recipe_adaptable_deadtime_filter:
+  title: "Using an Adaptable Deadtime Filter"
+  url: "../recipes/recipe_adaptable_deadtime_filter.html"
+  link: "<a href='../recipes/recipe_adaptable_deadtime_filter.html'>Using an Adaptable Deadtime Filter</a>"
+
+
 
 
  



[17/18] incubator-quarks-website git commit: Merge branch 'asf-site' of https://git-wip-us.apache.org/repos/asf/incubator-quarks-website

Posted by ho...@apache.org.
Merge branch 'asf-site' of https://git-wip-us.apache.org/repos/asf/incubator-quarks-website


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/d54b9271
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/d54b9271
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/d54b9271

Branch: refs/heads/master
Commit: d54b9271aed1cef07bca9e100b91629397e60dea
Parents: 69e4513 dd8a734
Author: Susan L. Cline <ho...@apache.org>
Authored: Thu Apr 28 17:36:54 2016 -0700
Committer: Susan L. Cline <ho...@apache.org>
Committed: Thu Apr 28 17:36:54 2016 -0700

----------------------------------------------------------------------
 content/404.html                                |  52 +-
 content/algolia_search.json                     |  57 +-
 content/docs/committers.html                    |  54 +-
 content/docs/common-quarks-operations.html      |  54 +-
 content/docs/community.html                     |  54 +-
 content/docs/console.html                       |  54 +-
 content/docs/faq.html                           |  76 +-
 content/docs/home.html                          |  52 +-
 content/docs/overview.html                      |  56 +-
 content/docs/quarks-getting-started.html        |  72 +-
 content/docs/quarks_index.html                  |  54 +-
 content/docs/quickstart.html                    |  81 +-
 content/docs/samples.html                       |  54 +-
 content/docs/search.html                        |  52 +-
 content/docs/tag_collaboration.html             |  58 +-
 content/docs/tag_content_types.html             |  58 +-
 content/docs/tag_formatting.html                |  58 +-
 content/docs/tag_getting_started.html           |  58 +-
 content/docs/tag_mobile.html                    |  58 +-
 content/docs/tag_navigation.html                |  58 +-
 content/docs/tag_publishing.html                |  58 +-
 content/docs/tag_single_sourcing.html           |  58 +-
 content/docs/tag_special_layouts.html           |  58 +-
 content/index.html                              |   9 +-
 content/prince-file-list.txt                    |  15 +
 .../recipe_adaptable_deadtime_filter.html       | 784 +++++++++++++++++++
 .../recipes/recipe_adaptable_filter_range.html  |  64 +-
 .../recipe_adaptable_polling_source.html        | 770 ++++++++++++++++++
 ...pe_combining_streams_processing_results.html |  54 +-
 ...ipe_different_processing_against_stream.html | 194 +++--
 .../recipe_dynamic_analytic_control.html        | 689 ++++++++++++++++
 .../recipes/recipe_external_filter_range.html   |  54 +-
 content/recipes/recipe_hello_quarks.html        |  54 +-
 content/recipes/recipe_source_function.html     |  54 +-
 content/recipes/recipe_value_out_of_range.html  | 136 ++--
 content/search.json                             |  37 +-
 content/title-checker.html                      | 381 +++++++++
 content/titlepage.html                          |  54 +-
 content/tocpage.html                            |  72 +-
 content/urls_mydoc.txt                          |  25 +-
 40 files changed, 4493 insertions(+), 297 deletions(-)
----------------------------------------------------------------------



[06/18] incubator-quarks-website git commit: from 394ccb7aef050f37ac497c9020ca389c4c43eac2

Posted by ho...@apache.org.
from 394ccb7aef050f37ac497c9020ca389c4c43eac2


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/f6f2443d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/f6f2443d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/f6f2443d

Branch: refs/heads/master
Commit: f6f2443dc002fb8c8329c00be3163cd6315bf332
Parents: 52147a2
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Tue Apr 26 15:39:12 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Tue Apr 26 15:39:12 2016 -0400

----------------------------------------------------------------------
 content/404.html                                |  17 +-
 content/algolia_search.json                     |  21 +-
 content/docs/committers.html                    |  17 +-
 content/docs/common-quarks-operations.html      |  17 +-
 content/docs/community.html                     |  17 +-
 content/docs/console.html                       |  17 +-
 content/docs/faq.html                           |  17 +-
 content/docs/home.html                          |  17 +-
 content/docs/overview.html                      |  17 +-
 content/docs/quarks-getting-started.html        |  17 +-
 content/docs/quarks_index.html                  |  17 +-
 content/docs/quickstart.html                    |  17 +-
 content/docs/samples.html                       |  17 +-
 content/docs/search.html                        |  17 +-
 content/docs/tag_collaboration.html             |  19 +-
 content/docs/tag_content_types.html             |  19 +-
 content/docs/tag_formatting.html                |  19 +-
 content/docs/tag_getting_started.html           |  19 +-
 content/docs/tag_mobile.html                    |  19 +-
 content/docs/tag_navigation.html                |  19 +-
 content/docs/tag_publishing.html                |  19 +-
 content/docs/tag_single_sourcing.html           |  19 +-
 content/docs/tag_special_layouts.html           |  19 +-
 content/prince-file-list.txt                    |   7 +-
 .../recipe_adaptable_deadtime_filter.html       |  33 +-
 .../recipes/recipe_adaptable_filter_range.html  |  29 +-
 .../recipe_adaptable_polling_source.html        | 751 +++++++++++++++++++
 ...pe_combining_streams_processing_results.html |  17 +-
 ...ipe_different_processing_against_stream.html |  17 +-
 .../recipe_dynamic_analytic_control.html        |  17 +-
 .../recipes/recipe_external_filter_range.html   |  17 +-
 content/recipes/recipe_hello_quarks.html        |  17 +-
 content/recipes/recipe_source_function.html     |  17 +-
 content/recipes/recipe_value_out_of_range.html  |  17 +-
 content/search.json                             |  15 +-
 content/title-checker.html                      | 131 ++++
 content/titlepage.html                          |  19 +-
 content/tocpage.html                            |  29 +-
 content/urls_mydoc.txt                          |  23 +-
 39 files changed, 1404 insertions(+), 165 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index 558a724..00c04fd 100644
--- a/content/404.html
+++ b/content/404.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -584,7 +593,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index aea00e2..5de3e42 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -154,12 +154,12 @@
 
 
 {
-"title": "Using an Adaptable Deadtime Filter",
+"title": "Using an adaptable deadtime filter",
 "tags": "",
 "keywords": "",
 "url": "../recipes/recipe_adaptable_deadtime_filter",
 "summary": "",
-"body": "Oftentimes, an application wants to control the frequency that continuously generated analytic results are made available to other parts of the application or published to other applications or an event hub.For example, an application polls an engine temperature sensor every second and performs various analytics on each reading - an analytic result is generated every second.  By default, the application only wants to publish a (healthy) analytic result every 30 minutes.  However, under certain conditions, the desire is to publish every per-second analytic result.Such a condition may be locally detected, such as detecting a sudden rise in the engine temperature or it may be as a result of receiving some external command to change the publishing frequency.Note this is a different case than simply changing the polling frequency for the sensor as doing that would disable local continuous monitoring and analysis of the engine temperature.This case needs a *deadtime filter* and Q
 uarks provides one for your use!  In contrast to a *deadband filter*, which skips tuples based on a deadband value range, a deadtime filter skips tuples based on a *deadtime period* following a tuple that is allowed to pass through.  E.g., if the deadtime period is 30 minutes, after allowing a tuple to pass, the filter skips any tuples received for the next 30 minutes.  The next tuple received after that is allowed to pass through, and a new deadtime period is begun.See quarks.analytics.sensors.Filters.deadtime() and quarks.analytics.sensors.Deadtime.This recipe demonstrates how to use an adaptable deadtime filter.A Quarks IotProvider and IoTDevice with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set deadtime period\" command stream.## Create a polled sensor readings stream```java        Topology top = ...;        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = 
 top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .tag(\"engineTemp\");```It's also a good practice to add tags to streams to improve the usability of the development mode Quarks console.## Create a deadtime filtered stream - initially no deadtimeIn this recipe we'll just filter the direct engineTemp sensor reading stream.  In practice this filtering would be performed after some analytics stages and used as the input to ``IotDevice.event()`` or some other connector publish operation.```java        Deadtime deadtime = new Deadtime();        TStream deadtimeFilteredEngineTemp = engineTemp.filter(deadtime)                                      .tag(\"deadtimeFilteredEngineTemp\");```## Define a \"set deadtime period\" method```java    static  void setDeadtimePeriod(Deadtime deadtime, long period, TimeUnit unit) {        System.out.println(\"Setting deadtime period=\"+period+\" \"+unit);        deadtime.setPeriod(period, unit);    }```## Process the \"set de
 adtime period\" command streamOur commands are on the \"TStream&lt;JsonObject&gt; cmds\" stream.  Each JsonObject tuple is a command with the properties \"period\" and \"unit\".```java        cmds.sink(json -> setDeadtimePeriod(deadtimeFilteredEngineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));```## The final applicationWhen the application is run it will initially print out temperature sensor readings every second for 15 seconds - the deadtime period is 0.  Then every 15 seconds the application will toggle the deadtime period between 5 seconds and 0 seconds, resulting in a reduction in tuples being printed during the 5 second deadtime period.```javaimport java.util.Date;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import com.google.gson.JsonObject;import quarks.analytics.sensors.Deadtime;import quarks.console.server.HttpServer;import quarks.pr
 oviders.development.DevelopmentProvider;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * A recipe for using an Adaptable Deadtime Filter. */public class AdaptableDeadtimeFilterRecipe {    /**     * Poll a temperature sensor to periodically obtain temperature readings.     * Create a \"deadtime\" filtered stream: after passing a tuple,     * any tuples received during the \"deadtime\" are filtered out.     * Then the next tuple is passed through and a new deadtime period begun.     *      * Respond to a simulated command stream to change the deadtime window     * duration.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DevelopmentProvider();        System.out.println(\"development console url: \"                + dp.getServices().getService(HttpServer.class).getConsoleUrl());        Topology top = dp.newTop
 ology(\"TemperatureSensor\");                // Generate a polled temperature sensor stream and set it alias        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .tag(\"engineTemp\");        // Filter out tuples during the specified \"deadtime window\"        // Initially no filtering.        Deadtime deadtime = new Deadtime();        TStream deadtimeFilteredEngineTemp =                engineTemp.filter(deadtime)                    .tag(\"deadtimeFilteredEngineTemp\");                // Report the time each temperature reading arrives and the value        deadtimeFilteredEngineTemp.peek(tuple -> System.out.println(new Date() + \" temp=\" + tuple));                // Generate a simulated \"set deadtime period\" command stream        TStream cmds = simulatedSetDeadtimePeriodCmds(top);                // Process the commands to change the deadtime window
  period        cmds.sink(json -> setDeadtimePeriod(deadtime,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));        dp.submit(top);    }        static  void setDeadtimePeriod(Deadtime deadtime, long period, TimeUnit unit) {        System.out.println(\"Setting deadtime period=\"+period+\" \"+unit);        deadtime.setPeriod(period, unit);    }        static TStream simulatedSetDeadtimePeriodCmds(Topology top) {        AtomicInteger lastPeriod = new AtomicInteger(-1);        TStream cmds = top.poll(() -> {                // don't change on first invocation                if (lastPeriod.get() == -1) {                    lastPeriod.incrementAndGet();                    return null;                }                // toggle between 0 and 5 sec deadtime period                int newPeriod = lastPeriod.get() == 5 ? 0 : 5;                lastPeriod.set(newPeriod);                JsonObject jo = new J
 sonObject();                jo.addProperty(\"period\", newPeriod);                jo.addProperty(\"unit\", TimeUnit.SECONDS.toString());                return jo;            }, 15, TimeUnit.SECONDS)            .tag(\"cmds\");        return cmds;    }}```"
+"body": "Oftentimes, an application wants to control the frequency that continuously generated analytic results are made available to other parts of the application or published to other applications or an event hub.For example, an application polls an engine temperature sensor every second and performs various analytics on each reading - an analytic result is generated every second.  By default, the application only wants to publish a (healthy) analytic result every 30 minutes.  However, under certain conditions, the desire is to publish every per-second analytic result.Such a condition may be locally detected, such as detecting a sudden rise in the engine temperature or it may be as a result of receiving some external command to change the publishing frequency.Note this is a different case than simply changing the polling frequency for the sensor as doing that would disable local continuous monitoring and analysis of the engine temperature.This case needs a *deadtime filter* and Q
 uarks provides one for your use!  In contrast to a *deadband filter*, which skips tuples based on a deadband value range, a deadtime filter skips tuples based on a *deadtime period* following a tuple that is allowed to pass through.  E.g., if the deadtime period is 30 minutes, after allowing a tuple to pass, the filter skips any tuples received for the next 30 minutes.  The next tuple received after that is allowed to pass through, and a new deadtime period is begun.See ``quarks.analytics.sensors.Filters.deadtime()`` and ``quarks.analytics.sensors.Deadtime``.This recipe demonstrates how to use an adaptable deadtime filter.A Quarks ``IotProvider`` and ``IoTDevice`` with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set deadtime period\" command stream.## Create a polled sensor readings stream```java        Topology top = ...;        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStre
 am engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .tag(\"engineTemp\");```It's also a good practice to add tags to streams to improve the usability of the development mode Quarks console.## Create a deadtime filtered stream - initially no deadtimeIn this recipe we'll just filter the direct ``engineTemp`` sensor reading stream.  In practice this filtering would be performed after some analytics stages and used as the input to ``IotDevice.event()`` or some other connector publish operation.```java        Deadtime deadtime = new Deadtime();        TStream deadtimeFilteredEngineTemp = engineTemp.filter(deadtime)                                      .tag(\"deadtimeFilteredEngineTemp\");```## Define a \"set deadtime period\" method```java    static  void setDeadtimePeriod(Deadtime deadtime, long period, TimeUnit unit) {        System.out.println(\"Setting deadtime period=\"+period+\" \"+unit);        deadtime.setPeriod(period, unit);    }```## 
 Process the \"set deadtime period\" command streamOur commands are on the ``TStream cmds`` stream.  Each ``JsonObject`` tuple is a command with the properties \"period\" and \"unit\".```java        cmds.sink(json -> setDeadtimePeriod(deadtimeFilteredEngineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));```## The final applicationWhen the application is run it will initially print out temperature sensor readings every second for 15 seconds - the deadtime period is 0.  Then every 15 seconds the application will toggle the deadtime period between 5 seconds and 0 seconds, resulting in a reduction in tuples being printed during the 5 second deadtime period.```javaimport java.util.Date;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import com.google.gson.JsonObject;import quarks.analytics.sensors.Deadtime;import quarks.console.server.HttpServer;import qua
 rks.providers.development.DevelopmentProvider;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * A recipe for using an Adaptable Deadtime Filter. */public class AdaptableDeadtimeFilterRecipe {    /**     * Poll a temperature sensor to periodically obtain temperature readings.     * Create a \"deadtime\" filtered stream: after passing a tuple,     * any tuples received during the \"deadtime\" are filtered out.     * Then the next tuple is passed through and a new deadtime period begun.     *      * Respond to a simulated command stream to change the deadtime window     * duration.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DevelopmentProvider();        System.out.println(\"development console url: \"                + dp.getServices().getService(HttpServer.class).getConsoleUrl());        Topology top = dp.
 newTopology(\"TemperatureSensor\");                // Generate a polled temperature sensor stream and set it alias        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .tag(\"engineTemp\");        // Filter out tuples during the specified \"deadtime window\"        // Initially no filtering.        Deadtime deadtime = new Deadtime();        TStream deadtimeFilteredEngineTemp =                engineTemp.filter(deadtime)                    .tag(\"deadtimeFilteredEngineTemp\");                // Report the time each temperature reading arrives and the value        deadtimeFilteredEngineTemp.peek(tuple -> System.out.println(new Date() + \" temp=\" + tuple));                // Generate a simulated \"set deadtime period\" command stream        TStream cmds = simulatedSetDeadtimePeriodCmds(top);                // Process the commands to change the deadtime 
 window period        cmds.sink(json -> setDeadtimePeriod(deadtime,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));        dp.submit(top);    }        static  void setDeadtimePeriod(Deadtime deadtime, long period, TimeUnit unit) {        System.out.println(\"Setting deadtime period=\"+period+\" \"+unit);        deadtime.setPeriod(period, unit);    }        static TStream simulatedSetDeadtimePeriodCmds(Topology top) {        AtomicInteger lastPeriod = new AtomicInteger(-1);        TStream cmds = top.poll(() -> {                // don't change on first invocation                if (lastPeriod.get() == -1) {                    lastPeriod.incrementAndGet();                    return null;                }                // toggle between 0 and 5 sec deadtime period                int newPeriod = lastPeriod.get() == 5 ? 0 : 5;                lastPeriod.set(newPeriod);                JsonObject jo =
  new JsonObject();                jo.addProperty(\"period\", newPeriod);                jo.addProperty(\"unit\", TimeUnit.SECONDS.toString());                return jo;            }, 15, TimeUnit.SECONDS)            .tag(\"cmds\");        return cmds;    }}```"
 
 },
 
@@ -167,12 +167,25 @@
 
 
 {
-"title": "Adaptable filter behavior",
+"title": "Changing a filter&#39;s range",
 "tags": "",
 "keywords": "",
 "url": "../recipes/recipe_adaptable_filter_range",
 "summary": "",
-"body": "The [Detecting a sensor value out of range](recipe_value_out_of_range.html) recipe introduced the basics of filtering as well as the use of a [Range](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Range.html).Oftentimes, a user wants a filter's behavior to be adaptable rather than static.  A filter's range can be made changeable via commands from some external source or just changed as a result of some other local analytics.A Quarks IotProvider and IoTDevice with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set optimal temp range\" command stream.The string form of a ``Range`` is natural, consise, and easy to use.  As such it's a convenient form to use as external range format. The range string can easily be converted back into a ``Range``.We're going to assume familiarity with that earlier recipe and those concepts and focus on just the \"adaptable range specification\" aspect of
  this recipe.## Define the rangeA ``java.util.concurrent.atomic.AtomicReference`` is used to provide the necessary thread synchronization.```java    static Range DEFAULT_TEMP_RANGE = Ranges.valueOfDouble(\"[77.0..91.0]\");    static AtomicReference> optimalTempRangeRef =            new AtomicReference(DEFAULT_TEMP_RANGE);```## Define a method to change the range```java    static void setOptimalTempRange(Range range) {        System.out.println(\"Using optimal temperature range: \" + range);        optimalTempRangeRef.set(range);    }```The filter just uses ``optimalTempRangeRef.get()`` to use the current range setting.## Simulate a command streamA ``TStream> setRangeCmds`` stream is created and a new range specification tuple is generated every 10 seconds.  A ``sink`` on the stream calls ``setOptimalTempRange()`` to change the range and hence the filter's bahavior.```java    // Simulate a command stream to change the optimal range.    // Such a stream might be from an IotDevice comm
 and.    String[] ranges = new String[] {        \"[70.0..120.0]\", \"[80.0..130.0]\", \"[90.0..140.0]\",    };    AtomicInteger count = new AtomicInteger(0);    TStream> setRangeCmds = top.poll(()             -> Ranges.valueOfDouble(ranges[count.incrementAndGet() % ranges.length]),            10, TimeUnit.SECONDS);    setRangeCmds.sink(tuple -> setOptimalTempRange(tuple));```## The final application```javaimport java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import quarks.analytics.sensors.Range;import quarks.analytics.sensors.Ranges;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * Detect a sensor value out of expected range. * Simulate an adaptable range changed by external commands. */public class AdaptableFilterRange {    /**     * Optimal temperatures (in Fahrenheit)     
 */    static Range DEFAULT_TEMP_RANGE = Ranges.valueOfDouble(\"[77.0..91.0]\");    static AtomicReference> optimalTempRangeRef =            new AtomicReference(DEFAULT_TEMP_RANGE);        static void setOptimalTempRange(Range range) {        System.out.println(\"Using optimal temperature range: \" + range);        optimalTempRangeRef.set(range);    }                                                                                                                                               /**     * Polls a simulated temperature sensor to periodically obtain     * temperature readings (in Fahrenheit). Use a simple filter     * to determine when the temperature is out of the optimal range.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DirectProvider();        Topology top = dp.newTopology(\"TemperatureSensor\");        // Generate a stream of temperature sensor readings        SimulatedTemperatureSensor tempSensor = new SimulatedTe
 mperatureSensor();        TStream temp = top.poll(tempSensor, 1, TimeUnit.SECONDS);        // Simple filter: Perform analytics on sensor readings to detect when        // the temperature is out of the optimal range and generate warnings        TStream simpleFiltered = temp.filter(tuple ->                !optimalTempRangeRef.get().contains(tuple));        simpleFiltered.sink(tuple -> System.out.println(\"Temperature is out of range! \"                + \"It is \" + tuple + \"\\u00b0F!\"));        // See what the temperatures look like        temp.print();        // Simulate a command stream to change the optimal range.        // Such a stream might be from an IotDevice command.        String[] ranges = new String[] {            \"[70.0..120.0]\", \"[80.0..130.0]\", \"[90.0..140.0]\",        };        AtomicInteger count = new AtomicInteger(0);        TStream> setRangeCmds = top.poll(                () -> Ranges.valueOfDouble(ranges[count.incrementAndGet() % ranges.length]),          
       10, TimeUnit.SECONDS);        setRangeCmds.sink(tuple -> setOptimalTempRange(tuple));        dp.submit(top);    }}```"
+"body": "The [Detecting a sensor value out of range](recipe_value_out_of_range.html) recipe introduced the basics of filtering as well as the use of a [Range](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Range.html).Oftentimes, a user wants a filter's behavior to be adaptable rather than static.  A filter's range can be made changeable via commands from some external source or just changed as a result of some other local analytics.A Quarks ``IotProvider`` and ``IoTDevice`` with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set optimal temp range\" command stream.The string form of a ``Range`` is natural, consise, and easy to use.  As such it's a convenient form to use as external range format. The range string can easily be converted back into a ``Range``.We're going to assume familiarity with that earlier recipe and those concepts and focus on just the \"adaptable range specification\" a
 spect of this recipe.## Define the rangeA ``java.util.concurrent.atomic.AtomicReference`` is used to provide the necessary thread synchronization.```java    static Range DEFAULT_TEMP_RANGE = Ranges.valueOfDouble(\"[77.0..91.0]\");    static AtomicReference> optimalTempRangeRef =            new AtomicReference(DEFAULT_TEMP_RANGE);```## Define a method to change the range```java    static void setOptimalTempRange(Range range) {        System.out.println(\"Using optimal temperature range: \" + range);        optimalTempRangeRef.set(range);    }```The filter just uses ``optimalTempRangeRef.get()`` to use the current range setting.## Simulate a command streamA ``TStream> setRangeCmds`` stream is created and a new range specification tuple is generated every 10 seconds.  A ``sink()`` on the stream calls ``setOptimalTempRange()`` to change the range and hence the filter's bahavior.```java    // Simulate a command stream to change the optimal range.    // Such a stream might be from an IotD
 evice command.    String[] ranges = new String[] {        \"[70.0..120.0]\", \"[80.0..130.0]\", \"[90.0..140.0]\",    };    AtomicInteger count = new AtomicInteger(0);    TStream> setRangeCmds = top.poll(()             -> Ranges.valueOfDouble(ranges[count.incrementAndGet() % ranges.length]),            10, TimeUnit.SECONDS);    setRangeCmds.sink(tuple -> setOptimalTempRange(tuple));```## The final application```javaimport java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import quarks.analytics.sensors.Range;import quarks.analytics.sensors.Ranges;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * Detect a sensor value out of expected range. * Simulate an adaptable range changed by external commands. */public class AdaptableFilterRange {    /**     * Optimal temperatures (in Fahren
 heit)     */    static Range DEFAULT_TEMP_RANGE = Ranges.valueOfDouble(\"[77.0..91.0]\");    static AtomicReference> optimalTempRangeRef =            new AtomicReference(DEFAULT_TEMP_RANGE);        static void setOptimalTempRange(Range range) {        System.out.println(\"Using optimal temperature range: \" + range);        optimalTempRangeRef.set(range);    }                                                                                                                                               /**     * Polls a simulated temperature sensor to periodically obtain     * temperature readings (in Fahrenheit). Use a simple filter     * to determine when the temperature is out of the optimal range.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DirectProvider();        Topology top = dp.newTopology(\"TemperatureSensor\");        // Generate a stream of temperature sensor readings        SimulatedTemperatureSensor tempSensor = new S
 imulatedTemperatureSensor();        TStream temp = top.poll(tempSensor, 1, TimeUnit.SECONDS);        // Simple filter: Perform analytics on sensor readings to detect when        // the temperature is out of the optimal range and generate warnings        TStream simpleFiltered = temp.filter(tuple ->                !optimalTempRangeRef.get().contains(tuple));        simpleFiltered.sink(tuple -> System.out.println(\"Temperature is out of range! \"                + \"It is \" + tuple + \"\\u00b0F!\"));        // See what the temperatures look like        temp.print();        // Simulate a command stream to change the optimal range.        // Such a stream might be from an IotDevice command.        String[] ranges = new String[] {            \"[70.0..120.0]\", \"[80.0..130.0]\", \"[90.0..140.0]\",        };        AtomicInteger count = new AtomicInteger(0);        TStream> setRangeCmds = top.poll(                () -> Ranges.valueOfDouble(ranges[count.incrementAndGet() % ranges.length]),
                 10, TimeUnit.SECONDS);        setRangeCmds.sink(tuple -> setOptimalTempRange(tuple));        dp.submit(top);    }}```"
+
+},
+
+
+
+
+{
+"title": "Changing a polled source stream&#39;s period",
+"tags": "",
+"keywords": "",
+"url": "../recipes/recipe_adaptable_polling_source",
+"summary": "",
+"body": "The [Writing a Source Function](recipe_source_function.html) recipe introduced the basics of creating a source stream by polling a data source periodically.Oftentimes, a user wants the poll frequency to be adaptable rather than static.  For example, an event such as a sudden rise in a temperature sensor may motivate more frequent polling of the sensor and analysis of the data until the condition subsides.  A change in the poll frequency may be driven by locally performed analytics or via a command from an external source.A Quarks ``IotProvider`` and ``IoTDevice`` with its command streams would be a natural way to control the application.  In this recipe we will just simulate a \"set poll period\" command stream.The ``Topology.poll()`` documentation describes how the poll period may be changed at runtime.The mechanism is based on a more general Quarks runtime ``quarks.execution.services.ControlService`` service.  The runtime registers \"control beans\" for entities that are 
 controllable.  These controls can be retrieved at runtime via the service.At runtime, ``Topology.poll()`` registers a ``quarks.execution.mbeans.PeriodicMXBean`` control. __Retrieving the control at runtime requires setting an alias on the poll generated stream using ``TStream.alias()``.__## Create the polled stream and set its alias```java        Topology top = ...;        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1, TimeUnit.SECONDS)                                      .alias(\"engineTemp\")                                      .tag(\"engineTemp\");```It's also a good practice to add tags to streams to improve the usability of the development mode Quarks console.## Define a \"set poll period\" method```java    static  void setPollPeriod(TStream pollStream, long period, TimeUnit unit) {        // get the topology's runtime ControlService service        ControlService cs = pollStream.topology().getRunti
 meServiceSupplier()                                    .get().getService(ControlService.class);        // using the the stream's alias, get its PeriodicMXBean control        PeriodicMXBean control = cs.getControl(\"periodic\", pollStream.getAlias(), PeriodicMXBean.class);        // change the poll period using the control        System.out.println(\"Setting period=\"+period+\" \"+unit+\" stream=\"+pollStream);        control.setPeriod(period, unit);    }```## Process the \"set poll period\" command streamOur commands are on the ``TStream cmds`` stream.  Each ``JsonObject`` tuple is a command with the properties \"period\" and \"unit\".```java        cmds.sink(json -> setPollPeriod(engineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));```## The final application```javaimport java.util.Date;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import com.goo
 gle.gson.JsonObject;import quarks.execution.mbeans.PeriodicMXBean;import quarks.execution.services.ControlService;import quarks.providers.development.DevelopmentProvider;import quarks.providers.direct.DirectProvider;import quarks.samples.utils.sensor.SimulatedTemperatureSensor;import quarks.topology.TStream;import quarks.topology.Topology;/** * A recipe for a polled source stream with an adaptable poll period. */public class AdaptablePolledSource {    /**     * Poll a temperature sensor to periodically obtain temperature readings.     * Respond to a simulated command stream to change the poll period.     */    public static void main(String[] args) throws Exception {        DirectProvider dp = new DirectProvider();        Topology top = dp.newTopology(\"TemperatureSensor\");                // Generate a polled temperature sensor stream and set its alias        SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();        TStream engineTemp = top.poll(tempSensor, 1
 , TimeUnit.SECONDS)                                      .alias(\"engineTemp\")                                      .tag(\"engineTemp\");        // Report the time each temperature reading arrives and the value        engineTemp.peek(tuple -> System.out.println(new Date() + \" temp=\" + tuple));                // Generate a simulated \"set poll period\" command stream        TStream cmds = simulatedSetPollPeriodCmds(top);                // Process the commands to change the poll period        cmds.sink(json -> setPollPeriod(engineTemp,            json.getAsJsonPrimitive(\"period\").getAsLong(),            TimeUnit.valueOf(json.getAsJsonPrimitive(\"unit\").getAsString())));        dp.submit(top);    }        static  void setPollPeriod(TStream pollStream, long period, TimeUnit unit) {        // get the topology's runtime ControlService service        ControlService cs = pollStream.topology().getRuntimeServiceSupplier()                                    .get().getService(ControlServi
 ce.class);        // using the the stream's alias, get its PeriodicMXBean control        PeriodicMXBean control = cs.getControl(\"periodic\", pollStream.getAlias(), PeriodicMXBean.class);        // change the poll period using the control        System.out.println(\"Setting period=\"+period+\" \"+unit+\" stream=\"+pollStream);        control.setPeriod(period, unit);    }        static TStream simulatedSetPollPeriodCmds(Topology top) {        AtomicInteger lastPeriod = new AtomicInteger(1);        TStream cmds = top.poll(() -> {                // toggle between 1 and 2 sec period                int newPeriod = lastPeriod.get() == 1 ? 2 : 1;                lastPeriod.set(newPeriod);                JsonObject jo = new JsonObject();                jo.addProperty(\"period\", newPeriod);                jo.addProperty(\"unit\", TimeUnit.SECONDS.toString());                return jo;            }, 5, TimeUnit.SECONDS)            .tag(\"cmds\");        return cmds;    }}```"
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index e844972..771ea82 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -596,7 +605,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/common-quarks-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-quarks-operations.html b/content/docs/common-quarks-operations.html
index a99c01d..c524581 100644
--- a/content/docs/common-quarks-operations.html
+++ b/content/docs/common-quarks-operations.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -629,7 +638,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index 4686890..b2be453 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -652,7 +661,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index eaec2f5..19de0f1 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -1059,7 +1068,7 @@ The bars that are the tallest and therefore have the highest tuple count are OP_
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index 7160592..f88fa81 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -667,7 +676,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index 74d9ad7..19f6095 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -672,7 +681,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 70a2da9..52e9a33 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -656,7 +665,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/quarks-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks-getting-started.html b/content/docs/quarks-getting-started.html
index 237f49b..9042baa 100644
--- a/content/docs/quarks-getting-started.html
+++ b/content/docs/quarks-getting-started.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -758,7 +767,7 @@ Your environment is set up! You can start writing your first Quarks application.
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/quarks_index.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks_index.html b/content/docs/quarks_index.html
index 5342e72..72e1301 100644
--- a/content/docs/quarks_index.html
+++ b/content/docs/quarks_index.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -614,7 +623,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 316d7fd..863771d 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -633,7 +642,7 @@ Here we map a stream of random numbers into JSON as the payload for a device eve
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index e0ea893..8ff4544 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -647,7 +656,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index f4f1579..35fa8a5 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -574,7 +583,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html b/content/docs/tag_collaboration.html
index 2afe0f6..1a955a8 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html b/content/docs/tag_content_types.html
index 7f65b7b..dae1777 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index c20cce5..a0af1a0 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html b/content/docs/tag_getting_started.html
index 825702a..500c8f4 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -640,6 +649,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -674,7 +685,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index a824a84..512fc32 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index f042e4f..e4e4482 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index abad49e..c716b22 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html b/content/docs/tag_single_sourcing.html
index 82ca99f..e4b8e98 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html b/content/docs/tag_special_layouts.html
index 8a842d5..e580e25 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -635,6 +644,8 @@ $('#toc').on('click', 'a', function() {
     
    
     
+   
+    
     
 </tbody>
 </table>
@@ -669,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/prince-file-list.txt
----------------------------------------------------------------------
diff --git a/content/prince-file-list.txt b/content/prince-file-list.txt
index 70b37f4..ef82467 100644
--- a/content/prince-file-list.txt
+++ b/content/prince-file-list.txt
@@ -90,7 +90,7 @@
                         
                      
                          
-                            http://quarks.incubator.apache.org/recipes/recipe_dynamic_analytic_control.html
+                            http://quarks.incubator.apache.org/recipes/recipe_adaptable_polling_source.html
                                   
                         
                      
@@ -99,6 +99,11 @@
                                   
                         
                      
+                         
+                            http://quarks.incubator.apache.org/recipes/recipe_dynamic_analytic_control.html
+                                  
+                        
+                     
               
           
               


[18/18] incubator-quarks-website git commit: Merge branch 'pr-51'

Posted by ho...@apache.org.
Merge branch 'pr-51'


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/e1bd198b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/e1bd198b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/e1bd198b

Branch: refs/heads/master
Commit: e1bd198bfd0426a24e71b588db1775039fa9fc5d
Parents: d54b927 923e23c
Author: Susan L. Cline <ho...@apache.org>
Authored: Thu Apr 28 17:37:50 2016 -0700
Committer: Susan L. Cline <ho...@apache.org>
Committed: Thu Apr 28 17:37:50 2016 -0700

----------------------------------------------------------------------
 README.md | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
----------------------------------------------------------------------



[08/18] incubator-quarks-website git commit: from 903fb59694a72206047fe080802dbcbf5e79045d

Posted by ho...@apache.org.
from 903fb59694a72206047fe080802dbcbf5e79045d


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/e6c8245f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/e6c8245f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/e6c8245f

Branch: refs/heads/master
Commit: e6c8245fbd7e7cbf8950626f2916f6fcedc68a08
Parents: e089afe
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 28 09:39:20 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 28 09:39:20 2016 -0400

----------------------------------------------------------------------
 content/404.html                                            | 2 +-
 content/docs/committers.html                                | 2 +-
 content/docs/common-quarks-operations.html                  | 2 +-
 content/docs/community.html                                 | 2 +-
 content/docs/console.html                                   | 2 +-
 content/docs/faq.html                                       | 2 +-
 content/docs/home.html                                      | 2 +-
 content/docs/overview.html                                  | 2 +-
 content/docs/quarks-getting-started.html                    | 2 +-
 content/docs/quarks_index.html                              | 2 +-
 content/docs/quickstart.html                                | 2 +-
 content/docs/samples.html                                   | 2 +-
 content/docs/search.html                                    | 2 +-
 content/docs/tag_collaboration.html                         | 2 +-
 content/docs/tag_content_types.html                         | 2 +-
 content/docs/tag_formatting.html                            | 2 +-
 content/docs/tag_getting_started.html                       | 2 +-
 content/docs/tag_mobile.html                                | 2 +-
 content/docs/tag_navigation.html                            | 2 +-
 content/docs/tag_publishing.html                            | 2 +-
 content/docs/tag_single_sourcing.html                       | 2 +-
 content/docs/tag_special_layouts.html                       | 2 +-
 content/index.html                                          | 9 ++++++---
 content/recipes/recipe_adaptable_deadtime_filter.html       | 2 +-
 content/recipes/recipe_adaptable_filter_range.html          | 2 +-
 content/recipes/recipe_adaptable_polling_source.html        | 2 +-
 .../recipe_combining_streams_processing_results.html        | 2 +-
 .../recipes/recipe_different_processing_against_stream.html | 2 +-
 content/recipes/recipe_dynamic_analytic_control.html        | 2 +-
 content/recipes/recipe_external_filter_range.html           | 2 +-
 content/recipes/recipe_hello_quarks.html                    | 2 +-
 content/recipes/recipe_source_function.html                 | 2 +-
 content/recipes/recipe_value_out_of_range.html              | 2 +-
 content/titlepage.html                                      | 4 ++--
 content/tocpage.html                                        | 2 +-
 35 files changed, 41 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index 00c04fd..a0d4018 100644
--- a/content/404.html
+++ b/content/404.html
@@ -593,7 +593,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index 771ea82..34f2779 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -605,7 +605,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/common-quarks-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-quarks-operations.html b/content/docs/common-quarks-operations.html
index c524581..b02e00c 100644
--- a/content/docs/common-quarks-operations.html
+++ b/content/docs/common-quarks-operations.html
@@ -638,7 +638,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index b2be453..fd7f818 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -661,7 +661,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index 19de0f1..c712418 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -1068,7 +1068,7 @@ The bars that are the tallest and therefore have the highest tuple count are OP_
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index f88fa81..509d086 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -676,7 +676,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index 19f6095..b328027 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -681,7 +681,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 52e9a33..2261203 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -665,7 +665,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/quarks-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks-getting-started.html b/content/docs/quarks-getting-started.html
index 9042baa..40c6367 100644
--- a/content/docs/quarks-getting-started.html
+++ b/content/docs/quarks-getting-started.html
@@ -767,7 +767,7 @@ Your environment is set up! You can start writing your first Quarks application.
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/quarks_index.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks_index.html b/content/docs/quarks_index.html
index 72e1301..dece4fd 100644
--- a/content/docs/quarks_index.html
+++ b/content/docs/quarks_index.html
@@ -623,7 +623,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 863771d..0d69c10 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -642,7 +642,7 @@ Here we map a stream of random numbers into JSON as the payload for a device eve
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index 8ff4544..d5cbf45 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -656,7 +656,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index 35fa8a5..53e8705 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -583,7 +583,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html b/content/docs/tag_collaboration.html
index 1a955a8..0ceb699 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html b/content/docs/tag_content_types.html
index dae1777..077cd48 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index a0af1a0..d1acb2d 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html b/content/docs/tag_getting_started.html
index 500c8f4..e4f0004 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -685,7 +685,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index 512fc32..6521dfc 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index e4e4482..60f0fc1 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index c716b22..71abe41 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html b/content/docs/tag_single_sourcing.html
index e4b8e98..772d36e 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html b/content/docs/tag_special_layouts.html
index e580e25..7289325 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index ced34c9..b548168 100644
--- a/content/index.html
+++ b/content/index.html
@@ -181,14 +181,17 @@
         <div class="container">
 
             <div class="row">
+            
                 <div class="col-lg-5 col-sm-6 col-sm-push-7">
                     <h2 ><a href="https://plus.google.com/events/c4v0hjbefda5vcfceffllgncv2k">Hangout: Intro to Apache Quarks</a></h2>
                     <h4 >Wednesday, April 13 10am-12pm PST</h3>
                     
-                    <div class="lead">In this <a href="https://plus.google.com/events/c4v0hjbefda5vcfceffllgncv2k">Google+ Hangout</a>, the committers will present a high-level overview of the Apache Quarks project and demonstrate how you can write, monitor and debug your Quarks application. We will also show you how you can get involved and contribute to the Quarks community.<br>Sign up at our <a href="https://plus.google.com/events/c4v0hjbefda5vcfceffllgncv2k">events page</a>, then <a href="http://www.youtube.com/watch?v=Xqns7yVNDnk">watch live</a> so you can ask the experts your questions.</div>
+                    <div class="lead">In this <a href="https://plus.google.com/events/c4v0hjbefda5vcfceffllgncv2k">Google+ Hangout</a>, the committers presented a high-level overview of the Apache Quarks project and demonstrated how you can write, monitor and debug your Quarks application. They also showed you how you can get involved and contribute to the Quarks community. </div>
                 </div>
-                <div class="col-lg-7 col-sm-pull-5 col-sm-6">  
-                    <iframe width="560" height="315" src="//www.youtube.com/embed/Xqns7yVNDnk" frameborder="0" allowfullscreen></iframe>
+                <div class="col-lg-7 col-sm-pull-5 col-sm-6">
+                    <div class="embed-responsive embed-responsive-16by9">
+                        <iframe class="embed-responsive-item" src="//www.youtube.com/embed/Xqns7yVNDnk" allowfullscreen></iframe>
+                    </div>
                 </div>
             </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_adaptable_deadtime_filter.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_deadtime_filter.html b/content/recipes/recipe_adaptable_deadtime_filter.html
index f5a0566..0ac62e1 100644
--- a/content/recipes/recipe_adaptable_deadtime_filter.html
+++ b/content/recipes/recipe_adaptable_deadtime_filter.html
@@ -728,7 +728,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_adaptable_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_filter_range.html b/content/recipes/recipe_adaptable_filter_range.html
index 35bcac7..2c64fbb 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -701,7 +701,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_adaptable_polling_source.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_polling_source.html b/content/recipes/recipe_adaptable_polling_source.html
index 23e0f41..fe93c3a 100644
--- a/content/recipes/recipe_adaptable_polling_source.html
+++ b/content/recipes/recipe_adaptable_polling_source.html
@@ -714,7 +714,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_combining_streams_processing_results.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_combining_streams_processing_results.html b/content/recipes/recipe_combining_streams_processing_results.html
index f9b49c5..061288e 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -832,7 +832,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_different_processing_against_stream.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_different_processing_against_stream.html b/content/recipes/recipe_different_processing_against_stream.html
index 1682066..ac5cf94 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -781,7 +781,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_dynamic_analytic_control.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_dynamic_analytic_control.html b/content/recipes/recipe_dynamic_analytic_control.html
index 915cd17..be12052 100644
--- a/content/recipes/recipe_dynamic_analytic_control.html
+++ b/content/recipes/recipe_dynamic_analytic_control.html
@@ -633,7 +633,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_external_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_external_filter_range.html b/content/recipes/recipe_external_filter_range.html
index a815630..0a6101b 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -697,7 +697,7 @@ and it is easy to load the properties from a file.</p>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_hello_quarks.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_quarks.html b/content/recipes/recipe_hello_quarks.html
index 952c6c6..9597757 100644
--- a/content/recipes/recipe_hello_quarks.html
+++ b/content/recipes/recipe_hello_quarks.html
@@ -649,7 +649,7 @@ Quarks!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html b/content/recipes/recipe_source_function.html
index e8af098..2056090 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -662,7 +662,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/recipes/recipe_value_out_of_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_value_out_of_range.html b/content/recipes/recipe_value_out_of_range.html
index f3c01fc..af2ffb9 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -778,7 +778,7 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index 820f774..5d8ff8b 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -563,7 +563,7 @@ $('#toc').on('click', 'a', function() {
       <div class="printTitleArea">
         <div class="printTitle"></div>
         <div class="printSubtitle"></div>
-        <div class="lastGeneratedDate">Last generated: April 26, 2016</div>
+        <div class="lastGeneratedDate">Last generated: April 28, 2016</div>
         <hr />
 
         <div class="printTitleImage">
@@ -610,7 +610,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/e6c8245f/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index d107e29..0ec2365 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -774,7 +774,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 26, 2016 <br/>
+            generated: Apr 28, 2016 <br/>
 
         </div>
     </div>


[11/18] incubator-quarks-website git commit: from 077dad22cdcb8f5e920e2f6fab1e918e6fd1ad63

Posted by ho...@apache.org.
from 077dad22cdcb8f5e920e2f6fab1e918e6fd1ad63


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/238baf12
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/238baf12
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/238baf12

Branch: refs/heads/master
Commit: 238baf1238773ac645e3b826631733681d4c2b3c
Parents: 71f9f7f
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 28 09:49:53 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 28 09:49:53 2016 -0400

----------------------------------------------------------------------
 content/algolia_search.json |  2 +-
 content/docs/faq.html       | 22 +++++++++++-----------
 2 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/238baf12/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 8ccac6f..e44e83b 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -65,7 +65,7 @@
 "keywords": "",
 "url": "../docs/faq",
 "summary": "",
-"body": "## What is Quarks?Quarks provides APIs and a lightweight runtime to analyze streaming data at the edge.## What do you mean by the edge?The edge includes devices, gateways, equipment, vehicles, systems, appliances and sensors of all kinds as part of the Internet of Things.## How is Quarks used?Quarks can be used at the edge of the Internet of Things, for example, to analyze data on devices, engines, connected cars, etc.  Quarks could be on the device itself, or a gateway device collecting data from local devices.  You can write an edge application on Quarks and connect it to a Cloud service, such as the IBM Watson IoT Platform. It can also be used for enterprise data collection and analysis; for example log collectors, application data, and data center analytics.## How are applications developed?Applications are developed using a functional flow API to define operations on data streams that are executed as a graph of \"oplets\" in a lightweight embeddable runtime.  The SDK p
 rovides capabilities like windowing, aggregation and connectors with an extensible model for the community to expand its capabilities.## What APIs does Quarks support?Currently, Quarks supports APIs for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved.  Please consider joining the Quarks open source development community to accelerate the contributions of additional APIs.## What type of analytics can be done with Quarks?Quarks provides windowing, aggregation and simple filtering. It uses Apache Common Math to provide simple analytics aimed at device sensors.  Quarks is also extensible, so you can call existing libraries from within your Quarks application.  In the future, Quarks will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.## What connectors does Quarks support?Quarks supports connectors for MQTT, HTTP, JDBC, File, Apache Kafka and IBM Wats
 on IoT Platform.  Quarks is extensible; you can add the connector of your choice.## What centralized streaming analytic systems does Quarks support?Quarks supports open source technology (such as Apache Spark, Apache Storm, Flink and samza), IBM Streams (on-premises or IBM Streaming Analytics on Bluemix), or any custom application of your choice.## Why do I need Quarks on the edge, rather than my streaming analytic system?Quarks is designed for the edge, rather than a more centralized system.  It has a small footprint, suitable for running on devices.  Quarks provides simple analytics, allowing a device to analyze data locally and to only send to the centralized system if there is a need, reducing communication costs.## Why do I need Quarks, rather than coding the complete application myself?Quarks is a tool for edge analytics that allows you to be more productive. Quarks provides a consistent data model (streams and windows) and provides useful functionality, such as aggregations, 
 joins, etc. Using Quarks lets you to take advantage of this functionality, allowing you to focus on your application needs.## Where can I download Quarks to try it out?Quarks is migrating from github quarks-edge to Apache. You can download the source from Apache and build it yourself [here](https://github.com/apache/incubator-quarks).  You can also  find already built pre-Apache releases of Quarks for download [here](https://github.com/quarks-edge/quarks/releases/latest). These releases are not associated with Apache.## How do I get started?Getting started is simple. Once you have downloaded Quarks, everything you need to know to get up and running, you will find [here](quarks-getting-started). We suggest you also run the [Quarks sample programs](samples) to familiarize yourselves with the code base.## How can I get involved? We would love to have your help! Visit [Get Involved](community) to learn more about how to get involved.## How can I contribute code?Just submit a [pull reque
 st](https://github.com/apache/incubator-quarks) and wait for a committer to review.  For more information, visit our [committer page](committers) and read [DEVELOPMENT.md] (https://github.com/apache/incubator-quarks/blob/master/DEVELOPMENT.md) at the top of the code tree.## Can I become a committer?Read about Quarks committers and how to become a committer [here](committers).## Where can I get the code?The source code is available [here](https://github.com/apache/incubator-quarks).## Can I take a copy of the code and fork it for my own use?Yes. Quarks is available under the Apache 2.0 license which allows you to fork the code.  We hope you will contribute your changes back to the Quarks community.## How do I suggest new features?Click [Issues](https://issues.apache.org/jira/browse/QUARKS) to submit requests for new features. You may browse or query the Issues database to see what other members of the Quarks community have already requested.## How do I submit bug reports?Click [Issue
 s](https://issues.apache.org/jira/browse/QUARKS) to submit a bug report.## How do I ask questions about Quarks?Use [site.data.project.user_list](mailto:{{ site.data.project.user_list }}) to submit questions to the Quarks community.## Why is Quarks open source?With the growth of the Internet of Things there is a need to execute analytics at the edge. Quarks was developed to address requirements for analytics at the edge for IoT use cases that were not addressed by central analytic solutions.  These capabilities will be useful to many organizations and that the diverse nature of edge devices and use cases is best addressed by an open community.  Our goal is to develop a vibrant community of developers and users to expand the capabilities and real-world use of Quarks by companies and individuals to enable edge analytics and further innovation for the IoT space."
+"body": "## What is Apache Quarks?Quarks provides APIs and a lightweight runtime to analyze streaming data at the edge.## What do you mean by the edge?The edge includes devices, gateways, equipment, vehicles, systems, appliances and sensors of all kinds as part of the Internet of Things.## How is Apache Quarks used?Quarks can be used at the edge of the Internet of Things, for example, to analyze data on devices, engines, connected cars, etc.  Quarks could be on the device itself, or a gateway device collecting data from local devices.  You can write an edge application on Quarks and connect it to a Cloud service, such as the IBM Watson IoT Platform. It can also be used for enterprise data collection and analysis; for example log collectors, application data, and data center analytics.## How are applications developed?Applications are developed using a functional flow API to define operations on data streams that are executed as a graph of \"oplets\" in a lightweight embeddable runti
 me.  The SDK provides capabilities like windowing, aggregation and connectors with an extensible model for the community to expand its capabilities.## What APIs does Apache Quarks support?Currently, Quarks supports APIs for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved.  Please consider joining the Quarks open source development community to accelerate the contributions of additional APIs.## What type of analytics can be done with Apache Quarks?Quarks provides windowing, aggregation and simple filtering. It uses Apache Common Math to provide simple analytics aimed at device sensors.  Quarks is also extensible, so you can call existing libraries from within your Quarks application.  In the future, Quarks will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.## What connectors does Apache Quarks support?Quarks supports connectors for MQTT, HTTP, JD
 BC, File, Apache Kafka and IBM Watson IoT Platform.  Quarks is extensible; you can add the connector of your choice.## What centralized streaming analytic systems does Apache Quarks support?Quarks supports open source technology (such as Apache Spark, Apache Storm, Flink and samza), IBM Streams (on-premises or IBM Streaming Analytics on Bluemix), or any custom application of your choice.## Why do I need Apache Quarks on the edge, rather than my streaming analytic system?Quarks is designed for the edge, rather than a more centralized system.  It has a small footprint, suitable for running on devices.  Quarks provides simple analytics, allowing a device to analyze data locally and to only send to the centralized system if there is a need, reducing communication costs.## Why do I need Apache Quarks, rather than coding the complete application myself?Quarks is a tool for edge analytics that allows you to be more productive. Quarks provides a consistent data model (streams and windows) a
 nd provides useful functionality, such as aggregations, joins, etc. Using Quarks lets you to take advantage of this functionality, allowing you to focus on your application needs.## Where can I download Apache Quarks to try it out?Quarks is migrating from github quarks-edge to Apache. You can download the source from Apache and build it yourself [here](https://github.com/apache/incubator-quarks).  You can also  find already built pre-Apache releases of Quarks for download [here](https://github.com/quarks-edge/quarks/releases/latest). These releases are not associated with Apache.## How do I get started?Getting started is simple. Once you have downloaded Quarks, everything you need to know to get up and running, you will find [here](quarks-getting-started). We suggest you also run the [Quarks sample programs](samples) to familiarize yourselves with the code base.## How can I get involved? We would love to have your help! Visit [Get Involved](community) to learn more about how to get 
 involved.## How can I contribute code?Just submit a [pull request](https://github.com/apache/incubator-quarks) and wait for a committer to review.  For more information, visit our [committer page](committers) and read [DEVELOPMENT.md] (https://github.com/apache/incubator-quarks/blob/master/DEVELOPMENT.md) at the top of the code tree.## Can I become a committer?Read about Quarks committers and how to become a committer [here](committers).## Where can I get the code?The source code is available [here](https://github.com/apache/incubator-quarks).## Can I take a copy of the code and fork it for my own use?Yes. Quarks is available under the Apache 2.0 license which allows you to fork the code.  We hope you will contribute your changes back to the Quarks community.## How do I suggest new features?Click [Issues](https://issues.apache.org/jira/browse/QUARKS) to submit requests for new features. You may browse or query the Issues database to see what other members of the Quarks community hav
 e already requested.## How do I submit bug reports?Click [Issues](https://issues.apache.org/jira/browse/QUARKS) to submit a bug report.## How do I ask questions about Apache Quarks?Use [site.data.project.user_list](mailto:{{ site.data.project.user_list }}) to submit questions to the Quarks community.## Why is Apache Quarks open source?With the growth of the Internet of Things there is a need to execute analytics at the edge. Quarks was developed to address requirements for analytics at the edge for IoT use cases that were not addressed by central analytic solutions.  These capabilities will be useful to many organizations and that the diverse nature of edge devices and use cases is best addressed by an open community.  Our goal is to develop a vibrant community of developers and users to expand the capabilities and real-world use of Quarks by companies and individuals to enable edge analytics and further innovation for the IoT space."
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/238baf12/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index 509d086..8f58571 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -560,7 +560,7 @@ $('#toc').on('click', 'a', function() {
 
     <a target="_blank" href="https://github.com/apache/incubator-quarks-website/blob/master/site/docs/faq.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
     
-  <h2 id="what-is-quarks">What is Quarks?</h2>
+  <h2 id="what-is-apache-quarks">What is Apache Quarks?</h2>
 
 <p>Quarks provides APIs and a lightweight runtime to analyze streaming data at the edge.</p>
 
@@ -568,7 +568,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>The edge includes devices, gateways, equipment, vehicles, systems, appliances and sensors of all kinds as part of the Internet of Things.</p>
 
-<h2 id="how-is-quarks-used">How is Quarks used?</h2>
+<h2 id="how-is-apache-quarks-used">How is Apache Quarks used?</h2>
 
 <p>Quarks can be used at the edge of the Internet of Things, for example, to analyze data on devices, engines, connected cars, etc.  Quarks could be on the device itself, or a gateway device collecting data from local devices.  You can write an edge application on Quarks and connect it to a Cloud service, such as the IBM Watson IoT Platform. It can also be used for enterprise data collection and analysis; for example log collectors, application data, and data center analytics.</p>
 
@@ -576,31 +576,31 @@ $('#toc').on('click', 'a', function() {
 
 <p>Applications are developed using a functional flow API to define operations on data streams that are executed as a graph of &quot;oplets&quot; in a lightweight embeddable runtime.  The SDK provides capabilities like windowing, aggregation and connectors with an extensible model for the community to expand its capabilities.</p>
 
-<h2 id="what-apis-does-quarks-support">What APIs does Quarks support?</h2>
+<h2 id="what-apis-does-apache-quarks-support">What APIs does Apache Quarks support?</h2>
 
 <p>Currently, Quarks supports APIs for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved.  Please consider joining the Quarks open source development community to accelerate the contributions of additional APIs.</p>
 
-<h2 id="what-type-of-analytics-can-be-done-with-quarks">What type of analytics can be done with Quarks?</h2>
+<h2 id="what-type-of-analytics-can-be-done-with-apache-quarks">What type of analytics can be done with Apache Quarks?</h2>
 
 <p>Quarks provides windowing, aggregation and simple filtering. It uses Apache Common Math to provide simple analytics aimed at device sensors.  Quarks is also extensible, so you can call existing libraries from within your Quarks application.  In the future, Quarks will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.</p>
 
-<h2 id="what-connectors-does-quarks-support">What connectors does Quarks support?</h2>
+<h2 id="what-connectors-does-apache-quarks-support">What connectors does Apache Quarks support?</h2>
 
 <p>Quarks supports connectors for MQTT, HTTP, JDBC, File, Apache Kafka and IBM Watson IoT Platform.  Quarks is extensible; you can add the connector of your choice.</p>
 
-<h2 id="what-centralized-streaming-analytic-systems-does-quarks-support">What centralized streaming analytic systems does Quarks support?</h2>
+<h2 id="what-centralized-streaming-analytic-systems-does-apache-quarks-support">What centralized streaming analytic systems does Apache Quarks support?</h2>
 
 <p>Quarks supports open source technology (such as Apache Spark, Apache Storm, Flink and samza), IBM Streams (on-premises or IBM Streaming Analytics on Bluemix), or any custom application of your choice.</p>
 
-<h2 id="why-do-i-need-quarks-on-the-edge-rather-than-my-streaming-analytic-system">Why do I need Quarks on the edge, rather than my streaming analytic system?</h2>
+<h2 id="why-do-i-need-apache-quarks-on-the-edge-rather-than-my-streaming-analytic-system">Why do I need Apache Quarks on the edge, rather than my streaming analytic system?</h2>
 
 <p>Quarks is designed for the edge, rather than a more centralized system.  It has a small footprint, suitable for running on devices.  Quarks provides simple analytics, allowing a device to analyze data locally and to only send to the centralized system if there is a need, reducing communication costs.</p>
 
-<h2 id="why-do-i-need-quarks-rather-than-coding-the-complete-application-myself">Why do I need Quarks, rather than coding the complete application myself?</h2>
+<h2 id="why-do-i-need-apache-quarks-rather-than-coding-the-complete-application-myself">Why do I need Apache Quarks, rather than coding the complete application myself?</h2>
 
 <p>Quarks is a tool for edge analytics that allows you to be more productive. Quarks provides a consistent data model (streams and windows) and provides useful functionality, such as aggregations, joins, etc. Using Quarks lets you to take advantage of this functionality, allowing you to focus on your application needs.</p>
 
-<h2 id="where-can-i-download-quarks-to-try-it-out">Where can I download Quarks to try it out?</h2>
+<h2 id="where-can-i-download-apache-quarks-to-try-it-out">Where can I download Apache Quarks to try it out?</h2>
 
 <p>Quarks is migrating from github quarks-edge to Apache. You can download the source from Apache and build it yourself <a href="https://github.com/apache/incubator-quarks">here</a>.  You can also  find already built pre-Apache releases of Quarks for download <a href="https://github.com/quarks-edge/quarks/releases/latest">here</a>. These releases are not associated with Apache.</p>
 
@@ -637,11 +637,11 @@ $('#toc').on('click', 'a', function() {
 
 <p>Click <a href="https://issues.apache.org/jira/browse/QUARKS">Issues</a> to submit a bug report.</p>
 
-<h2 id="how-do-i-ask-questions-about-quarks">How do I ask questions about Quarks?</h2>
+<h2 id="how-do-i-ask-questions-about-apache-quarks">How do I ask questions about Apache Quarks?</h2>
 
 <p>Use <a href="mailto:">site.data.project.user_list</a> to submit questions to the Quarks community.</p>
 
-<h2 id="why-is-quarks-open-source">Why is Quarks open source?</h2>
+<h2 id="why-is-apache-quarks-open-source">Why is Apache Quarks open source?</h2>
 
 <p>With the growth of the Internet of Things there is a need to execute analytics at the edge. Quarks was developed to address requirements for analytics at the edge for IoT use cases that were not addressed by central analytic solutions.  These capabilities will be useful to many organizations and that the diverse nature of edge devices and use cases is best addressed by an open community.  Our goal is to develop a vibrant community of developers and users to expand the capabilities and real-world use of Quarks by companies and individuals to enable edge analytics and further innovation for the IoT space.</p>
 


[14/18] incubator-quarks-website git commit: from 69e4513f78fe5fefe5f09073a04cf5d86317a5cc

Posted by ho...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html b/content/docs/tag_content_types.html
index 077cd48..decd469 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index d1acb2d..c401abe 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html b/content/docs/tag_getting_started.html
index e4f0004..7251a50 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index 6521dfc..44852b9 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index 60f0fc1..c689c40 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index 71abe41..d1ba33a 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html b/content/docs/tag_single_sourcing.html
index 772d36e..7e06313 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html b/content/docs/tag_special_layouts.html
index 7289325..4b966ce 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_adaptable_deadtime_filter.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_deadtime_filter.html b/content/recipes/recipe_adaptable_deadtime_filter.html
index 0ac62e1..71772fe 100644
--- a/content/recipes/recipe_adaptable_deadtime_filter.html
+++ b/content/recipes/recipe_adaptable_deadtime_filter.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,7 +404,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
                     
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_adaptable_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_filter_range.html b/content/recipes/recipe_adaptable_filter_range.html
index 2c64fbb..169df14 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,7 +384,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_adaptable_polling_source.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_polling_source.html b/content/recipes/recipe_adaptable_polling_source.html
index fe93c3a..0b6319d 100644
--- a/content/recipes/recipe_adaptable_polling_source.html
+++ b/content/recipes/recipe_adaptable_polling_source.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,7 +394,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_combining_streams_processing_results.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_combining_streams_processing_results.html b/content/recipes/recipe_combining_streams_processing_results.html
index 061288e..6c5b507 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,7 +364,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
                     
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_different_processing_against_stream.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_different_processing_against_stream.html b/content/recipes/recipe_different_processing_against_stream.html
index ac5cf94..f16a4f3 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,7 +354,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
                     
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/recipes/recipe_dynamic_analytic_control.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_dynamic_analytic_control.html b/content/recipes/recipe_dynamic_analytic_control.html
index be12052..9115914 100644
--- a/content/recipes/recipe_dynamic_analytic_control.html
+++ b/content/recipes/recipe_dynamic_analytic_control.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,7 +414,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
+                    
+                    <li class="active"><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 


[09/18] incubator-quarks-website git commit: from 8a4dd3ee35096d7ff5b2f11954d053d9c737e258

Posted by ho...@apache.org.
from 8a4dd3ee35096d7ff5b2f11954d053d9c737e258


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/dfd693ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/dfd693ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/dfd693ae

Branch: refs/heads/master
Commit: dfd693ae5fa76cd642895aea3d9ba441ca16c810
Parents: e6c8245
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 28 09:43:44 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 28 09:43:44 2016 -0400

----------------------------------------------------------------------
 content/algolia_search.json | 2 +-
 content/docs/overview.html  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dfd693ae/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 3d9ea6e..b49013e 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -104,7 +104,7 @@
 "keywords": "",
 "url": "../docs/overview",
 "summary": "",
-"body": "# Quarks OverviewDevices and sensors are everywhere, and more are coming online every day. You need a way to analyze all of the data coming from your devices, but it can be expensive to transmit all of the data from a sensor to your central analytics engine.Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device. When you analyze on the edge, you can:* Reduce the amount of data that you transmit to your analytics server* Reduce the amount of data that you storeA Quarks application uses analytics to determine when data needs to be sent to a back-end system for further analysis, action, or storage. For example, you can use Quarks to determine whether a system is running outside of normal parameters, such as an engine that is running too hot.If the system is running normally, you don’t need to send this data to your back-end system; it’s an added cost and an additional load on your system to process 
 and store. However, if Quarks detects an issue, you can transmit that data to your back-end system to determine why the issue is occurring and how to resolve the issue.   Quarks enables you to shift from sending a continuous flow of trivial data to the server to sending only essential and meaningful data as it occurs. This is especially important when the cost of communication is high, such as when using a cellular network to transmit data, or when bandwidth is limited.The following use cases describe the primary situations in which you would use Quarks:* *Internet of Things (IoT):* Analyze data on distributed edge devices and mobile devices to:  * Reduce the cost of transmitting data  * Provide local feedback at the devices* *Embedded in an application server instance:* Analyze application server error logs in real time without impacting network traffic* *Server rooms and machine rooms:* Analyze machine health in real time without impacting network traffic or when bandwidth is limi
 ted## Deployment environmentsThe following environments have been tested for deployment on edge devices:* Java 8, including Raspberry Pi B and Pi2 B* Java 7* Android## Edge devices and back-end systemsYou can send data from a Quarks application to your back-end system when you need to perform analysis that cannot be performed on the edge device, such as:* Running a complex analytic algorithm that requires more resources, such as CPU or memory, than are available on the edge device.* Maintaining large amounts of state information about a device, such as several hours worth of state information for a patient’smedical device.* Correlating data from the device with data from other sources, such as:  * Weather data  * Social media data  * Data of record, such as a patient’s medical history or trucking manifests  * Data from other devicesQuarks communicates with your back-end systems through the following message hubs:* MQTT – The messaging standard for IoT* IBM Watson IoT Platform 
 – A cloud-based service that provides a device model on top of MQTT* Apache Kafka – An enterprise-level message bus* Custom message hubsYour back-end systems can also use analytics to interact with and control edge devices. For example:* A traffic alert system can send an alert to vehicles that are heading towards an area where an accident occurred* A vehicle monitoring system can reduce the maximum engine revs to reduce the chance of failure before the next scheduled service if it detects patterns that indicate a potential problem"
+"body": "# Apache Quarks OverviewDevices and sensors are everywhere, and more are coming online every day. You need a way to analyze all of the data coming from your devices, but it can be expensive to transmit all of the data from a sensor to your central analytics engine.Apache Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device. When you analyze on the edge, you can:* Reduce the amount of data that you transmit to your analytics server* Reduce the amount of data that you storeA Quarks application uses analytics to determine when data needs to be sent to a back-end system for further analysis, action, or storage. For example, you can use Quarks to determine whether a system is running outside of normal parameters, such as an engine that is running too hot.If the system is running normally, you don’t need to send this data to your back-end system; it’s an added cost and an additional load on your syst
 em to process and store. However, if Quarks detects an issue, you can transmit that data to your back-end system to determine why the issue is occurring and how to resolve the issue.   Quarks enables you to shift from sending a continuous flow of trivial data to the server to sending only essential and meaningful data as it occurs. This is especially important when the cost of communication is high, such as when using a cellular network to transmit data, or when bandwidth is limited.The following use cases describe the primary situations in which you would use Quarks:* *Internet of Things (IoT):* Analyze data on distributed edge devices and mobile devices to:  * Reduce the cost of transmitting data  * Provide local feedback at the devices* *Embedded in an application server instance:* Analyze application server error logs in real time without impacting network traffic* *Server rooms and machine rooms:* Analyze machine health in real time without impacting network traffic or when ban
 dwidth is limited## Deployment environmentsThe following environments have been tested for deployment on edge devices:* Java 8, including Raspberry Pi B and Pi2 B* Java 7* Android## Edge devices and back-end systemsYou can send data from a Quarks application to your back-end system when you need to perform analysis that cannot be performed on the edge device, such as:* Running a complex analytic algorithm that requires more resources, such as CPU or memory, than are available on the edge device.* Maintaining large amounts of state information about a device, such as several hours worth of state information for a patient’smedical device.* Correlating data from the device with data from other sources, such as:  * Weather data  * Social media data  * Data of record, such as a patient’s medical history or trucking manifests  * Data from other devicesQuarks communicates with your back-end systems through the following message hubs:* MQTT – The messaging standard for IoT* IBM Watson
  IoT Platform – A cloud-based service that provides a device model on top of MQTT* Apache Kafka – An enterprise-level message bus* Custom message hubsYour back-end systems can also use analytics to interact with and control edge devices. For example:* A traffic alert system can send an alert to vehicles that are heading towards an area where an accident occurred* A vehicle monitoring system can reduce the maximum engine revs to reduce the chance of failure before the next scheduled service if it detects patterns that indicate a potential problem"
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dfd693ae/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 2261203..7bf7777 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -560,11 +560,11 @@ $('#toc').on('click', 'a', function() {
 
     <a target="_blank" href="https://github.com/apache/incubator-quarks-website/blob/master/site/docs/overview.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
     
-  <h1 id="quarks-overview">Quarks Overview</h1>
+  <h1 id="apache-quarks-overview">Apache Quarks Overview</h1>
 
 <p>Devices and sensors are everywhere, and more are coming online every day. You need a way to analyze all of the data coming from your devices, but it can be expensive to transmit all of the data from a sensor to your central analytics engine.</p>
 
-<p>Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device. When you analyze on the edge, you can:</p>
+<p>Apache Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device. When you analyze on the edge, you can:</p>
 
 <ul>
 <li><p>Reduce the amount of data that you transmit to your analytics server</p></li>


[15/18] incubator-quarks-website git commit: from 69e4513f78fe5fefe5f09073a04cf5d86317a5cc

Posted by ho...@apache.org.
from 69e4513f78fe5fefe5f09073a04cf5d86317a5cc


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/dd8a734a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/dd8a734a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/dd8a734a

Branch: refs/heads/master
Commit: dd8a734abf763c8f08d323efe74183545ce596aa
Parents: 79ec4a2
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 28 09:56:48 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 28 09:56:48 2016 -0400

----------------------------------------------------------------------
 content/404.html                                | 21 +++++++++++++++++-
 content/docs/committers.html                    | 23 ++++++++++++++++++--
 content/docs/common-quarks-operations.html      | 23 ++++++++++++++++++--
 content/docs/community.html                     | 23 ++++++++++++++++++--
 content/docs/console.html                       | 23 ++++++++++++++++++--
 content/docs/faq.html                           | 23 ++++++++++++++++++--
 content/docs/home.html                          | 21 +++++++++++++++++-
 content/docs/overview.html                      | 21 +++++++++++++++++-
 content/docs/quarks-getting-started.html        | 23 ++++++++++++++++++--
 content/docs/quarks_index.html                  | 23 ++++++++++++++++++--
 content/docs/quickstart.html                    | 23 ++++++++++++++++++--
 content/docs/samples.html                       | 23 ++++++++++++++++++--
 content/docs/search.html                        | 21 +++++++++++++++++-
 content/docs/tag_collaboration.html             | 21 +++++++++++++++++-
 content/docs/tag_content_types.html             | 21 +++++++++++++++++-
 content/docs/tag_formatting.html                | 21 +++++++++++++++++-
 content/docs/tag_getting_started.html           | 21 +++++++++++++++++-
 content/docs/tag_mobile.html                    | 21 +++++++++++++++++-
 content/docs/tag_navigation.html                | 21 +++++++++++++++++-
 content/docs/tag_publishing.html                | 21 +++++++++++++++++-
 content/docs/tag_single_sourcing.html           | 21 +++++++++++++++++-
 content/docs/tag_special_layouts.html           | 21 +++++++++++++++++-
 .../recipe_adaptable_deadtime_filter.html       | 23 ++++++++++++++++++--
 .../recipes/recipe_adaptable_filter_range.html  | 23 ++++++++++++++++++--
 .../recipe_adaptable_polling_source.html        | 23 ++++++++++++++++++--
 ...pe_combining_streams_processing_results.html | 23 ++++++++++++++++++--
 ...ipe_different_processing_against_stream.html | 23 ++++++++++++++++++--
 .../recipe_dynamic_analytic_control.html        | 23 ++++++++++++++++++--
 .../recipes/recipe_external_filter_range.html   | 23 ++++++++++++++++++--
 content/recipes/recipe_hello_quarks.html        | 23 ++++++++++++++++++--
 content/recipes/recipe_source_function.html     | 23 ++++++++++++++++++--
 content/recipes/recipe_value_out_of_range.html  | 23 ++++++++++++++++++--
 content/titlepage.html                          | 21 +++++++++++++++++-
 content/tocpage.html                            | 21 +++++++++++++++++-
 34 files changed, 699 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index a0d4018..5c53712 100644
--- a/content/404.html
+++ b/content/404.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index 34f2779..ef4f8fb 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,7 +485,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/committers.html">Committers</a></li>
+                    
+                    <li class="active"><a href="../docs/committers.html">Committers</a></li>
                     
 
                     

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/common-quarks-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-quarks-operations.html b/content/docs/common-quarks-operations.html
index b02e00c..e63e328 100644
--- a/content/docs/common-quarks-operations.html
+++ b/content/docs/common-quarks-operations.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,7 +307,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
+                    
+                    <li class="active"><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
                     
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index fd7f818..4382016 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,7 +475,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/community.html">How to participate</a></li>
+                    
+                    <li class="active"><a href="../docs/community.html">How to participate</a></li>
                     
 
                     
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index c712418..63334c7 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,7 +458,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/console.html">Using the console</a></li>
+                    
+                    <li class="active"><a href="../docs/console.html">Using the console</a></li>
                     
 
                     
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index 8f58571..c92fe62 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,7 +280,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+                    <li class="active"><a href="../docs/faq.html">FAQ</a></li>
                     
 
                     
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index b328027..7596a87 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 7bf7777..59515d6 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/quarks-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks-getting-started.html b/content/docs/quarks-getting-started.html
index feaf4ab..778ac98 100644
--- a/content/docs/quarks-getting-started.html
+++ b/content/docs/quarks-getting-started.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,7 +297,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
+                    
+                    <li class="active"><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
                     
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/quarks_index.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks_index.html b/content/docs/quarks_index.html
index dece4fd..5c299f4 100644
--- a/content/docs/quarks_index.html
+++ b/content/docs/quarks_index.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,7 +270,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/quarks_index.html">Introduction</a></li>
+                    
+                    <li class="active"><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
                     
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 554a409..b75581c 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,7 +441,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+                    <li class="active"><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index d5cbf45..e2a5b1a 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,7 +431,8 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/samples.html">Samples</a></li>
+                    
+                    <li class="active"><a href="../docs/samples.html">Samples</a></li>
                     
 
                     
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index 53e8705..c4aca4c 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/dd8a734a/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html b/content/docs/tag_collaboration.html
index 0ceb699..b1af9ae 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -218,7 +218,7 @@ window.location.href = uri;
                     caretHtml: '',
                     accordion: true,
                     openClass: 'active', // open
-                    save: false, // leave false or nav highlighting doesn't work right
+                    save: true,
                     cookie: {
                         name: 'navgoco',
                         expires: false,
@@ -270,6 +270,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks_index.html">Introduction</a></li>
                     
 
@@ -279,6 +280,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -295,6 +297,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
                     
 
@@ -304,6 +307,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
                     
 
@@ -320,6 +324,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
                     
 
@@ -329,6 +334,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
                     
 
@@ -338,6 +344,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
                     
 
@@ -347,6 +354,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
                     
 
@@ -356,6 +364,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
                     
 
@@ -365,6 +374,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
                     
 
@@ -374,6 +384,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
@@ -383,6 +394,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
@@ -392,6 +404,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
                     
 
@@ -401,6 +414,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
@@ -417,6 +431,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/samples.html">Samples</a></li>
                     
 
@@ -426,6 +441,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
@@ -442,6 +458,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/console.html">Using the console</a></li>
                     
 
@@ -458,6 +475,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/community.html">How to participate</a></li>
                     
 
@@ -467,6 +485,7 @@ window.location.href = uri;
                     
                     
                     
+                    
                     <li><a href="../docs/committers.html">Committers</a></li>
                     
 


[12/18] incubator-quarks-website git commit: from 3dd3cfd33362caec2b9d21f5283060c965bf1c95

Posted by ho...@apache.org.
from 3dd3cfd33362caec2b9d21f5283060c965bf1c95


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/79ec4a23
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/79ec4a23
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/79ec4a23

Branch: refs/heads/master
Commit: 79ec4a237a5f8bc3f2ee0bfcb2e09b6344fc519f
Parents: 238baf1
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 28 09:54:58 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 28 09:54:58 2016 -0400

----------------------------------------------------------------------
 content/algolia_search.json  |  2 +-
 content/docs/quickstart.html | 27 +++++++++++++--------------
 2 files changed, 14 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/79ec4a23/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index e44e83b..4d0a280 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -146,7 +146,7 @@
 "keywords": "",
 "url": "../docs/quickstart",
 "summary": "",
-"body": "## Quarks to Quickstart quickly!IoT devices running quarks applications typically connect to back-end analytic systems through a message hub.Message hubs are used to isolate the back-end system from having to handle connections from thousands to millions of devices.An example of such a message hub designed for the Internet of Things is[IBM Watson IoT Platform](https://internetofthings.ibmcloud.com/). This cloud service runs on IBM's Bluemix cloud platformand Quarks provides a [connector](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/connectors/iotf/IotfDevice.html).You can test out the service without any registration by using its Quickstart service and the Quarks sample application:[quarks.samples.connectors.iotf.IotfQuickstart](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/samples/connectors/iotf/IotfQuickstart.html).You can execute the class directly from Eclipse, or using the script: `quarks/java8/scripts/connectors/iotf/runiotf
 quickstart.sh`When run it produces output like this, with a URL as the third line.Pointing any browser on any machine to that URL takes you to a view of the data coming from the sample application.This view is executing in Bluemix, thus the device events from this sample are being sent over the public internetto the Quickstart Bluemix service.Here's an example view:## Quarks codeThe full source is at:[IotfQuickstart.java](https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java)The first step to is to create a `IotDevice` instance that represents the connection to IBM Watson IoT Platform Qucikstart service.```java        // Declare a connection to IoTF Quickstart service        String deviceId = \"qs\" + Long.toHexString(new Random().nextLong());        IotDevice device = IotfDevice.quickstart(topology, deviceId);```Now any stream can send device events to the Quickstart service by simply calling its `
 events()` method.Here we map a stream of random numbers into JSON as the payload for a device event is typically JSON.```java          TStream json = raw.map(v -> {            JsonObject j = new JsonObject();            j.addProperty(\"temp\", v[0]);            j.addProperty(\"humidity\", v[1]);            j.addProperty(\"objectTemp\", v[2]);            return j;        });```    Now we have a stream of simulated sensor reading events as JSON tuples (`json`) we send them as events with event identifer (type) `sensors`  using `device`.  ```java      device.events(json, \"sensors\", QoS.FIRE_AND_FORGET);```It's that simple to send a Quarks stream to IBM Watson IoT Platform as device events."
+"body": "## Quarks to Quickstart quickly!IoT devices running quarks applications typically connect to back-end analytic systems through a message hub.Message hubs are used to isolate the back-end system from having to handle connections from thousands to millions of devices.An example of such a message hub designed for the Internet of Things is[IBM Watson IoT Platform](https://internetofthings.ibmcloud.com/). This cloud service runs on IBM's Bluemix cloud platformand Quarks provides a [connector](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/connectors/iotf/IotfDevice.html).You can test out the service without any registration by using its Quickstart service and the Quarks sample application: [code](https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java), [JavaDocs](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/samples/connectors/iotf/IotfQuickstart.html).You
  can execute the class directly from Eclipse, or using the script: [`quarks/java8/scripts/connectors/iotf/runiotfquickstart.sh`](https://github.com/quarks-edge/quarks/blob/master/scripts/connectors/iotf/runiotfquickstart.sh)When run it produces output like this, with a URL as the third line.Pointing any browser on any machine to that URL takes you to a view of the data coming from the sample application.This view is executing in Bluemix, thus the device events from this sample are being sent over the public internetto the Quickstart Bluemix service.Here's an example view:## Quarks codeThe full source is at:[IotfQuickstart.java](https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java)The first step to is to create a `IotDevice` instance that represents the connection to IBM Watson IoT Platform Qucikstart service.```java// Declare a connection to IoTF Quickstart serviceString deviceId = \"qs\" + Long.to
 HexString(new Random().nextLong());IotDevice device = IotfDevice.quickstart(topology, deviceId);```Now any stream can send device events to the Quickstart service by simply calling its `events()` method.Here we map a stream of random numbers into JSON as the payload for a device event is typically JSON.```javaTStream json = raw.map(v -> {  JsonObject j = new JsonObject();  j.addProperty(\"temp\", v[0]);  j.addProperty(\"humidity\", v[1]);  j.addProperty(\"objectTemp\", v[2]);  return j;});```    Now we have a stream of simulated sensor reading events as JSON tuples (`json`) we send them as events with event identifer (type) `sensors`  using `device`.  ```javadevice.events(json, \"sensors\", QoS.FIRE_AND_FORGET);```It's that simple to send a Quarks stream to IBM Watson IoT Platform as device events."
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/79ec4a23/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 0d69c10..554a409 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -569,10 +569,9 @@ Message hubs are used to isolate the back-end system from having to handle conne
 <a href="https://internetofthings.ibmcloud.com/">IBM Watson IoT Platform</a>. This cloud service runs on IBM&#39;s Bluemix cloud platform
 and Quarks provides a <a href="http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/connectors/iotf/IotfDevice.html">connector</a>.</p>
 
-<p>You can test out the service without any registration by using its Quickstart service and the Quarks sample application:
-<a href="http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/samples/connectors/iotf/IotfQuickstart.html">quarks.samples.connectors.iotf.IotfQuickstart</a>.</p>
+<p>You can test out the service without any registration by using its Quickstart service and the Quarks sample application: <a href="https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java">code</a>, <a href="http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/samples/connectors/iotf/IotfQuickstart.html">JavaDocs</a>.</p>
 
-<p>You can execute the class directly from Eclipse, or using the script: <code>quarks/java8/scripts/connectors/iotf/runiotfquickstart.sh</code></p>
+<p>You can execute the class directly from Eclipse, or using the script: <a href="https://github.com/quarks-edge/quarks/blob/master/scripts/connectors/iotf/runiotfquickstart.sh"><code>quarks/java8/scripts/connectors/iotf/runiotfquickstart.sh</code></a></p>
 
 <p>When run it produces output like this, with a URL as the third line.</p>
 
@@ -592,22 +591,22 @@ to the Quickstart Bluemix service.</p>
 <a href="https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java">IotfQuickstart.java</a></p>
 
 <p>The first step to is to create a <code>IotDevice</code> instance that represents the connection to IBM Watson IoT Platform Qucikstart service.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="c1">// Declare a connection to IoTF Quickstart service</span>
-        <span class="n">String</span> <span class="n">deviceId</span> <span class="o">=</span> <span class="s">"qs"</span> <span class="o">+</span> <span class="n">Long</span><span class="o">.</span><span class="na">toHexString</span><span class="o">(</span><span class="k">new</span> <span class="n">Random</span><span class="o">().</span><span class="na">nextLong</span><span class="o">());</span>
-        <span class="n">IotDevice</span> <span class="n">device</span> <span class="o">=</span> <span class="n">IotfDevice</span><span class="o">.</span><span class="na">quickstart</span><span class="o">(</span><span class="n">topology</span><span class="o">,</span> <span class="n">deviceId</span><span class="o">);</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// Declare a connection to IoTF Quickstart service</span>
+<span class="n">String</span> <span class="n">deviceId</span> <span class="o">=</span> <span class="s">"qs"</span> <span class="o">+</span> <span class="n">Long</span><span class="o">.</span><span class="na">toHexString</span><span class="o">(</span><span class="k">new</span> <span class="n">Random</span><span class="o">().</span><span class="na">nextLong</span><span class="o">());</span>
+<span class="n">IotDevice</span> <span class="n">device</span> <span class="o">=</span> <span class="n">IotfDevice</span><span class="o">.</span><span class="na">quickstart</span><span class="o">(</span><span class="n">topology</span><span class="o">,</span> <span class="n">deviceId</span><span class="o">);</span>
 </code></pre></div>
 <p>Now any stream can send device events to the Quickstart service by simply calling its <code>events()</code> method.
 Here we map a stream of random numbers into JSON as the payload for a device event is typically JSON.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java">          <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">json</span> <span class="o">=</span> <span class="n">raw</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">v</span> <span class="o">-&gt;</span> <span class="o">{</span>
-            <span class="n">JsonObject</span> <span class="n">j</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
-            <span class="n">j</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"temp"</span><span class="o">,</span> <span class="n">v</span><span class="o">[</span><span class="mi">0</span><span class="o">]);</span>
-            <span class="n">j</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"humidity"</span><span class="o">,</span> <span class="n">v</span><span class="o">[</span><span class="mi">1</span><span class="o">]);</span>
-            <span class="n">j</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"objectTemp"</span><span class="o">,</span> <span class="n">v</span><span class="o">[</span><span class="mi">2</span><span class="o">]);</span>
-            <span class="k">return</span> <span class="n">j</span><span class="o">;</span>
-        <span class="o">});</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">json</span> <span class="o">=</span> <span class="n">raw</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">v</span> <span class="o">-&gt;</span> <span class="o">{</span>
+  <span class="n">JsonObject</span> <span class="n">j</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
+  <span class="n">j</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"temp"</span><span class="o">,</span> <span class="n">v</span><span class="o">[</span><span class="mi">0</span><span class="o">]);</span>
+  <span class="n">j</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"humidity"</span><span class="o">,</span> <span class="n">v</span><span class="o">[</span><span class="mi">1</span><span class="o">]);</span>
+  <span class="n">j</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"objectTemp"</span><span class="o">,</span> <span class="n">v</span><span class="o">[</span><span class="mi">2</span><span class="o">]);</span>
+  <span class="k">return</span> <span class="n">j</span><span class="o">;</span>
+<span class="o">});</span>
 </code></pre></div>
 <p>Now we have a stream of simulated sensor reading events as JSON tuples (<code>json</code>) we send them as events with event identifer (type) <code>sensors</code>  using <code>device</code>.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java">      <span class="n">device</span><span class="o">.</span><span class="na">events</span><span class="o">(</span><span class="n">json</span><span class="o">,</span> <span class="s">"sensors"</span><span class="o">,</span> <span class="n">QoS</span><span class="o">.</span><span class="na">FIRE_AND_FORGET</span><span class="o">);</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">device</span><span class="o">.</span><span class="na">events</span><span class="o">(</span><span class="n">json</span><span class="o">,</span> <span class="s">"sensors"</span><span class="o">,</span> <span class="n">QoS</span><span class="o">.</span><span class="na">FIRE_AND_FORGET</span><span class="o">);</span>
 </code></pre></div>
 <p>It&#39;s that simple to send a Quarks stream to IBM Watson IoT Platform as device events.</p>
 


[05/18] incubator-quarks-website git commit: from 394ccb7aef050f37ac497c9020ca389c4c43eac2

Posted by ho...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_adaptable_deadtime_filter.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_deadtime_filter.html b/content/recipes/recipe_adaptable_deadtime_filter.html
index 0c91443..f5a0566 100644
--- a/content/recipes/recipe_adaptable_deadtime_filter.html
+++ b/content/recipes/recipe_adaptable_deadtime_filter.html
@@ -6,7 +6,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="description" content="">
 <meta name="keywords" content=" ">
-<title>Using an Adaptable Deadtime Filter  | Apache Quarks Documentation</title>
+<title>Using an adaptable deadtime filter  | Apache Quarks Documentation</title>
 <link rel="stylesheet" type="text/css" href="../css/syntax.css">
 <link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
 <!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">-->
@@ -157,7 +157,7 @@
 <script>
 function SendLinkByMail(href) {
 var subject= "Apache Quarks Documentation feedback";
-var body = "I have some feedback about the Using an Adaptable Deadtime Filter page: ";
+var body = "I have some feedback about the Using an adaptable deadtime filter page: ";
 body += window.location.href;
 body += "";
 var uri = "mailto:?subject=";
@@ -184,7 +184,7 @@ window.location.href = uri;
                             searchInput: document.getElementById('search-input'),
                             resultsContainer: document.getElementById('results-container'),
                             dataSource: '../search.json',
-                            searchResultTemplate: '<li><a href="{url}" title="Using an Adaptable Deadtime Filter">{title}</a></li>',
+                            searchResultTemplate: '<li><a href="{url}" title="Using an adaptable deadtime filter">{title}</a></li>',
                         noResultsText: 'No results found.',
                                 limit: 10,
                                 fuzzy: true,
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -517,7 +526,7 @@ $('#toc').on('click', 'a', function() {
             <div class="col-md-9">
                 
                 <div class="post-header">
-   <h1 class="post-title-main">Using an Adaptable Deadtime Filter</h1>
+   <h1 class="post-title-main">Using an adaptable deadtime filter</h1>
 </div>
 
 <div class="post-content">
@@ -561,11 +570,11 @@ $('#toc').on('click', 'a', function() {
 
 <p>This case needs a <em>deadtime filter</em> and Quarks provides one for your use!  In contrast to a <em>deadband filter</em>, which skips tuples based on a deadband value range, a deadtime filter skips tuples based on a <em>deadtime period</em> following a tuple that is allowed to pass through.  E.g., if the deadtime period is 30 minutes, after allowing a tuple to pass, the filter skips any tuples received for the next 30 minutes.  The next tuple received after that is allowed to pass through, and a new deadtime period is begun.</p>
 
-<p>See quarks.analytics.sensors.Filters.deadtime() and quarks.analytics.sensors.Deadtime.</p>
+<p>See <code>quarks.analytics.sensors.Filters.deadtime()</code> and <code>quarks.analytics.sensors.Deadtime</code>.</p>
 
 <p>This recipe demonstrates how to use an adaptable deadtime filter.</p>
 
-<p>A Quarks IotProvider and IoTDevice with its command streams would be a natural way to control the application.  In this recipe we will just simulate a &quot;set deadtime period&quot; command stream.</p>
+<p>A Quarks <code>IotProvider</code> and <code>IoTDevice</code> with its command streams would be a natural way to control the application.  In this recipe we will just simulate a &quot;set deadtime period&quot; command stream.</p>
 
 <h2 id="create-a-polled-sensor-readings-stream">Create a polled sensor readings stream</h2>
 <div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="o">...;</span>
@@ -577,7 +586,7 @@ $('#toc').on('click', 'a', function() {
 
 <h2 id="create-a-deadtime-filtered-stream-initially-no-deadtime">Create a deadtime filtered stream - initially no deadtime</h2>
 
-<p>In this recipe we&#39;ll just filter the direct engineTemp sensor reading stream.  In practice this filtering would be performed after some analytics stages and used as the input to <code>IotDevice.event()</code> or some other connector publish operation.</p>
+<p>In this recipe we&#39;ll just filter the direct <code>engineTemp</code> sensor reading stream.  In practice this filtering would be performed after some analytics stages and used as the input to <code>IotDevice.event()</code> or some other connector publish operation.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">Deadtime</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadtime</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Deadtime</span><span class="o">&lt;&gt;();</span>
         <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">deadtimeFilteredEngineTemp</span> <span class="o">=</span> <span class="n">engineTemp</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">deadtime</span><span class="o">)</span>
                                       <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"deadtimeFilteredEngineTemp"</span><span class="o">);</span>
@@ -590,7 +599,7 @@ $('#toc').on('click', 'a', function() {
 </code></pre></div>
 <h2 id="process-the-quot-set-deadtime-period-quot-command-stream">Process the &quot;set deadtime period&quot; command stream</h2>
 
-<p>Our commands are on the &quot;TStream&lt;JsonObject&gt; cmds&quot; stream.  Each JsonObject tuple is a command with the properties &quot;period&quot; and &quot;unit&quot;.</p>
+<p>Our commands are on the <code>TStream&lt;JsonObject&gt; cmds</code> stream.  Each <code>JsonObject</code> tuple is a command with the properties &quot;period&quot; and &quot;unit&quot;.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">cmds</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">json</span> <span class="o">-&gt;</span> <span class="n">setDeadtimePeriod</span><span class="o">(</span><span class="n">deadtimeFilteredEngineTemp</span><span class="o">,</span>
             <span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"period"</span><span class="o">).</span><span class="na">getAsLong</span><span class="o">(),</span>
             <span class="n">TimeUnit</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"unit"</span><span class="o">).</span><span class="na">getAsString</span><span class="o">())));</span>
@@ -719,7 +728,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_adaptable_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_filter_range.html b/content/recipes/recipe_adaptable_filter_range.html
index 10d0741..35bcac7 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -6,7 +6,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="description" content="">
 <meta name="keywords" content=" ">
-<title>Adaptable filter behavior  | Apache Quarks Documentation</title>
+<title>Changing a filter's range  | Apache Quarks Documentation</title>
 <link rel="stylesheet" type="text/css" href="../css/syntax.css">
 <link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
 <!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">-->
@@ -157,7 +157,7 @@
 <script>
 function SendLinkByMail(href) {
 var subject= "Apache Quarks Documentation feedback";
-var body = "I have some feedback about the Adaptable filter behavior page: ";
+var body = "I have some feedback about the Changing a filter's range page: ";
 body += window.location.href;
 body += "";
 var uri = "mailto:?subject=";
@@ -184,7 +184,7 @@ window.location.href = uri;
                             searchInput: document.getElementById('search-input'),
                             resultsContainer: document.getElementById('results-container'),
                             dataSource: '../search.json',
-                            searchResultTemplate: '<li><a href="{url}" title="Adaptable filter behavior">{title}</a></li>',
+                            searchResultTemplate: '<li><a href="{url}" title="Changing a filter\s range">{title}</a></li>',
                         noResultsText: 'No results found.',
                                 limit: 10,
                                 fuzzy: true,
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -517,7 +526,7 @@ $('#toc').on('click', 'a', function() {
             <div class="col-md-9">
                 
                 <div class="post-header">
-   <h1 class="post-title-main">Adaptable filter behavior</h1>
+   <h1 class="post-title-main">Changing a filter's range</h1>
 </div>
 
 <div class="post-content">
@@ -555,7 +564,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>Oftentimes, a user wants a filter&#39;s behavior to be adaptable rather than static.  A filter&#39;s range can be made changeable via commands from some external source or just changed as a result of some other local analytics.</p>
 
-<p>A Quarks IotProvider and IoTDevice with its command streams would be a natural way to control the application.  In this recipe we will just simulate a &quot;set optimal temp range&quot; command stream.</p>
+<p>A Quarks <code>IotProvider</code> and <code>IoTDevice</code> with its command streams would be a natural way to control the application.  In this recipe we will just simulate a &quot;set optimal temp range&quot; command stream.</p>
 
 <p>The string form of a <code>Range</code> is natural, consise, and easy to use.  As such it&#39;s a convenient form to use as external range format. The range string can easily be converted back into a <code>Range</code>.</p>
 
@@ -578,7 +587,7 @@ $('#toc').on('click', 'a', function() {
 
 <h2 id="simulate-a-command-stream">Simulate a command stream</h2>
 
-<p>A <code>TStream&lt;Range&lt;Double&gt;&gt; setRangeCmds</code> stream is created and a new range specification tuple is generated every 10 seconds.  A <code>sink</code> on the stream calls <code>setOptimalTempRange()</code> to change the range and hence the filter&#39;s bahavior.</p>
+<p>A <code>TStream&lt;Range&lt;Double&gt;&gt; setRangeCmds</code> stream is created and a new range specification tuple is generated every 10 seconds.  A <code>sink()</code> on the stream calls <code>setOptimalTempRange()</code> to change the range and hence the filter&#39;s bahavior.</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// Simulate a command stream to change the optimal range.</span>
     <span class="c1">// Such a stream might be from an IotDevice command.</span>
     <span class="n">String</span><span class="o">[]</span> <span class="n">ranges</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span>
@@ -692,7 +701,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_adaptable_polling_source.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_polling_source.html b/content/recipes/recipe_adaptable_polling_source.html
new file mode 100644
index 0000000..bd0a43b
--- /dev/null
+++ b/content/recipes/recipe_adaptable_polling_source.html
@@ -0,0 +1,751 @@
+<!DOCTYPE html>
+  <head>
+
+ <meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="">
+<meta name="keywords" content=" ">
+<title>Changing a polled source stream's period  | Apache Quarks Documentation</title>
+<link rel="stylesheet" type="text/css" href="../css/syntax.css">
+<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
+<!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">-->
+<link rel="stylesheet" type="text/css" href="../css/modern-business.css">
+<link rel="stylesheet" type="text/css" href="../css/lavish-bootstrap.css">
+<link rel="stylesheet" type="text/css" href="../css/customstyles.css">
+<link rel="stylesheet" type="text/css" href="../css/theme-blue.css">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
+<script src="../js/jquery.navgoco.min.js"></script>
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js"></script>
+<script src="../js/toc.js"></script>
+<script src="../js/customscripts.js"></script>
+<link rel="shortcut icon" href="../common_images/favicon.ico" type="image/x-icon">
+<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+
+
+
+
+
+
+ 
+
+<script>
+  $(function () {
+      $('[data-toggle="tooltip"]').tooltip()
+  })
+</script>
+
+
+
+  </head>
+
+<body>
+
+   <!-- Navigation -->
+<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+    <div class="container topnavlinks">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+
+            <a class="fa fa-home fa-lg navbar-brand" href="../docs/home.html">&nbsp;<span class="projectTitle"> Apache Quarks Documentation</span></a>
+
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <!-- entries without drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+                
+
+
+
+
+
+
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">GitHub Repos<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                
+                
+                
+                
+                <li><a href="https://quarks-edge.github.io/quarks/docs/javadoc/index.html" target="_blank">Javadoc</a></li>
+                
+                
+                
+                
+
+
+                <!-- entries with drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Quarks Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-quarks/releases" target="_blank">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="samples">Samples</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Quarks Documentation feedback";
+var body = "I have some feedback about the Changing a polled source stream's period page: ";
+body += window.location.href;
+body += "";
+var uri = "mailto:?subject=";
+uri += encodeURIComponent(subject);
+uri += "&body=";
+uri += encodeURIComponent(body);
+window.location.href = uri;
+}
+</script>
+
+<li><a href="mailto:dev@quarks.incubator.apache.org" target="_blank"><i class="fa fa-envelope-o"></i> Feedback</a></li>
+
+
+                <!--uncomment this block if you want simple search instead of algolia-->
+                <li>
+                     <!--start search-->
+                    <div id="search-demo-container">
+                        <input type="text" id="search-input" placeholder="search...">
+                        <ul id="results-container"></ul>
+                    </div>
+                    <script src="../js/jekyll-search.js" type="text/javascript"></script>
+                    <script type="text/javascript">
+                        SimpleJekyllSearch.init({
+                            searchInput: document.getElementById('search-input'),
+                            resultsContainer: document.getElementById('results-container'),
+                            dataSource: '../search.json',
+                            searchResultTemplate: '<li><a href="{url}" title="Changing a polled source stream\s period">{title}</a></li>',
+                        noResultsText: 'No results found.',
+                                limit: 10,
+                                fuzzy: true,
+                        })
+                    </script>
+                     <!--end search-->
+                </li>
+
+            
+        </div>
+        <!-- /.container -->
+</nav>
+
+
+
+    <!-- Page Content -->
+    <div class="container">
+        <div class="col-lg-12">&nbsp;</div>
+
+
+<!-- Content Row -->
+<div class="row">
+    <!-- Sidebar Column -->
+    <div class="col-md-3">
+
+        <script>
+
+            $(document).ready(function() {
+                // Initialize navgoco with default options
+                $("#mysidebar").navgoco({
+                    caretHtml: '',
+                    accordion: true,
+                    openClass: 'active', // open
+                    save: false, // leave false or nav highlighting doesn't work right
+                    cookie: {
+                        name: 'navgoco',
+                        expires: false,
+                        path: '/'
+                    },
+                    slide: {
+                        duration: 400,
+                        easing: 'swing'
+                    }
+                });
+
+                $("#collapseAll").click(function(e) {
+                    e.preventDefault();
+                    $("#mysidebar").navgoco('toggle', false);
+                });
+
+                $("#expandAll").click(function(e) {
+                    e.preventDefault();
+                    $("#mysidebar").navgoco('toggle', true);
+                });
+
+            });
+
+        </script>
+
+
+        
+
+
+
+
+
+
+
+
+
+        <ul id="mysidebar" class="nav">
+
+            <span class="siteTagline">Quarks</span>
+            <span class="versionTagline">Version 0.3.0</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/quarks_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/quarks-getting-started.html">Getting started guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-quarks-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Quarks Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_quarks.html">Hello Quarks!</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_source_function.html">Writing a source function</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_value_out_of_range.html">Detecting a sensor value out of expected range</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_different_processing_against_stream.html">Applying different processing against a single stream</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_combining_streams_processing_results.html">Splitting a stream to apply different processing and combining the results into a single stream</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_external_filter_range.html">Using an external configuration file for filter ranges</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Sample Programs</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/samples.html">Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Using the Console</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/console.html">Using the console</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Involved</a>
+                <ul>
+                    
+                    
+                    
+                    <li><a href="../docs/community.html">How to participate</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/committers.html">Committers</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+                
+
+
+                <!-- if you aren't using the accordion, uncomment this block:
+
+                     <p class="external">
+                         <a href="#" id="collapseAll">Collapse All</a> | <a href="#" id="expandAll">Expand All</a>
+                     </p>
+                 -->
+				 <br/>
+			</li>
+		</ul>
+		<div class="row">
+		<div class="col-md-12">
+			
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+
+<div id="toc"></div>
+
+		</div>
+	</div>
+	</div>
+	
+    <!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
+    <script>$("li.active").parents('li').toggleClass("active");</script>
+
+
+            <!-- Content Column -->
+            <div class="col-md-9">
+                
+                <div class="post-header">
+   <h1 class="post-title-main">Changing a polled source stream's period</h1>
+</div>
+
+<div class="post-content">
+
+   
+
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+
+<div id="toc"></div>
+
+
+    
+
+    <a target="_blank" href="https://github.com/apache/incubator-quarks-website/blob/master/site/recipes/recipe_adaptable_polling_source.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>The <a href="recipe_source_function.html">Writing a Source Function</a> recipe introduced the basics of creating a source stream by polling a data source periodically.</p>
+
+<p>Oftentimes, a user wants the poll frequency to be adaptable rather than static.  For example, an event such as a sudden rise in a temperature sensor may motivate more frequent polling of the sensor and analysis of the data until the condition subsides.  A change in the poll frequency may be driven by locally performed analytics or via a command from an external source.</p>
+
+<p>A Quarks <code>IotProvider</code> and <code>IoTDevice</code> with its command streams would be a natural way to control the application.  In this recipe we will just simulate a &quot;set poll period&quot; command stream.</p>
+
+<p>The <code>Topology.poll()</code> documentation describes how the poll period may be changed at runtime.</p>
+
+<p>The mechanism is based on a more general Quarks runtime <code>quarks.execution.services.ControlService</code> service.  The runtime registers &quot;control beans&quot; for entities that are controllable.  These controls can be retrieved at runtime via the service.</p>
+
+<p>At runtime, <code>Topology.poll()</code> registers a <code>quarks.execution.mbeans.PeriodicMXBean</code> control. <strong>Retrieving the control at runtime requires setting an alias on the poll generated stream using <code>TStream.alias()</code>.</strong></p>
+
+<h2 id="create-the-polled-stream-and-set-its-alias">Create the polled stream and set its alias</h2>
+<div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="o">...;</span>
+        <span class="n">SimulatedTemperatureSensor</span> <span class="n">tempSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimulatedTemperatureSensor</span><span class="o">();</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">engineTemp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">alias</span><span class="o">(</span><span class="s">"engineTemp"</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"engineTemp"</span><span class="o">);</span>
+</code></pre></div>
+<p>It&#39;s also a good practice to add tags to streams to improve the usability of the development mode Quarks console.</p>
+
+<h2 id="define-a-quot-set-poll-period-quot-method">Define a &quot;set poll period&quot; method</h2>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">static</span> <span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kt">void</span> <span class="n">setPollPeriod</span><span class="o">(</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">pollStream</span><span class="o">,</span> <span class="kt">long</span> <span class="n">period</span><span class="o">,</span> <span class="n">TimeUnit</span> <span class="n">unit</span><span class="o">)</span> <span class="o">{</span>
+        <span class="c1">// get the topology's runtime ControlService service</span>
+        <span class="n">ControlService</span> <span class="n">cs</span> <span class="o">=</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">topology</span><span class="o">().</span><span class="na">getRuntimeServiceSupplier</span><span class="o">()</span>
+                                    <span class="o">.</span><span class="na">get</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">ControlService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+        <span class="c1">// using the the stream's alias, get its PeriodicMXBean control</span>
+        <span class="n">PeriodicMXBean</span> <span class="n">control</span> <span class="o">=</span> <span class="n">cs</span><span class="o">.</span><span class="na">getControl</span><span class="o">(</span><span class="s">"periodic"</span><span class="o">,</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">getAlias</span><span class="o">(),</span> <span class="n">PeriodicMXBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+        <span class="c1">// change the poll period using the control</span>
+        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Setting period="</span><span class="o">+</span><span class="n">period</span><span class="o">+</span><span class="s">" "</span><span class="o">+</span><span class="n">unit</span><span class="o">+</span><span class="s">" stream="</span><span class="o">+</span><span class="n">pollStream</span><span class="o">);</span>
+        <span class="n">control</span><span class="o">.</span><span class="na">setPeriod</span><span class="o">(</span><span class="n">period</span><span class="o">,</span> <span class="n">unit</span><span class="o">);</span>
+    <span class="o">}</span>
+</code></pre></div>
+<h2 id="process-the-quot-set-poll-period-quot-command-stream">Process the &quot;set poll period&quot; command stream</h2>
+
+<p>Our commands are on the <code>TStream&lt;JsonObject&gt; cmds</code> stream.  Each <code>JsonObject</code> tuple is a command with the properties &quot;period&quot; and &quot;unit&quot;.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">        <span class="n">cmds</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">json</span> <span class="o">-&gt;</span> <span class="n">setPollPeriod</span><span class="o">(</span><span class="n">engineTemp</span><span class="o">,</span>
+            <span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"period"</span><span class="o">).</span><span class="na">getAsLong</span><span class="o">(),</span>
+            <span class="n">TimeUnit</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"unit"</span><span class="o">).</span><span class="na">getAsString</span><span class="o">())));</span>
+</code></pre></div>
+<h2 id="the-final-application">The final application</h2>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">java.util.Date</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">java.util.concurrent.TimeUnit</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">java.util.concurrent.atomic.AtomicInteger</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">com.google.gson.JsonObject</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">quarks.execution.mbeans.PeriodicMXBean</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.execution.services.ControlService</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.providers.development.DevelopmentProvider</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.providers.direct.DirectProvider</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.samples.utils.sensor.SimulatedTemperatureSensor</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.topology.TStream</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">quarks.topology.Topology</span><span class="o">;</span>
+
+<span class="cm">/**
+ * A recipe for a polled source stream with an adaptable poll period.
+ */</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AdaptablePolledSource</span> <span class="o">{</span>
+
+    <span class="cm">/**
+     * Poll a temperature sensor to periodically obtain temperature readings.
+     * Respond to a simulated command stream to change the poll period.
+     */</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+
+        <span class="n">DirectProvider</span> <span class="n">dp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DirectProvider</span><span class="o">();</span>
+
+        <span class="n">Topology</span> <span class="n">top</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">(</span><span class="s">"TemperatureSensor"</span><span class="o">);</span>
+
+        <span class="c1">// Generate a polled temperature sensor stream and set its alias</span>
+        <span class="n">SimulatedTemperatureSensor</span> <span class="n">tempSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimulatedTemperatureSensor</span><span class="o">();</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">engineTemp</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">,</span> <span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">alias</span><span class="o">(</span><span class="s">"engineTemp"</span><span class="o">)</span>
+                                      <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"engineTemp"</span><span class="o">);</span>
+
+        <span class="c1">// Report the time each temperature reading arrives and the value</span>
+        <span class="n">engineTemp</span><span class="o">.</span><span class="na">peek</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="k">new</span> <span class="n">Date</span><span class="o">()</span> <span class="o">+</span> <span class="s">" temp="</span> <span class="o">+</span> <span class="n">tuple</span><span class="o">));</span>
+
+        <span class="c1">// Generate a simulated "set poll period" command stream</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">cmds</span> <span class="o">=</span> <span class="n">simulatedSetPollPeriodCmds</span><span class="o">(</span><span class="n">top</span><span class="o">);</span>
+
+        <span class="c1">// Process the commands to change the poll period</span>
+        <span class="n">cmds</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">json</span> <span class="o">-&gt;</span> <span class="n">setPollPeriod</span><span class="o">(</span><span class="n">engineTemp</span><span class="o">,</span>
+            <span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"period"</span><span class="o">).</span><span class="na">getAsLong</span><span class="o">(),</span>
+            <span class="n">TimeUnit</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">json</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">(</span><span class="s">"unit"</span><span class="o">).</span><span class="na">getAsString</span><span class="o">())));</span>
+
+        <span class="n">dp</span><span class="o">.</span><span class="na">submit</span><span class="o">(</span><span class="n">top</span><span class="o">);</span>
+    <span class="o">}</span>
+
+    <span class="kd">static</span> <span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kt">void</span> <span class="n">setPollPeriod</span><span class="o">(</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">pollStream</span><span class="o">,</span> <span class="kt">long</span> <span class="n">period</span><span class="o">,</span> <span class="n">TimeUnit</span> <span class="n">unit</span><span class="o">)</span> <span class="o">{</span>
+        <span class="c1">// get the topology's runtime ControlService service</span>
+        <span class="n">ControlService</span> <span class="n">cs</span> <span class="o">=</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">topology</span><span class="o">().</span><span class="na">getRuntimeServiceSupplier</span><span class="o">()</span>
+                                    <span class="o">.</span><span class="na">get</span><span class="o">().</span><span class="na">getService</span><span class="o">(</span><span class="n">ControlService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+        <span class="c1">// using the the stream's alias, get its PeriodicMXBean control</span>
+        <span class="n">PeriodicMXBean</span> <span class="n">control</span> <span class="o">=</span> <span class="n">cs</span><span class="o">.</span><span class="na">getControl</span><span class="o">(</span><span class="s">"periodic"</span><span class="o">,</span> <span class="n">pollStream</span><span class="o">.</span><span class="na">getAlias</span><span class="o">(),</span> <span class="n">PeriodicMXBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+        <span class="c1">// change the poll period using the control</span>
+        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Setting period="</span><span class="o">+</span><span class="n">period</span><span class="o">+</span><span class="s">" "</span><span class="o">+</span><span class="n">unit</span><span class="o">+</span><span class="s">" stream="</span><span class="o">+</span><span class="n">pollStream</span><span class="o">);</span>
+        <span class="n">control</span><span class="o">.</span><span class="na">setPeriod</span><span class="o">(</span><span class="n">period</span><span class="o">,</span> <span class="n">unit</span><span class="o">);</span>
+    <span class="o">}</span>
+
+    <span class="kd">static</span> <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">simulatedSetPollPeriodCmds</span><span class="o">(</span><span class="n">Topology</span> <span class="n">top</span><span class="o">)</span> <span class="o">{</span>
+        <span class="n">AtomicInteger</span> <span class="n">lastPeriod</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AtomicInteger</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
+        <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">cmds</span> <span class="o">=</span> <span class="n">top</span><span class="o">.</span><span class="na">poll</span><span class="o">(()</span> <span class="o">-&gt;</span> <span class="o">{</span>
+                <span class="c1">// toggle between 1 and 2 sec period</span>
+                <span class="kt">int</span> <span class="n">newPeriod</span> <span class="o">=</span> <span class="n">lastPeriod</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">==</span> <span class="mi">1</span> <span class="o">?</span> <span class="mi">2</span> <span class="o">:</span> <span class="mi">1</span><span class="o">;</span>
+                <span class="n">lastPeriod</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">newPeriod</span><span class="o">);</span>
+                <span class="n">JsonObject</span> <span class="n">jo</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
+                <span class="n">jo</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"period"</span><span class="o">,</span> <span class="n">newPeriod</span><span class="o">);</span>
+                <span class="n">jo</span><span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="s">"unit"</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span>
+                <span class="k">return</span> <span class="n">jo</span><span class="o">;</span>
+            <span class="o">},</span> <span class="mi">5</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)</span>
+            <span class="o">.</span><span class="na">tag</span><span class="o">(</span><span class="s">"cmds"</span><span class="o">);</span>
+        <span class="k">return</span> <span class="n">cmds</span><span class="o">;</span>
+    <span class="o">}</span>
+
+<span class="o">}</span>
+
+</code></pre></div>
+
+<div class="tags">
+    
+</div>
+
+<!-- 
+
+    <div id="disqus_thread"></div>
+    <script type="text/javascript">
+        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+        var disqus_shortname = 'idrbwjekyll'; // required: replace example with your forum shortname
+
+        /* * * DON'T EDIT BELOW THIS LINE * * */
+        (function() {
+            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+        })();
+    </script>
+    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+ -->
+
+</div>
+
+
+
+<footer>
+    <div class="row">
+        <div class="col-lg-12 footer">
+
+             Site last
+            generated: Apr 26, 2016 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Quarks is an effort undergoing Incubation at The Apache Software
+                Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects
+                until a further review indicates that the infrastructure, communications, and decision making process
+                have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+                not necessarily a reflection of the completeness or stability of the code, it does indicate that the
+                project has yet to be fully endorsed by the ASF.</p>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Copyright © 2016 The Apache Software Foundation. Licensed under the Apache
+                License, Version 2.0.
+                Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+                Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
+                respective owners.</p>
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_combining_streams_processing_results.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_combining_streams_processing_results.html b/content/recipes/recipe_combining_streams_processing_results.html
index 48ef02e..f9b49c5 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -823,7 +832,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_different_processing_against_stream.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_different_processing_against_stream.html b/content/recipes/recipe_different_processing_against_stream.html
index 0cc25d6..1682066 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -772,7 +781,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_dynamic_analytic_control.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_dynamic_analytic_control.html b/content/recipes/recipe_dynamic_analytic_control.html
index 136420c..915cd17 100644
--- a/content/recipes/recipe_dynamic_analytic_control.html
+++ b/content/recipes/recipe_dynamic_analytic_control.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -624,7 +633,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_external_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_external_filter_range.html b/content/recipes/recipe_external_filter_range.html
index be7dab8..a815630 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -688,7 +697,7 @@ and it is easy to load the properties from a file.</p>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_hello_quarks.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_quarks.html b/content/recipes/recipe_hello_quarks.html
index 77362d4..952c6c6 100644
--- a/content/recipes/recipe_hello_quarks.html
+++ b/content/recipes/recipe_hello_quarks.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -640,7 +649,7 @@ Quarks!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html b/content/recipes/recipe_source_function.html
index edae7c7..e8af098 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -653,7 +662,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/recipes/recipe_value_out_of_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_value_out_of_range.html b/content/recipes/recipe_value_out_of_range.html
index 41ab8ae..f3c01fc 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -769,7 +778,7 @@ Though not covered in this recipe, Ranges offer additional conveniences for crea
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/search.json
----------------------------------------------------------------------
diff --git a/content/search.json b/content/search.json
index e437bb4..1b55854 100644
--- a/content/search.json
+++ b/content/search.json
@@ -132,7 +132,7 @@
 
 
 {
-"title": "Using an Adaptable Deadtime Filter",
+"title": "Using an adaptable deadtime filter",
 "tags": "",
 "keywords": "",
 "url": "../recipes/recipe_adaptable_deadtime_filter",
@@ -143,7 +143,7 @@
 
 
 {
-"title": "Adaptable filter behavior",
+"title": "Changing a filter&#39;s range",
 "tags": "",
 "keywords": "",
 "url": "../recipes/recipe_adaptable_filter_range",
@@ -154,6 +154,17 @@
 
 
 {
+"title": "Changing a polled source stream&#39;s period",
+"tags": "",
+"keywords": "",
+"url": "../recipes/recipe_adaptable_polling_source",
+"summary": ""
+},
+
+
+
+
+{
 "title": "Splitting a stream to apply different processing and combining the results into a single stream",
 "tags": "",
 "keywords": "",

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/title-checker.html
----------------------------------------------------------------------
diff --git a/content/title-checker.html b/content/title-checker.html
index c1daaec..a01a9c0 100644
--- a/content/title-checker.html
+++ b/content/title-checker.html
@@ -1915,5 +1915,136 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 </body>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index b59e65e..820f774 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -554,7 +563,7 @@ $('#toc').on('click', 'a', function() {
       <div class="printTitleArea">
         <div class="printTitle"></div>
         <div class="printSubtitle"></div>
-        <div class="lastGeneratedDate">Last generated: April 21, 2016</div>
+        <div class="lastGeneratedDate">Last generated: April 26, 2016</div>
         <hr />
 
         <div class="printTitleImage">
@@ -601,7 +610,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index c1de8f2..d107e29 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -374,7 +374,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a></li>
+                    <li><a href="../recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a></li>
                     
 
                     
@@ -383,7 +383,7 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a></li>
+                    <li><a href="../recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a></li>
                     
 
                     
@@ -392,7 +392,16 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a></li>
+                    <li><a href="../recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a></li>
                     
 
                     
@@ -650,19 +659,25 @@ $('#toc').on('click', 'a', function() {
         
         
                 
-                <li><a href="/recipes/recipe_adaptable_filter_range.html">Adaptable filter behavior</a>
+                <li><a href="/recipes/recipe_adaptable_filter_range.html">Changing a filter's range</a>
+                    
+        </li>
+        
+        
+                
+                <li><a href="/recipes/recipe_adaptable_polling_source.html">Changing a polled source stream's period</a>
                     
         </li>
         
         
                 
-                <li><a href="/recipes/recipe_dynamic_analytic_control.html">Dynamically Enabling Analytic Flows</a>
+                <li><a href="/recipes/recipe_adaptable_deadtime_filter.html">Using an adaptable deadtime filter</a>
                     
         </li>
         
         
                 
-                <li><a href="/recipes/recipe_adaptable_deadtime_filter.html">Using an Adaptable Deadtime Filter</a>
+                <li><a href="/recipes/recipe_dynamic_analytic_control.html">Dynamically enabling analytic flows</a>
                     
         </li>
         
@@ -759,7 +774,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 21, 2016 <br/>
+            generated: Apr 26, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/f6f2443d/content/urls_mydoc.txt
----------------------------------------------------------------------
diff --git a/content/urls_mydoc.txt b/content/urls_mydoc.txt
index d0f4e8c..0442cff 100644
--- a/content/urls_mydoc.txt
+++ b/content/urls_mydoc.txt
@@ -93,23 +93,30 @@
 
  
 /recipes/recipe_adaptable_filter_range:
-  title: "Adaptable filter behavior"
+  title: "Changing a filter's range"
   url: "../recipes/recipe_adaptable_filter_range.html"
-  link: "<a href='../recipes/recipe_adaptable_filter_range.html'>Adaptable filter behavior</a>"
+  link: "<a href='../recipes/recipe_adaptable_filter_range.html'>Changing a filter's range</a>"
 
 
  
-/recipes/recipe_dynamic_analytic_control:
-  title: "Dynamically Enabling Analytic Flows"
-  url: "../recipes/recipe_dynamic_analytic_control.html"
-  link: "<a href='../recipes/recipe_dynamic_analytic_control.html'>Dynamically Enabling Analytic Flows</a>"
+/recipes/recipe_adaptable_polling_source:
+  title: "Changing a polled source stream's period"
+  url: "../recipes/recipe_adaptable_polling_source.html"
+  link: "<a href='../recipes/recipe_adaptable_polling_source.html'>Changing a polled source stream's period</a>"
 
 
  
 /recipes/recipe_adaptable_deadtime_filter:
-  title: "Using an Adaptable Deadtime Filter"
+  title: "Using an adaptable deadtime filter"
   url: "../recipes/recipe_adaptable_deadtime_filter.html"
-  link: "<a href='../recipes/recipe_adaptable_deadtime_filter.html'>Using an Adaptable Deadtime Filter</a>"
+  link: "<a href='../recipes/recipe_adaptable_deadtime_filter.html'>Using an adaptable deadtime filter</a>"
+
+
+ 
+/recipes/recipe_dynamic_analytic_control:
+  title: "Dynamically enabling analytic flows"
+  url: "../recipes/recipe_dynamic_analytic_control.html"
+  link: "<a href='../recipes/recipe_dynamic_analytic_control.html'>Dynamically enabling analytic flows</a>"
 
 
 


[02/18] incubator-quarks-website git commit: from 70f00190a01978781701913a2ee705293c1ba2ba

Posted by ho...@apache.org.
from 70f00190a01978781701913a2ee705293c1ba2ba


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/11237088
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/11237088
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/11237088

Branch: refs/heads/master
Commit: 11237088aa5d3abd141951ff99d8ce3a19a98732
Parents: e49d0e3
Author: Susan L. Cline <ho...@apache.org>
Authored: Fri Apr 15 10:02:39 2016 -0700
Committer: Susan L. Cline <ho...@apache.org>
Committed: Fri Apr 15 10:02:39 2016 -0700

----------------------------------------------------------------------
 content/404.html                                |   2 +-
 content/algolia_search.json                     |   4 +-
 content/docs/committers.html                    |   2 +-
 content/docs/common-quarks-operations.html      |   2 +-
 content/docs/community.html                     |   2 +-
 content/docs/console.html                       |   2 +-
 content/docs/faq.html                           |   2 +-
 content/docs/home.html                          |   2 +-
 content/docs/overview.html                      |   2 +-
 content/docs/quarks-getting-started.html        |   2 +-
 content/docs/quarks_index.html                  |   2 +-
 content/docs/quickstart.html                    |   2 +-
 content/docs/samples.html                       |   2 +-
 content/docs/search.html                        |   2 +-
 content/docs/tag_collaboration.html             |   2 +-
 content/docs/tag_content_types.html             |   2 +-
 content/docs/tag_formatting.html                |   2 +-
 content/docs/tag_getting_started.html           |   2 +-
 content/docs/tag_mobile.html                    |   2 +-
 content/docs/tag_navigation.html                |   2 +-
 content/docs/tag_publishing.html                |   2 +-
 content/docs/tag_single_sourcing.html           |   2 +-
 content/docs/tag_special_layouts.html           |   2 +-
 .../recipes/recipe_adaptable_filter_range.html  |   2 +-
 ...pe_combining_streams_processing_results.html |   2 +-
 ...ipe_different_processing_against_stream.html | 142 +++++++++----------
 .../recipes/recipe_external_filter_range.html   |   2 +-
 content/recipes/recipe_hello_quarks.html        |   2 +-
 content/recipes/recipe_source_function.html     |   2 +-
 content/recipes/recipe_value_out_of_range.html  |  84 ++++-------
 content/titlepage.html                          |   4 +-
 content/tocpage.html                            |   2 +-
 32 files changed, 127 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index 050f5f6..c0a9cae 100644
--- a/content/404.html
+++ b/content/404.html
@@ -566,7 +566,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index f69973e..6cbc069 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -185,7 +185,7 @@
 "keywords": "",
 "url": "../recipes/recipe_different_processing_against_stream",
 "summary": "",
-"body": "In the previous [recipe](recipe_value_out_of_range), we learned how to filter a stream to obtain the interesting sensor readings and ignore the mundane data. Typically, a user scenario is more involved, where data is processed using different stream operations. Consider the following scenario, for example.Suppose a package delivery company would like to monitor the gas mileage of their delivery trucks using embedded sensors. They would like to apply different analytics to the sensor data that can be used to make more informed business decisions. For instance, if a truck is reporting consistently poor mileage readings, the company might want to consider replacing that truck to save on gas costs. Perhaps the company also wants to convert the sensor readings to JSON format in order to easily display the data on a web page. It may also be interested in determining the expected gallons of gas used based on the current mileage.In this instance, we can take the stream of mileage s
 ensor readings and apply multiple types of processing against it so that we end up with streams that serve different purposes.## Setting up the applicationWe assume that the environment has been set up following the steps outlined in the [Getting started guide](../docs/quarks-getting-started). Let's begin by creating a `DirectProvider` and `Topology`. We choose a `DevelopmentProvider` so that we can view the topology graph using the console URL (refer to the [Application console](../docs/console) page for a more detailed explanation of this provider). The initial mileage value and the number of miles in a typical delivery route have also been defined.```java    import java.text.DecimalFormat;    import java.util.Random;    import java.util.concurrent.TimeUnit;    import com.google.gson.JsonObject;    import quarks.console.server.HttpServer;    import quarks.providers.development.DevelopmentProvider;    import quarks.providers.direct.DirectProvider;    import quarks.topology.TStream;
     import quarks.topology.Topology;    public class ApplyDifferentProcessingAgainstStream {        /**         * Hypothetical values for the initial gas mileage and the         * number of miles in a typical delivery route         */        static double currentMileage = 10.5;        static double ROUTE_MILES = 80;        public static void main(String[] args) throws Exception {            DirectProvider dp = new DevelopmentProvider();            System.out.println(dp.getServices().getService(HttpServer.class).getConsoleUrl());            Topology top = dp.newTopology(\"TruckSensor\");            // The rest of the code pieces belong here        }    }```## Generating mileage sensor readingsThe next step is to simulate a stream of gas mileage readings. In our `main()`, we use the `poll()` method to generate a flow of tuples (readings), where each tuple arrives every second. We ensure that the generated reading is between 7.0 mpg and 14.0 mpg.```java    // Generate a stream of milea
 ge sensor readings    DecimalFormat df = new DecimalFormat(\"#.#\");    Random r = new Random();    TStream mileage = top.poll(() -> {        // Change current mileage by some random amount between -0.4 and 0.4        while (true) {            double newMileage = -0.4 + (0.4 + 0.4) * r.nextDouble() + currentMileage;            // Ensure that new temperature is within [7.0, 14.0]            if (newMileage >= 7.0 && newMileage  poorMileage = mileage            .filter(mpg -> mpg  json = mileage            .map(mpg -> {                JsonObject jObj = new JsonObject();                jObj.addProperty(\"mileage\", mpg);                return jObj;            }).tag(\"mapped\");```In addition, we can calculate the estimated gallons of gas used based on the current mileage using `modify`.```java    // Modify mileage stream to obtain a stream containing the estimated gallons of gas used    TStream gallonsUsed = mileage            .modify(mpg -> Double.valueOf(df.format(ROUTE_MILES / mpg))
 ).tag(\"modified\");```The three examples demonstrated here are a small subset of the many other possibilities of stream processing.With each of these resulting streams, the company can perform further analytics, but at this point, we terminate the streams by printing out the tuples on each stream.```java    // Terminate the streams    poorMileage.sink(mpg -> System.out.println(\"Poor mileage! \" + mpg + \" mpg\"));    json.sink(mpg -> System.out.println(\"JSON: \" + mpg));    gallonsUsed.sink(gas -> System.out.println(\"Gallons of gas: \" + gas + \"\\n\"));```We end our application by submitting the `Topology`.## Observing the outputWhen the final application is run, the output looks something like the following:```    JSON: {\"mileage\":9.5}    Gallons of gas: 8.4    JSON: {\"mileage\":9.2}    Gallons of gas: 8.7    Poor mileage! 9.0 mpg    JSON: {\"mileage\":9.0}    Gallons of gas: 8.9    Poor mileage! 8.8 mpg    JSON: {\"mileage\":8.8}    Gallons of gas: 9.1```## A look at the t
 opology graphLet's see what the topology graph looks like. We can view it using the console URL that was printed to standard output at the start of the application. We see that original stream is fanned out to three separate streams, and the `filter`, `map`, and `modify` operations are applied.## The final application```java    import java.text.DecimalFormat;    import java.util.Random;    import java.util.concurrent.TimeUnit;    import com.google.gson.JsonObject;    import quarks.console.server.HttpServer;    import quarks.providers.development.DevelopmentProvider;    import quarks.providers.direct.DirectProvider;    import quarks.topology.TStream;    import quarks.topology.Topology;    /**     * Fan out stream and perform different analytics on the resulting streams.     */    public class ApplyDifferentProcessingAgainstStream {        /**         * Hypothetical values for the initial gas mileage and the         * number of miles in a typical delivery route         */        stati
 c double currentMileage = 10.5;        static double ROUTE_MILES = 80;        /**         * Polls a simulated delivery truck sensor to periodically obtain         * mileage readings (in miles/gallon). Feed the stream of sensor         * readings to different functions (filter, map, and modify).         */        public static void main(String[] args) throws Exception {            DirectProvider dp = new DevelopmentProvider();            System.out.println(dp.getServices().getService(HttpServer.class).getConsoleUrl());            Topology top = dp.newTopology(\"TruckSensor\");            // Generate a stream of mileage sensor readings            DecimalFormat df = new DecimalFormat(\"#.#\");            Random r = new Random();            TStream mileage = top.poll(() -> {                // Change current mileage by some random amount between -0.4 and 0.4                while (true) {                    double newMileage = -0.4 + (0.4 + 0.4) * r.nextDouble() + currentMileage;         
            // Ensure that new temperature is within [7.0, 14.0]                    if (newMileage >= 7.0 && newMileage  poorMileage = mileage                    .filter(mpg -> mpg  json = mileage                    .map(mpg -> {                        JsonObject jObj = new JsonObject();                        jObj.addProperty(\"mileage\", mpg);                        return jObj;                    }).tag(\"mapped\");            // Modify mileage stream to obtain a stream containing the estimated gallons of gas used            TStream gallonsUsed = mileage                    .modify(mpg -> Double.valueOf(df.format(ROUTE_MILES / mpg))).tag(\"modified\");            // Terminate the streams            poorMileage.sink(mpg -> System.out.println(\"Poor mileage! \" + mpg + \" mpg\"));            json.sink(mpg -> System.out.println(\"JSON: \" + mpg));            gallonsUsed.sink(gas -> System.out.println(\"Gallons of gas: \" + gas + \"\\n\"));            dp.submit(top);        }    }```"
+"body": "In the previous [recipe](recipe_value_out_of_range), we learned how to filter a stream to obtain the interesting sensor readings and ignore the mundane data. Typically, a user scenario is more involved, where data is processed using different stream operations. Consider the following scenario, for example.Suppose a package delivery company would like to monitor the gas mileage of their delivery trucks using embedded sensors. They would like to apply different analytics to the sensor data that can be used to make more informed business decisions. For instance, if a truck is reporting consistently poor gas mileage readings, the company might want to consider replacing that truck to save on gas costs. Perhaps the company also wants to convert the sensor readings to JSON format in order to easily display the data on a web page. It may also be interested in determining the expected gallons of gas used based on the current gas mileage.In this instance, we can take the stream of g
 as mileage sensor readings and apply multiple types of processing against it so that we end up with streams that serve different purposes.## Setting up the applicationWe assume that the environment has been set up following the steps outlined in the [Getting started guide](../docs/quarks-getting-started). Let's begin by creating a `DirectProvider` and `Topology`. We choose a `DevelopmentProvider` so that we can view the topology graph using the console URL (refer to the [Application console](../docs/console) page for a more detailed explanation of this provider). The gas mileage bounds, initial gas mileage value, and the number of miles in a typical delivery route have also been defined.```java    import java.text.DecimalFormat;    import java.util.concurrent.TimeUnit;    import com.google.gson.JsonObject;    import quarks.analytics.sensors.Ranges;    import quarks.console.server.HttpServer;    import quarks.providers.development.DevelopmentProvider;    import quarks.providers.direc
 t.DirectProvider;    import quarks.samples.utils.sensor.SimpleSimulatedSensor;    import quarks.topology.TStream;    import quarks.topology.Topology;    public class ApplyDifferentProcessingAgainstStream {        /**         * Gas mileage (in miles per gallon, or mpg) value bounds         */        static double MPG_LOW = 7.0;        static double MPG_HIGH = 14.0;        /**         * Initial gas mileage sensor value         */        static double INITIAL_MPG = 10.5;        /**         * Hypothetical value for the number of miles in a typical delivery route         */        static double ROUTE_MILES = 80;        public static void main(String[] args) throws Exception {            DirectProvider dp = new DevelopmentProvider();            System.out.println(dp.getServices().getService(HttpServer.class).getConsoleUrl());            Topology top = dp.newTopology(\"GasMileageSensor\");            // The rest of the code pieces belong here        }    }```## Generating gas mileage senso
 r readingsThe next step is to simulate a stream of gas mileage readings using [`SimpleSimulatedSensor`](https://github.com/apache/incubator-quarks/blob/master/samples/utils/src/main/java/quarks/samples/utils/sensor/SimpleSimulatedSensor.java). We set the initial gas mileage and delta factor in the first two arguments. The last argument ensures that the sensor reading falls in an acceptable range (between 7.0 mpg and 14.0 mpg). In our `main()`, we use the `poll()` method to generate a flow of tuples (readings), where each tuple arrives every second.```java    // Generate a stream of gas mileage sensor readings    SimpleSimulatedSensor mpgSensor = new SimpleSimulatedSensor(INITIAL_MPG,            0.4, Ranges.closed(MPG_LOW, MPG_HIGH));    TStream mpgReadings = top.poll(mpgSensor, 1, TimeUnit.SECONDS);```## Applying different processing to the streamThe company can now perform analytics on the `mpgReadings` stream and feed it to different functions.First, we can filter out gas mileage 
 values that are considered poor and tag the resulting stream for easier viewing in the console.```java    // Filter out the poor gas mileage readings    TStream poorMpg = mpgReadings            .filter(mpg -> mpg  json = mpgReadings            .map(mpg -> {                JsonObject jObj = new JsonObject();                jObj.addProperty(\"gasMileage\", mpg);                return jObj;            }).tag(\"mapped\");```In addition, we can calculate the estimated gallons of gas used based on the current gas mileage using `modify`.```java    // Modify gas mileage stream to obtain a stream containing the estimated gallons of gas used    DecimalFormat df = new DecimalFormat(\"#.#\");    TStream gallonsUsed = mpgReadings            .modify(mpg -> Double.valueOf(df.format(ROUTE_MILES / mpg))).tag(\"modified\");```The three examples demonstrated here are a small subset of the many other possibilities of stream processing.With each of these resulting streams, the company can perform furthe
 r analytics, but at this point, we terminate the streams by printing out the tuples on each stream.```java    // Terminate the streams    poorMpg.sink(mpg -> System.out.println(\"Poor gas mileage! \" + mpg + \" mpg\"));    json.sink(mpg -> System.out.println(\"JSON: \" + mpg));    gallonsUsed.sink(gas -> System.out.println(\"Gallons of gas: \" + gas + \"\\n\"));```We end our application by submitting the `Topology`.## Observing the outputWhen the final application is run, the output looks something like the following:```    JSON: {\"gasMileage\":9.5}    Gallons of gas: 8.4    JSON: {\"gasMileage\":9.2}    Gallons of gas: 8.7    Poor gas mileage! 9.0 mpg    JSON: {\"gasMileage\":9.0}    Gallons of gas: 8.9    Poor gas mileage! 8.8 mpg    JSON: {\"gasMileage\":8.8}    Gallons of gas: 9.1```## A look at the topology graphLet's see what the topology graph looks like. We can view it using the console URL that was printed to standard output at the start of the application. We see that ori
 ginal stream is fanned out to three separate streams, and the `filter`, `map`, and `modify` operations are applied.## The final application```java    import java.text.DecimalFormat;    import java.util.concurrent.TimeUnit;    import com.google.gson.JsonObject;    import quarks.analytics.sensors.Ranges;    import quarks.console.server.HttpServer;    import quarks.providers.development.DevelopmentProvider;    import quarks.providers.direct.DirectProvider;    import quarks.samples.utils.sensor.SimpleSimulatedSensor;    import quarks.topology.TStream;    import quarks.topology.Topology;     /**     * Fan out stream and perform different analytics on the resulting streams.     */    public class ApplyDifferentProcessingAgainstStream {        /**         * Gas mileage (in miles per gallon, or mpg) value bounds         */        static double MPG_LOW = 7.0;        static double MPG_HIGH = 14.0;        /**         * Initial gas mileage sensor value         */        static double INITIAL_MP
 G = 10.5;        /**         * Hypothetical value for the number of miles in a typical delivery route         */        static double ROUTE_MILES = 80;        /**         * Polls a simulated delivery truck sensor to periodically obtain         * gas mileage readings (in miles/gallon). Feed the stream of sensor         * readings to different functions (filter, map, and modify).         */        public static void main(String[] args) throws Exception {            DirectProvider dp = new DevelopmentProvider();            System.out.println(dp.getServices().getService(HttpServer.class).getConsoleUrl());            Topology top = dp.newTopology(\"GasMileageSensor\");            // Generate a stream of gas mileage sensor readings            SimpleSimulatedSensor mpgSensor = new SimpleSimulatedSensor(INITIAL_MPG,                    0.4, Ranges.closed(MPG_LOW, MPG_HIGH));            TStream mpgReadings = top.poll(mpgSensor, 1, TimeUnit.SECONDS);            // Filter out the poor gas milea
 ge readings            TStream poorMpg = mpgReadings                    .filter(mpg -> mpg  json = mpgReadings                    .map(mpg -> {                        JsonObject jObj = new JsonObject();                        jObj.addProperty(\"gasMileage\", mpg);                        return jObj;                    }).tag(\"mapped\");            // Modify gas mileage stream to obtain a stream containing the estimated gallons of gas used            DecimalFormat df = new DecimalFormat(\"#.#\");            TStream gallonsUsed = mpgReadings                    .modify(mpg -> Double.valueOf(df.format(ROUTE_MILES / mpg))).tag(\"modified\");            // Terminate the streams            poorMpg.sink(mpg -> System.out.println(\"Poor gas mileage! \" + mpg + \" mpg\"));            json.sink(mpg -> System.out.println(\"JSON: \" + mpg));            gallonsUsed.sink(gas -> System.out.println(\"Gallons of gas: \" + gas + \"\\n\"));            dp.submit(top);        }    }```"
 
 },
 
@@ -237,7 +237,7 @@
 "keywords": "",
 "url": "../recipes/recipe_value_out_of_range",
 "summary": "",
-"body": "Oftentimes, a user expects a sensor value to fall within a particular range. If a reading is outside the accepted limits, the user may want to determine what caused the anomaly and/or take action to reduce the impact. For instance, consider the following scenario.Suppose a corn grower in the Midwestern United States would like to monitor the average temperature in his corn field using a sensor to improve his crop yield. The optimal temperatures for corn growth during daylight hours range between 77°F and 91°F. When the grower is alerted of a temperature value that is not in the optimal range, he may want to assess what can be done to mitigate the effect.In this instance, we can use a filter to detect out-of-range temperature values.## Setting up the applicationWe assume that the environment has been set up following the steps outlined in the [Getting started guide](../docs/quarks-getting-started). Let's begin by creating a `DirectProvider` and `Topology`. We also define t
 he optimal temperature range and the initial temperature.```java    import static quarks.function.Functions.identity;    import java.text.DecimalFormat;    import java.util.Random;    import java.util.concurrent.TimeUnit;    import quarks.analytics.sensors.Filters;    import quarks.providers.direct.DirectProvider;    import quarks.topology.TStream;    import quarks.topology.Topology;    public class DetectValueOutOfRange {        /**         * Optimal temperatures (in Fahrenheit)         */        static double TEMP_LOW = 77.0;        static double TEMP_HIGH = 91.0;        static double currentTemp = 80.0;        public static void main(String[] args) throws Exception {            DirectProvider dp = new DirectProvider();            Topology top = dp.newTopology(\"TemperatureSensor\");            // The rest of the code pieces belong here        }    }```## Generating temperature sensor readingsThe next step is to simulate a stream of temperature readings. In our `main()`, we use th
 e `poll()` method to generate a flow of tuples, where a new tuple (temperature reading) arrives every second. We ensure that the generated reading is between 28°F and 112°F.```java    // Generate a stream of temperature sensor readings    DecimalFormat df = new DecimalFormat(\"#.#\");    Random r = new Random();    TStream temp = top.poll(() -> {        // Change current temp by some random amount between -1 and 1        while (true) {            double newTemp = -1 + (1 + 1) * r.nextDouble() + currentTemp;            // Ensure that new temperature is within [28, 112]            if (newTemp >= 28 && newTemp  simpleFiltered = temp.filter(tuple ->            tuple  TEMP_HIGH);    simpleFiltered.sink(tuple -> System.out.println(\"Temperature is out of range! \"            + \"It is \" + tuple + \"\\u00b0F!\"));```## Deadband filterAlternatively, a deadband filter can be used to glean more information about temperature changes, such as extracting the in-range temperature immediately a
 fter a reported out-of-range temperature. For example, large temperature fluctuations could be investigated more thoroughly. The `deadband` filter is a part of the `quarks.analytics` package focused on handling sensor data. Let's look more closely at the method declaration below.```java    deadband(TStream stream, Function value, Predicate inBand)```The first parameter is the stream to the filtered, which is `temp` in our scenario. The second parameter is the value to examine. Here, we use the `identity()` method to return a tuple on the stream. The last parameter is the predicate that defines the optimal range, that is, between 77°F and 91°F. it is important to note that this differs from the `TStream` version of `filter` in which one must explicitly specify the values that are out of range. The code snippet below demonstrates how the method call is pieced together. The `deadbandFiltered` stream contains temperature readings that follow the rules as described in the [Javadoc](htt
 p://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Filters.html#deadband-quarks.topology.TStream-quarks.function.Function-quarks.function.Predicate-):- the value is outside of the optimal range (deadband)- the first value inside the optimal range after a period being outside it- the first tupleAs with the simple filter, the stream is terminated by printing out the warnings.```java    TStream deadbandFiltered = Filters.deadband(temp,            identity(), tuple -> tuple >= TEMP_LOW && tuple  System.out.println(\"Temperature may not be \"            + \"optimal! It is \" + tuple + \"\\u00b0F!\"));```We end our application by submitting the `Topology`.## Observing the outputTo see what the temperatures look like, we can print the stream to standard out.```java    temp.print();```When the final application is run, the output looks something like the following:```    Temperature may not be optimal! It is 79.1°F!    79.1    79.4    79.0    78.8    78.0    78.3    77.
 4    Temperature is out of range! It is 76.5°F!    Temperature may not be optimal! It is 76.5°F!    76.5    Temperature may not be optimal! It is 77.5°F!    77.5    77.1    ...```Note that the deadband filter outputs a warning message for the very first temperature reading of 79.1°F. When the temperature falls to 76.5°F (which is outside the optimal range), both the simple filter and deadband filter print out a warning message. However, when the temperature returns to normal at 77.5°F, only the deadband filter prints out a message as it is the first value inside the optimal range after a period of being outside it.## Range valuesFiltering against a range of values is such a common analytic activity that the ``quarks.analytics.sensors.Range`` class is provided to assist with that.Using a Range can simplify and clarify your application code and lessen mistakes that may occur when writing expressions to deal with ranges.Though not covered in this recipe, Ranges offer additional c
 onveniences for creating applications with external range specifications and adaptable filters.In the above examples, a single Range can be used in place of the two different expressions for the same logical range:```java    static double TEMP_LOW = 77.0;    static double TEMP_HIGH = 91.0;    static Range optimalTempRange = Ranges.closed(TEMP_LOW, TEMP_HIGH);```Using ``optimalTempRange`` in the Simple filter example code:```java    TStream simpleFiltered = temp.filter(tuple ->             !optimalTempRange.contains(tuple));```Using ``optimalTempRange`` in the Deadband filter example code:```java    TStream deadbandFiltered = Filters.deadband(temp,            identity(), optimalTempRange);```## The final application```java    import static quarks.function.Functions.identity;    import java.text.DecimalFormat;    import java.util.Random;    import java.util.concurrent.TimeUnit;    import quarks.analytics.sensors.Filters;    import quarks.analytics.sensors.Range;    import quarks.analy
 tics.sensors.Ranges;    import quarks.providers.direct.DirectProvider;    import quarks.topology.TStream;    import quarks.topology.Topology;    /**     * Detect a sensor value out of expected range.     */    public class DetectValueOutOfRange {        /**         * Optimal temperatures inclusive (in Fahrenheit)         */        static double TEMP_LOW = 77.0;        static double TEMP_HIGH = 91.0;        static Range optimalTempRange = Ranges.closed(TEMP_LOW, TEMP_HIGH);        static double currentTemp = 80.0;        /**         * Polls a simulated temperature sensor to periodically obtain         * temperature readings (in Fahrenheit). Use a simple filter         * and a deadband filter to determine when the temperature         * is out of the optimal range.         */        public static void main(String[] args) throws Exception {            DirectProvider dp = new DirectProvider();            Topology top = dp.newTopology(\"TemperatureSensor\");            // Generate a strea
 m of temperature sensor readings            DecimalFormat df = new DecimalFormat(\"#.#\");            Random r = new Random();            TStream temp = top.poll(() -> {                // Change current temp by some random amount between -1 and 1                while (true) {                    double newTemp = -1 + (1 + 1) * r.nextDouble() + currentTemp;                    // Ensure that new temperature is within [28, 112]                    if (newTemp >= 28 && newTemp  simpleFiltered = temp.filter(tuple ->                    !optimalTempRange.contains(tuple));            simpleFiltered.sink(tuple -> System.out.println(\"Temperature is out of range! \"                    + \"It is \" + tuple + \"\\u00b0F!\"));            // Deadband filter: Perform analytics on sensor readings to            // output the first temperature, and to generate warnings            // when the temperature is out of the optimal range and            // when it returns to normal            TStream deadbandF
 iltered = Filters.deadband(temp,                    identity(), optimalTempRange);            deadbandFiltered.sink(tuple -> System.out.println(\"Temperature may not be \"                    + \"optimal! It is \" + tuple + \"\\u00b0F!\"));            // See what the temperatures look like            temp.print();            dp.submit(top);        }    }```"
+"body": "Oftentimes, a user expects a sensor value to fall within a particular range. If a reading is outside the accepted limits, the user may want to determine what caused the anomaly and/or take action to reduce the impact. For instance, consider the following scenario.Suppose a corn grower in the Midwestern United States would like to monitor the average temperature in his corn field using a sensor to improve his crop yield. The optimal temperatures for corn growth during daylight hours range between 77°F and 91°F. When the grower is alerted of a temperature value that is not in the optimal range, he may want to assess what can be done to mitigate the effect.In this instance, we can use a filter to detect out-of-range temperature values.## Setting up the applicationWe assume that the environment has been set up following the steps outlined in the [Getting started guide](../docs/quarks-getting-started). Let's begin by creating a `DirectProvider` and `Topology`. We also define t
 he optimal temperature range.```java    import static quarks.function.Functions.identity;    import java.util.concurrent.TimeUnit;    import quarks.analytics.sensors.Filters;    import quarks.analytics.sensors.Range;    import quarks.analytics.sensors.Ranges;    import quarks.providers.direct.DirectProvider;    import quarks.samples.utils.sensor.SimulatedTemperatureSensor;    import quarks.topology.TStream;    import quarks.topology.Topology;    public class DetectValueOutOfRange {        /**         * Optimal temperature range (in Fahrenheit)         */        static double OPTIMAL_TEMP_LOW = 77.0;        static double OPTIMAL_TEMP_HIGH = 91.0;        static Range optimalTempRange = Ranges.closed(OPTIMAL_TEMP_LOW, OPTIMAL_TEMP_HIGH);        public static void main(String[] args) throws Exception {            DirectProvider dp = new DirectProvider();            Topology top = dp.newTopology(\"TemperatureSensor\");            // The rest of the code pieces belong here        }    }``
 `## Generating temperature sensor readingsThe next step is to simulate a stream of temperature readings using [`SimulatedTemperatureSensor`](https://github.com/apache/incubator-quarks/blob/master/samples/utils/src/main/java/quarks/samples/utils/sensor/SimulatedTemperatureSensor.java). By default, the sensor sets the initial temperature to 80°F and ensures that new readings are between 28°F and 112°F. In our `main()`, we use the `poll()` method to generate a flow of tuples, where a new tuple (temperature reading) arrives every second.```java    // Generate a stream of temperature sensor readings    SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();    TStream temp = top.poll(tempSensor, 1, TimeUnit.SECONDS);```## Simple filteringIf the corn grower is interested in determining when the temperature is strictly out of the optimal range of 77°F and 91°F, a simple filter can be used. The `filter` method can be applied to `TStream` objects, where a filter predic
 ate determines which tuples to keep for further processing. For its method declaration, refer to the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/topology/TStream.html#filter-quarks.function.Predicate-).In this case, we want to keep temperatures below the lower range value *or* above the upper range value. This is expressed in the filter predicate, which follows Java's syntax for [lambda expressions](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html#syntax). Then, we terminate the stream (using `sink`) by printing out the warning to standard out. Note that `\\u00b0` is the Unicode encoding for the degree (°) symbol.```java    TStream simpleFiltered = temp.filter(tuple ->            tuple  OPTIMAL_TEMP_HIGH);    simpleFiltered.sink(tuple -> System.out.println(\"Temperature is out of range! \"            + \"It is \" + tuple + \"\\u00b0F!\"));```## Deadband filterAlternatively, a deadband filter can be used to glean more information about
  temperature changes, such as extracting the in-range temperature immediately after a reported out-of-range temperature. For example, large temperature fluctuations could be investigated more thoroughly. The `deadband` filter is a part of the `quarks.analytics` package focused on handling sensor data. Let's look more closely at the method declaration below.```java    deadband(TStream stream, Function value, Predicate inBand)```The first parameter is the stream to the filtered, which is `temp` in our scenario. The second parameter is the value to examine. Here, we use the `identity()` method to return a tuple on the stream. The last parameter is the predicate that defines the optimal range, that is, between 77°F and 91°F. it is important to note that this differs from the `TStream` version of `filter` in which one must explicitly specify the values that are out of range. The code snippet below demonstrates how the method call is pieced together. The `deadbandFiltered` stream contai
 ns temperature readings that follow the rules as described in the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Filters.html#deadband-quarks.topology.TStream-quarks.function.Function-quarks.function.Predicate-):- the value is outside of the optimal range (deadband)- the first value inside the optimal range after a period being outside it- the first tupleAs with the simple filter, the stream is terminated by printing out the warnings.```java    TStream deadbandFiltered = Filters.deadband(temp,            identity(), tuple -> tuple >= OPTIMAL_TEMP_LOW && tuple  System.out.println(\"Temperature may not be \"            + \"optimal! It is \" + tuple + \"\\u00b0F!\"));```We end our application by submitting the `Topology`.## Observing the outputTo see what the temperatures look like, we can print the stream to standard out.```java    temp.print();```When the final application is run, the output looks something like the following:```    Temperature ma
 y not be optimal! It is 79.1°F!    79.1    79.4    79.0    78.8    78.0    78.3    77.4    Temperature is out of range! It is 76.5°F!    Temperature may not be optimal! It is 76.5°F!    76.5    Temperature may not be optimal! It is 77.5°F!    77.5    77.1    ...```Note that the deadband filter outputs a warning message for the very first temperature reading of 79.1°F. When the temperature falls to 76.5°F (which is outside the optimal range), both the simple filter and deadband filter print out a warning message. However, when the temperature returns to normal at 77.5°F, only the deadband filter prints out a message as it is the first value inside the optimal range after a period of being outside it.## Range valuesFiltering against a range of values is such a common analytic activity that the ``quarks.analytics.sensors.Range`` class is provided to assist with that.Using a Range can simplify and clarify your application code and lessen mistakes that may occur when writing expre
 ssions to deal with ranges.Though not covered in this recipe, Ranges offer additional conveniences for creating applications with external range specifications and adaptable filters.In the above examples, a single Range can be used in place of the two different expressions for the same logical range:```java    static double OPTIMAL_TEMP_LOW = 77.0;    static double OPTIMAL_TEMP_HIGH = 91.0;    static Range optimalTempRange = Ranges.closed(OPTIMAL_TEMP_LOW, OPTIMAL_TEMP_HIGH);```Using ``optimalTempRange`` in the Simple filter example code:```java    TStream simpleFiltered = temp.filter(tuple ->             !optimalTempRange.contains(tuple));```Using ``optimalTempRange`` in the Deadband filter example code:```java    TStream deadbandFiltered = Filters.deadband(temp,            identity(), optimalTempRange);```## The final application```java    import static quarks.function.Functions.identity;    import java.util.concurrent.TimeUnit;    import quarks.analytics.sensors.Filters;    impor
 t quarks.analytics.sensors.Range;    import quarks.analytics.sensors.Ranges;    import quarks.providers.direct.DirectProvider;    import quarks.samples.utils.sensor.SimulatedTemperatureSensor;    import quarks.topology.TStream;    import quarks.topology.Topology;    /**     * Detect a sensor value out of expected range.     */    public class DetectValueOutOfRange {        /**         * Optimal temperature range (in Fahrenheit)         */        static double OPTIMAL_TEMP_LOW = 77.0;        static double OPTIMAL_TEMP_HIGH = 91.0;        static Range optimalTempRange = Ranges.closed(OPTIMAL_TEMP_LOW, OPTIMAL_TEMP_HIGH);        /**         * Polls a simulated temperature sensor to periodically obtain         * temperature readings (in Fahrenheit). Use a simple filter         * and a deadband filter to determine when the temperature         * is out of the optimal range.         */        public static void main(String[] args) throws Exception {            DirectProvider dp = new Direc
 tProvider();            Topology top = dp.newTopology(\"TemperatureSensor\");            // Generate a stream of temperature sensor readings            SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();            TStream temp = top.poll(tempSensor, 1, TimeUnit.SECONDS);            // Simple filter: Perform analytics on sensor readings to            // detect when the temperature is completely out of the            // optimal range and generate warnings            TStream simpleFiltered = temp.filter(tuple ->                    !optimalTempRange.contains(tuple));            simpleFiltered.sink(tuple -> System.out.println(\"Temperature is out of range! \"                    + \"It is \" + tuple + \"\\u00b0F!\"));            // Deadband filter: Perform analytics on sensor readings to            // output the first temperature, and to generate warnings            // when the temperature is out of the optimal range and            // when it returns to normal      
       TStream deadbandFiltered = Filters.deadband(temp,                    identity(), optimalTempRange);            deadbandFiltered.sink(tuple -> System.out.println(\"Temperature may not be \"                    + \"optimal! It is \" + tuple + \"\\u00b0F!\"));            // See what the temperatures look like            temp.print();            dp.submit(top);        }    }```"
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index 977d832..debda3f 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -578,7 +578,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/common-quarks-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-quarks-operations.html b/content/docs/common-quarks-operations.html
index 451831b..6a901c2 100644
--- a/content/docs/common-quarks-operations.html
+++ b/content/docs/common-quarks-operations.html
@@ -611,7 +611,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index b0a7c40..27297ed 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -634,7 +634,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index 7a9b6c6..75a67ab 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -1041,7 +1041,7 @@ The bars that are the tallest and therefore have the highest tuple count are OP_
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index bef6933..282e22e 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -649,7 +649,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index 4414965..b65591d 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -654,7 +654,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 4458fd0..c3e4901 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -638,7 +638,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/quarks-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks-getting-started.html b/content/docs/quarks-getting-started.html
index 8fd66b1..6fe184a 100644
--- a/content/docs/quarks-getting-started.html
+++ b/content/docs/quarks-getting-started.html
@@ -740,7 +740,7 @@ Your environment is set up! You can start writing your first Quarks application.
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/quarks_index.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks_index.html b/content/docs/quarks_index.html
index 2451048..7a82cb3 100644
--- a/content/docs/quarks_index.html
+++ b/content/docs/quarks_index.html
@@ -596,7 +596,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index e6a2779..5910b51 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -615,7 +615,7 @@ Here we map a stream of random numbers into JSON as the payload for a device eve
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index e1fd2e0..0eeedce 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -629,7 +629,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index 08d5383..ce2754d 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -556,7 +556,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html b/content/docs/tag_collaboration.html
index 8bdad07..f684e8f 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html b/content/docs/tag_content_types.html
index 3b9077b..7692e6f 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index 514ea55..913959c 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html b/content/docs/tag_getting_started.html
index 3f96ba7..4a2fc67 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -652,7 +652,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index b581f80..7628eee 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index 4b11023..91f4e9a 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index 98a5c0e..4dd2dd9 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html b/content/docs/tag_single_sourcing.html
index 72caaaa..a655c53 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html b/content/docs/tag_special_layouts.html
index fa625f9..14cad76 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -647,7 +647,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_adaptable_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_filter_range.html b/content/recipes/recipe_adaptable_filter_range.html
index bba9470..edeec4c 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -674,7 +674,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/11237088/content/recipes/recipe_combining_streams_processing_results.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_combining_streams_processing_results.html b/content/recipes/recipe_combining_streams_processing_results.html
index 19542f6..5f9c9ae 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -805,7 +805,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Apr 14, 2016 <br/>
+            generated: Apr 15, 2016 <br/>
 
         </div>
     </div>


[10/18] incubator-quarks-website git commit: from e1e37974eabf357026195d3f74cc52802a108a58

Posted by ho...@apache.org.
from e1e37974eabf357026195d3f74cc52802a108a58


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/commit/71f9f7fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/tree/71f9f7fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/diff/71f9f7fa

Branch: refs/heads/master
Commit: 71f9f7fa1ef4ef0fe5f8a701b406a8cda7727e8d
Parents: dfd693a
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Apr 28 09:47:20 2016 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Apr 28 09:47:20 2016 -0400

----------------------------------------------------------------------
 content/algolia_search.json              |  4 ++--
 content/docs/quarks-getting-started.html | 18 +++++++++---------
 content/search.json                      |  2 +-
 3 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/71f9f7fa/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index b49013e..8ccac6f 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -115,12 +115,12 @@
 
 
 {
-"title": "Getting started with Quarks",
+"title": "Getting started with Apache Quarks",
 "tags": "",
 "keywords": "",
 "url": "../docs/quarks-getting-started",
 "summary": "",
-"body": "## What is Quarks?Quarks is an open source programming model and runtime for edge devices that enables you to analyze streaming data on your edge devices. When you analyze on the edge, you can:* Reduce the amount of data that you transmit to your analytics server* Reduce the amount of data that you storeFor more information, see the [Quarks overview](home).### Quarks and streaming analyticsThe fundamental building block of a Quarks application is a **stream**: a continuous sequence of tuples (messages, events, sensor readings, and so on).The Quarks API provides the ability to process or analyze each tuple as it appears on a stream, resulting in a derived stream.Source streams are streams that originate data for analysis, such as readings from a device's temperature sensor.Streams are terminated using sink functions that can perform local device control or send information to centralized analytic systems through a message hub.Quarks' primary API is functional where streams a
 re sourced, transformed, analyzed or sinked though functions, typically represented as lambda expressions, such as `reading -> reading  80` to filter temperature readings in Fahrenheit.### Downloading QuarksTo access Quarks, download a release from GitHub. We recommend downloading the [latest release](https://github.com/quarks-edge/quarks/releases/latest).After you download and extract the Quarks package, you can set up your environment.### Setting up your environmentEnsure that you are running a supported environment. For more information, see the [Quarks overview](home). This guide assumes you're running Java 8.The Quarks Java 8 JAR files are located in the `quarks/java8/lib` directory.1. Create a new Java project in Eclipse, and specify Java 8 as the execution environment JRE:    2. Modify the Java build path to include all of the JAR files in the `quarks\\java8\\lib` directory:    Your environment is set up! You can start writing your first Quarks application.## Creating a simpl
 e applicationIf you're new to Quarks or to writing streaming applications, the best way to get started is to write a simple program.Quarks is a framework that pushes data analytics and machine learning to *edge devices*. (Edge devices include things like routers, gateways, machines, equipment, sensors, appliances, or vehicles that are connected to a network.) Quarks enables you to process data locally---such as, in a car engine, on an Android phone, or Raspberry Pi---before you send data over a network.For example, if your device takes temperature readings from a sensor 1,000 times per second, it is more efficient to process the data locally and send only interesting or unexpected results over the network. To simulate this, let's define a (simulated) TempSensor class:```java      import java.util.Random;      import quarks.function.Supplier;      /**     * Every time get() is called, TempSensor generates a temperature reading.     */    public class TempSensor implements Supplier { 
          double currentTemp = 65.0;          Random rand;          TempSensor(){              rand = new Random();          }          @Override          public Double get() {              // Change the current temperature some random amount              double newTemp = rand.nextGaussian() + currentTemp;              currentTemp = newTemp;              return currentTemp;          }      }```Every time you call `TempSensor.get()`, it returns a new temperature reading. The continuous temperature readings are a stream of data that a Quarks application can process.Our sample Quarks application processes this stream by filtering the data and printing the results. Let's define a TempSensorApplication class for the application:```java    import java.util.concurrent.TimeUnit;    import quarks.providers.direct.DirectProvider;    import quarks.topology.TStream;    import quarks.topology.Topology;    public class TempSensorApplication {        public static void main(String[] args) throws Ex
 ception {            TempSensor sensor = new TempSensor();            DirectProvider dp = new DirectProvider();                  Topology topology = dp.newTopology();            TStream tempReadings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);            TStream filteredReadings = tempReadings.filter(reading -> reading  80);            filteredReadings.print();            dp.submit(topology);          }    }```To understand how the application processes the stream, let's review each line.### Specifying a providerYour first step when you write a Quarks application is to create a[`DirectProvider`](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/providers/direct/DirectProvider.html) :```java    DirectProvider dp = new DirectProvider();```A **Provider** is an object that contains information on how and where your Quarks application will run. A **DirectProvider** is a type of Provider that runs your application directly within the current virtual machine when its
  `submit()` method is called.### Creating a topologyAdditionally a Provider is used to create a[`Topology`](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/topology/Topology.html) instance :```java    Topology topology = dp.newTopology();```In Quarks, **Topology** is a container that describes the structure of your application:* Where the streams in the application come from* How the data in the stream is modifiedIn the TempSensor application above, we have exactly one data source: the `TempSensor` object. We define the source stream by calling `topology.poll()`, which takes both a Supplier function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:```java    TStream tempReadings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);```### Defining the TStream objectCalling `topology.poll()` to define a source stream creates a `TStream` instance, which represents the series of readings take
 n from the temperature sensor.A streaming application can run indefinitely, so the TStream might see an arbitrarily large number of readings pass through it. Because a TStream represents the flow of your data, it supports a number of operations which allow you to modify your data.## Filtering a TStreamIn our example, we want to filter the stream of temperature readings, and remove any \"uninteresting\" or expected readings---specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the TStream's `filter` method and pass in a function that returns *true* if the data is interesting and *false* if the data is uninteresting:```java    TStream filteredReadings = tempReadings.filter(reading -> reading  80);```    As you can see, the function that is passed to `filter` operates on each tuple individually. Unlike data streaming frameworks like [Apache Spark](https://spark.apache.org/), which operate on a collection of data in batch mode, Quarks achieves low 
 latency processing by manipulating each piece of data as soon as it becomes available. Filtering a TStream produces another TStream that contains only the filtered tuples; for example, the `filteredReadings` stream.### Printing to outputWhen our application detects interesting data (data outside of the expected parameters), we want to print results. You can do this by calling the `TStream.print()` method, which prints using  `.toString()` on each tuple that passes through the stream:```java    filteredReadings.print();```Unlike `TStream.filter()`, `TStream.print()` does not produce another TStream. This is because `TStream.print()` is a **sink**, which represents the terminus of a stream.In addition to `TStream.print()` there are other sink operations that send tuples to an MQTT server, JDBC connection, file, or Kafka cluster. Additionally, you can define your own sink by invoking `TStream.sink()` and passing in your own function.### Submitting your applicationNow that your applicat
 ion has been completely declared, the final step is to run your application.`DirectProvider` contains a `submit()` method, which runs your application directly within the current virtual machine:```java    dp.submit(topology);```After you run your program, you should see output containing only \"interesting\" data coming from your sensor:```    49.904032311772596    47.97837504039084    46.59272336309031    46.681544551652934    47.400819234155236    ...```As you can see, all temperatures are outside the 50-80 degree range. In terms of a real-world application, this would prevent a device from sending superfluous data over a network, thereby reducing communication costs.## Further examplesThis example demonstrates a small piece of Quarks' functionality. Quarks supports more complicated topologies, such as topologies that require merging and splitting data streams, or perform operations which aggregate the last *N* seconds of data (for example, calculating a moving average).For more 
 complex examples, see:* [Quarks sample programs](samples)* [Common Quarks operations](common-quarks-operations)"
+"body": "## What is Apache Quarks?Quarks is an open source programming model and runtime for edge devices that enables you to analyze streaming data on your edge devices. When you analyze on the edge, you can:* Reduce the amount of data that you transmit to your analytics server* Reduce the amount of data that you storeFor more information, see the [Quarks overview](home).### Apache Quarks and streaming analyticsThe fundamental building block of a Quarks application is a **stream**: a continuous sequence of tuples (messages, events, sensor readings, and so on).The Quarks API provides the ability to process or analyze each tuple as it appears on a stream, resulting in a derived stream.Source streams are streams that originate data for analysis, such as readings from a device's temperature sensor.Streams are terminated using sink functions that can perform local device control or send information to centralized analytic systems through a message hub.Quarks' primary API is functional w
 here streams are sourced, transformed, analyzed or sinked though functions, typically represented as lambda expressions, such as `reading -> reading  80` to filter temperature readings in Fahrenheit.### Downloading Apache QuarksTo use Quarks, access the source code and build it. You can read more about building Quarks [here](https://github.com/apache/incubator-quarks/blob/master/DEVELOPMENT.md).After you build the Quarks package, you can set up your environment.### Setting up your environmentEnsure that you are running a supported environment. For more information, see the [Quarks overview](home). This guide assumes you're running Java 8.The Quarks Java 8 JAR files are located in the `quarks/java8/lib` directory.1. Create a new Java project in Eclipse, and specify Java 8 as the execution environment JRE:    2. Modify the Java build path to include all of the JAR files in the `quarks\\java8\\lib` directory:    Your environment is set up! You can start writing your first Quarks applic
 ation.## Creating a simple applicationIf you're new to Quarks or to writing streaming applications, the best way to get started is to write a simple program.Quarks is a framework that pushes data analytics and machine learning to *edge devices*. (Edge devices include things like routers, gateways, machines, equipment, sensors, appliances, or vehicles that are connected to a network.) Quarks enables you to process data locally---such as, in a car engine, on an Android phone, or Raspberry Pi---before you send data over a network.For example, if your device takes temperature readings from a sensor 1,000 times per second, it is more efficient to process the data locally and send only interesting or unexpected results over the network. To simulate this, let's define a (simulated) TempSensor class:```java      import java.util.Random;      import quarks.function.Supplier;      /**     * Every time get() is called, TempSensor generates a temperature reading.     */    public class TempSens
 or implements Supplier {          double currentTemp = 65.0;          Random rand;          TempSensor(){              rand = new Random();          }          @Override          public Double get() {              // Change the current temperature some random amount              double newTemp = rand.nextGaussian() + currentTemp;              currentTemp = newTemp;              return currentTemp;          }      }```Every time you call `TempSensor.get()`, it returns a new temperature reading. The continuous temperature readings are a stream of data that a Quarks application can process.Our sample Quarks application processes this stream by filtering the data and printing the results. Let's define a TempSensorApplication class for the application:```java    import java.util.concurrent.TimeUnit;    import quarks.providers.direct.DirectProvider;    import quarks.topology.TStream;    import quarks.topology.Topology;    public class TempSensorApplication {        public static void main
 (String[] args) throws Exception {            TempSensor sensor = new TempSensor();            DirectProvider dp = new DirectProvider();                  Topology topology = dp.newTopology();            TStream tempReadings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);            TStream filteredReadings = tempReadings.filter(reading -> reading  80);            filteredReadings.print();            dp.submit(topology);          }    }```To understand how the application processes the stream, let's review each line.### Specifying a providerYour first step when you write a Quarks application is to create a[`DirectProvider`](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/providers/direct/DirectProvider.html) :```java    DirectProvider dp = new DirectProvider();```A **Provider** is an object that contains information on how and where your Quarks application will run. A **DirectProvider** is a type of Provider that runs your application directly within the current
  virtual machine when its `submit()` method is called.### Creating a topologyAdditionally a Provider is used to create a[`Topology`](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/topology/Topology.html) instance :```java    Topology topology = dp.newTopology();```In Quarks, **Topology** is a container that describes the structure of your application:* Where the streams in the application come from* How the data in the stream is modifiedIn the TempSensor application above, we have exactly one data source: the `TempSensor` object. We define the source stream by calling `topology.poll()`, which takes both a Supplier function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:```java    TStream tempReadings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);```### Defining the TStream objectCalling `topology.poll()` to define a source stream creates a `TStream` instance, which represents th
 e series of readings taken from the temperature sensor.A streaming application can run indefinitely, so the TStream might see an arbitrarily large number of readings pass through it. Because a TStream represents the flow of your data, it supports a number of operations which allow you to modify your data.## Filtering a TStreamIn our example, we want to filter the stream of temperature readings, and remove any \"uninteresting\" or expected readings---specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the TStream's `filter` method and pass in a function that returns *true* if the data is interesting and *false* if the data is uninteresting:```java    TStream filteredReadings = tempReadings.filter(reading -> reading  80);```    As you can see, the function that is passed to `filter` operates on each tuple individually. Unlike data streaming frameworks like [Apache Spark](https://spark.apache.org/), which operate on a collection of data in batch m
 ode, Quarks achieves low latency processing by manipulating each piece of data as soon as it becomes available. Filtering a TStream produces another TStream that contains only the filtered tuples; for example, the `filteredReadings` stream.### Printing to outputWhen our application detects interesting data (data outside of the expected parameters), we want to print results. You can do this by calling the `TStream.print()` method, which prints using  `.toString()` on each tuple that passes through the stream:```java    filteredReadings.print();```Unlike `TStream.filter()`, `TStream.print()` does not produce another TStream. This is because `TStream.print()` is a **sink**, which represents the terminus of a stream.In addition to `TStream.print()` there are other sink operations that send tuples to an MQTT server, JDBC connection, file, or Kafka cluster. Additionally, you can define your own sink by invoking `TStream.sink()` and passing in your own function.### Submitting your applicat
 ionNow that your application has been completely declared, the final step is to run your application.`DirectProvider` contains a `submit()` method, which runs your application directly within the current virtual machine:```java    dp.submit(topology);```After you run your program, you should see output containing only \"interesting\" data coming from your sensor:```    49.904032311772596    47.97837504039084    46.59272336309031    46.681544551652934    47.400819234155236    ...```As you can see, all temperatures are outside the 50-80 degree range. In terms of a real-world application, this would prevent a device from sending superfluous data over a network, thereby reducing communication costs.## Further examplesThis example demonstrates a small piece of Quarks' functionality. Quarks supports more complicated topologies, such as topologies that require merging and splitting data streams, or perform operations which aggregate the last *N* seconds of data (for example, calculating a 
 moving average).For more complex examples, see:* [Quarks sample programs](samples)* [Common Quarks operations](common-quarks-operations)"
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/71f9f7fa/content/docs/quarks-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/quarks-getting-started.html b/content/docs/quarks-getting-started.html
index 40c6367..feaf4ab 100644
--- a/content/docs/quarks-getting-started.html
+++ b/content/docs/quarks-getting-started.html
@@ -6,7 +6,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="description" content="">
 <meta name="keywords" content=" ">
-<title>Getting started with Quarks  | Apache Quarks Documentation</title>
+<title>Getting started with Apache Quarks  | Apache Quarks Documentation</title>
 <link rel="stylesheet" type="text/css" href="../css/syntax.css">
 <link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
 <!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">-->
@@ -157,7 +157,7 @@
 <script>
 function SendLinkByMail(href) {
 var subject= "Apache Quarks Documentation feedback";
-var body = "I have some feedback about the Getting started with Quarks page: ";
+var body = "I have some feedback about the Getting started with Apache Quarks page: ";
 body += window.location.href;
 body += "";
 var uri = "mailto:?subject=";
@@ -184,7 +184,7 @@ window.location.href = uri;
                             searchInput: document.getElementById('search-input'),
                             resultsContainer: document.getElementById('results-container'),
                             dataSource: '../search.json',
-                            searchResultTemplate: '<li><a href="{url}" title="Getting started with Quarks">{title}</a></li>',
+                            searchResultTemplate: '<li><a href="{url}" title="Getting started with Apache Quarks">{title}</a></li>',
                         noResultsText: 'No results found.',
                                 limit: 10,
                                 fuzzy: true,
@@ -526,7 +526,7 @@ $('#toc').on('click', 'a', function() {
             <div class="col-md-9">
                 
                 <div class="post-header">
-   <h1 class="post-title-main">Getting started with Quarks</h1>
+   <h1 class="post-title-main">Getting started with Apache Quarks</h1>
 </div>
 
 <div class="post-content">
@@ -560,7 +560,7 @@ $('#toc').on('click', 'a', function() {
 
     <a target="_blank" href="https://github.com/apache/incubator-quarks-website/blob/master/site/docs/quarks-getting-started.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
     
-  <h2 id="what-is-quarks">What is Quarks?</h2>
+  <h2 id="what-is-apache-quarks">What is Apache Quarks?</h2>
 
 <p>Quarks is an open source programming model and runtime for edge devices that enables you to analyze streaming data on your edge devices. When you analyze on the edge, you can:</p>
 
@@ -571,7 +571,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>For more information, see the <a href="home">Quarks overview</a>.</p>
 
-<h3 id="quarks-and-streaming-analytics">Quarks and streaming analytics</h3>
+<h3 id="apache-quarks-and-streaming-analytics">Apache Quarks and streaming analytics</h3>
 
 <p>The fundamental building block of a Quarks application is a <strong>stream</strong>: a continuous sequence of tuples (messages, events, sensor readings, and so on).</p>
 
@@ -583,11 +583,11 @@ $('#toc').on('click', 'a', function() {
 
 <p>Quarks&#39; primary API is functional where streams are sourced, transformed, analyzed or sinked though functions, typically represented as lambda expressions, such as <code>reading -&gt; reading &lt; 50 || reading &gt; 80</code> to filter temperature readings in Fahrenheit.</p>
 
-<h3 id="downloading-quarks">Downloading Quarks</h3>
+<h3 id="downloading-apache-quarks">Downloading Apache Quarks</h3>
 
-<p>To access Quarks, download a release from GitHub. We recommend downloading the <a href="https://github.com/quarks-edge/quarks/releases/latest">latest release</a>.</p>
+<p>To use Quarks, access the source code and build it. You can read more about building Quarks <a href="https://github.com/apache/incubator-quarks/blob/master/DEVELOPMENT.md">here</a>.</p>
 
-<p>After you download and extract the Quarks package, you can set up your environment.</p>
+<p>After you build the Quarks package, you can set up your environment.</p>
 
 <h3 id="setting-up-your-environment">Setting up your environment</h3>
 

http://git-wip-us.apache.org/repos/asf/incubator-quarks-website/blob/71f9f7fa/content/search.json
----------------------------------------------------------------------
diff --git a/content/search.json b/content/search.json
index 1b55854..53631e0 100644
--- a/content/search.json
+++ b/content/search.json
@@ -99,7 +99,7 @@
 
 
 {
-"title": "Getting started with Quarks",
+"title": "Getting started with Apache Quarks",
 "tags": "",
 "keywords": "",
 "url": "../docs/quarks-getting-started",