You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dl...@apache.org on 2017/12/15 20:08:26 UTC

[1/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Repository: incubator-edgent-website
Updated Branches:
  refs/heads/asf-site 090e07ca6 -> 9b42cd733


http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html b/content/recipes/recipe_source_function.html
index 6fd07f3..263a3b1 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -670,7 +687,7 @@ $('#toc').on('click', 'a', function() {
 <div class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note: </b> Edgent's API provides convenience methods for performing HTTP requests. For the sake of example we are writing a HTTP data source manually, but in principle there are easier methods. </div>
 
 <p>One example of a custom data source could be retrieving the contents of a web page and printing each line to output. For example, the user could be querying the Yahoo Finance website for the most recent stock price data of Bank of America, Cabot Oil &amp; Gas, and Freeport-McMoRan Inc.:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</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>
 
@@ -684,7 +701,7 @@ $('#toc').on('click', 'a', function() {
         <span class="k">try</span> <span class="o">{</span>
             <span class="n">InputStream</span> <span class="n">is</span> <span class="o">=</span> <span class="n">url</span><span class="o">.</span><span class="na">openStream</span><span class="o">();</span>
             <span class="n">BufferedReader</span> <span class="n">br</span> <span class="o">=</span> <span class="k">new</span> <span class="n">BufferedReader</span><span class="o">(</span>
-                    <span class="k">new</span> <span class="nf">InputStreamReader</span><span class="o">(</span><span class="n">is</span><span class="o">));</span>
+                    <span class="k">new</span> <span class="n">InputStreamReader</span><span class="o">(</span><span class="n">is</span><span class="o">));</span>
 
             <span class="k">for</span><span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">=</span> <span class="n">br</span><span class="o">.</span><span class="na">readLine</span><span class="o">();</span> <span class="n">s</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">;</span> <span class="n">s</span> <span class="o">=</span> <span class="n">br</span><span class="o">.</span><span class="na">readLine</span><span class="o">())</span>
                 <span class="n">lines</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">s</span><span class="o">);</span>
@@ -697,7 +714,7 @@ $('#toc').on('click', 'a', function() {
 <span class="o">}</span>
 </code></pre></div>
 <p>When invoking <code>Topology.source()</code>, we can use <code>queryWebsite</code> to return the required supplier, passing in the URL.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</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>
 
@@ -718,7 +735,7 @@ $('#toc').on('click', 'a', function() {
 <h2 id="polling-source-reading-data-periodically">Polling source: reading data periodically</h2>
 
 <p>A much more common scenario for a developer is the periodic generation of data from a source operator &mdash; a data source may need to be polled every 5 seconds, 3 hours, or any time frame. To this end, <code>Topology</code> exposes the <code>poll()</code> method which can be used to call a function at the frequency of the user&#39;s choosing. For example, a user might want to query Yahoo Finance every two seconds to retrieve the most up to date ticker price for a stock:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</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>
 
@@ -767,7 +784,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 4c38c66..4e28236 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -692,7 +709,7 @@ $('#toc').on('click', 'a', function() {
     <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="nf">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="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>
 
@@ -815,7 +832,7 @@ Temperature may not be optimal! It is 77.5°F!
      * and a deadband filter to determine when the temperature
      * is out of the optimal range.
      */</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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>
 
@@ -880,7 +897,7 @@ Temperature may not be optimal! It is 77.5°F!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/recipes/recipe_writing_a_connector.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_writing_a_connector.html b/content/recipes/recipe_writing_a_connector.html
index f914bf2..d3700b2 100644
--- a/content/recipes/recipe_writing_a_connector.html
+++ b/content/recipes/recipe_writing_a_connector.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -700,7 +717,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/search.json
----------------------------------------------------------------------
diff --git a/content/search.json b/content/search.json
index 8169cb3..e6efa8f 100644
--- a/content/search.json
+++ b/content/search.json
@@ -8,6 +8,17 @@
 
 
 {
+"title": "Edgent Application Development, Packaging and Execution.",
+"tags": "",
+"keywords": "",
+"url": "../docs/application-development",
+"summary": ""
+},
+
+
+
+
+{
 "title": "Committers",
 "tags": "",
 "keywords": "",
@@ -63,6 +74,17 @@
 
 
 {
+"title": "Getting started with Apache Edgent Samples",
+"tags": "",
+"keywords": "",
+"url": "../docs/edgent-getting-started-samples",
+"summary": ""
+},
+
+
+
+
+{
 "title": "Getting started with Apache Edgent",
 "tags": "",
 "keywords": "",
@@ -96,8 +118,8 @@
 
 
 {
-"title": "Introduction",
-"tags": "getting_started",
+"title": "Apache Edgent Overview",
+"tags": "",
 "keywords": "",
 "url": "../docs/home",
 "summary": ""
@@ -118,6 +140,28 @@
 
 
 {
+"title": "Getting started with Apache Edgent pre-1.2.0",
+"tags": "",
+"keywords": "",
+"url": "../docs/old-edgent-getting-started",
+"summary": ""
+},
+
+
+
+
+{
+"title": "Sample programs",
+"tags": "",
+"keywords": "",
+"url": "../docs/old-samples",
+"summary": ""
+},
+
+
+
+
+{
 "title": "Overview",
 "tags": "",
 "keywords": "",
@@ -128,6 +172,17 @@
 
 
 
+{
+"title": "The Power of Apache Edgent",
+"tags": "",
+"keywords": "",
+"url": "../docs/power-of-edgent",
+"summary": ""
+},
+
+
+
+
 
 
 
@@ -285,17 +340,6 @@
 
 
 
-{
-"title": "Sample programs",
-"tags": "",
-"keywords": "",
-"url": "../docs/samples",
-"summary": ""
-},
-
-
-
-
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/title-checker.html
----------------------------------------------------------------------
diff --git a/content/title-checker.html b/content/title-checker.html
index 4555f10..9ccb00a 100644
--- a/content/title-checker.html
+++ b/content/title-checker.html
@@ -2881,6 +2881,450 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 Problem: The top drop-down navigation item title "edgent.apache.org" does not match the page title "Edgent".
 
 
@@ -2956,5 +3400,9 @@ Problem: The top drop-down navigation item title "edgent.apache.org" does not ma
 
 
 
+
+
+
+
 </body>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index 34d1b7b..63a3e97 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -666,7 +683,7 @@ $('#toc').on('click', 'a', function() {
       <div class="printTitleArea">
         <div class="printTitle"></div>
         <div class="printSubtitle"></div>
-        <div class="lastGeneratedDate">Last generated: May 15, 2017</div>
+        <div class="lastGeneratedDate">Last generated: December 15, 2017</div>
         <hr />
 
         <div class="printTitleImage">
@@ -713,7 +730,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index f265b36..0879a6b 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -692,6 +709,18 @@ $('#toc').on('click', 'a', function() {
         
         
                 
+                <li><a href="/docs/home.html">Edgent Overview</a>
+                    
+        </li>
+        
+        
+                
+                <li><a href="/docs/power-of-edgent.html">The Power of Edgent</a>
+                    
+        </li>
+        
+        
+                
                 <li><a href="/docs/faq.html">FAQ</a>
                     
         </li>
@@ -712,7 +741,25 @@ $('#toc').on('click', 'a', function() {
         
         
                 
-                <li><a href="/docs/edgent-getting-started.html">Getting started guide</a>
+                <li><a href="/docs/edgent-getting-started.html">Getting Started Guide</a>
+                    
+        </li>
+        
+        
+                
+                <li><a href="/docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a>
+                    
+        </li>
+        
+        
+                
+                <li><a href="/docs/application-development.html">Understanding App Development</a>
+                    
+        </li>
+        
+        
+                
+                <li><a href="/docs/quickstart.html">Quickstart IBM Watson IoT Platform</a>
                     
         </li>
         
@@ -820,26 +867,6 @@ $('#toc').on('click', 'a', function() {
     
     
         
-        <li class="sectionHead">Sample Programs
-            <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>
-    
-    
-        
         <li class="sectionHead">Using the Console
             <ul>
                 
@@ -907,7 +934,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/urls_mydoc.txt
----------------------------------------------------------------------
diff --git a/content/urls_mydoc.txt b/content/urls_mydoc.txt
index 2de80e9..b916688 100644
--- a/content/urls_mydoc.txt
+++ b/content/urls_mydoc.txt
@@ -25,6 +25,20 @@
 
 
  
+/docs/home:
+  title: "Edgent Overview"
+  url: "../docs/home.html"
+  link: "<a href='../docs/home.html'>Edgent Overview</a>"
+
+
+ 
+/docs/power-of-edgent:
+  title: "The Power of Edgent"
+  url: "../docs/power-of-edgent.html"
+  link: "<a href='../docs/power-of-edgent.html'>The Power of Edgent</a>"
+
+
+ 
 /docs/faq:
   title: "FAQ"
   url: "../docs/faq.html"
@@ -42,9 +56,30 @@
 
  
 /docs/edgent-getting-started:
-  title: "Getting started guide"
+  title: "Getting Started Guide"
   url: "../docs/edgent-getting-started.html"
-  link: "<a href='../docs/edgent-getting-started.html'>Getting started guide</a>"
+  link: "<a href='../docs/edgent-getting-started.html'>Getting Started Guide</a>"
+
+
+ 
+/docs/edgent-getting-started-samples:
+  title: "Quickstart with Edgent Samples"
+  url: "../docs/edgent-getting-started-samples.html"
+  link: "<a href='../docs/edgent-getting-started-samples.html'>Quickstart with Edgent Samples</a>"
+
+
+ 
+/docs/application-development:
+  title: "Understanding App Development"
+  url: "../docs/application-development.html"
+  link: "<a href='../docs/application-development.html'>Understanding App Development</a>"
+
+
+ 
+/docs/quickstart:
+  title: "Quickstart IBM Watson IoT Platform"
+  url: "../docs/quickstart.html"
+  link: "<a href='../docs/quickstart.html'>Quickstart IBM Watson IoT Platform</a>"
 
 
  
@@ -157,22 +192,6 @@
 
 
  
-/docs/samples:
-  title: "Samples"
-  url: "../docs/samples.html"
-  link: "<a href='../docs/samples.html'>Samples</a>"
-
-
- 
-/docs/quickstart:
-  title: "Quickstart IBM Watson IoT Platform"
-  url: "../docs/quickstart.html"
-  link: "<a href='../docs/quickstart.html'>Quickstart IBM Watson IoT Platform</a>"
-
-
-
-
- 
 /docs/console:
   title: "Using the console"
   url: "../docs/console.html"
@@ -212,13 +231,6 @@ downloads:
 
 
 
-samples:
-  title: "Samples"
-  url: "..samples"
-  link: "<a href='..samples'>Samples</a>"
-
-
-
 faq:
   title: "FAQ"
   url: "..faq"


[4/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/power-of-edgent.html
----------------------------------------------------------------------
diff --git a/content/docs/power-of-edgent.html b/content/docs/power-of-edgent.html
new file mode 100644
index 0000000..f954085
--- /dev/null
+++ b/content/docs/power-of-edgent.html
@@ -0,0 +1,1092 @@
+<!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>The Power of Apache Edgent  | Apache Edgent 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 Edgent 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-edgent" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-edgent-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Javadoc<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="..\javadoc\latest">latest</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.1.0">1.1.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.0.0">1.0.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r0.4.0">0.4.0</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </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">Edgent Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="downloads">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li class="dropdownActive"><a href="/">edgent.apache.org</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Edgent Documentation feedback";
+var body = "I have some feedback about the The Power of Apache Edgent 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@edgent.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="The Power of Apache Edgent">{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: true,
+                    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">Edgent</span>
+            <span class="versionTagline">Version 1.1.0-incubating</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li class="active"><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/downloads.html">Downloads</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/streaming-concepts.html">Streaming concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-edgent-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Edgent Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_edgent.html">Hello Edgent!</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>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_parallel_analytics.html">How can I run analytics on several tuples in parallel?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_concurrent_analytics.html">How can I run several analytics on a tuple concurrently?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_writing_a_connector.html">How do I write a connector?</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">The Power of Apache Edgent</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-edgent-website/blob/master/site/docs/power-of-edgent.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>Edgent is designed to accelerate your development of event driven flow-graph
+style analytic applications running on edge devices.  This is achieved by
+Edgent&#39;s combination of API, connectors, basic analytics, utilities, and openness!</p>
+
+<p>Let&#39;s have some fun with a shallow but broad view into what you
+can do in a few of lines of code... an introduction to Edgent&#39;s capabilities via
+a series of terse code fragments.</p>
+
+<p>See the <a href="edgent-getting-started">Getting Started Guide</a> for a step by step introduction,
+and information about full samples and recipies.</p>
+
+<p>Let&#39;s start with a complete application that periodically samples a sensor
+and publishes its values to an Enterprise IoT Hub in less than 10 lines of code</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">ImpressiveEdgentExample</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="o">{</span>
+    <span class="n">DirectProvider</span> <span class="n">provider</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">provider</span><span class="o">.</span><span class="na">newTopology</span><span class="o">();</span>
+
+    <span class="n">IotDevice</span> <span class="n">iotConnector</span> <span class="o">=</span> <span class="n">IotpDevice</span><span class="o">.</span><span class="na">quickstart</span><span class="o">(</span><span class="n">top</span><span class="o">,</span> <span class="s">"edgent-intro-device-2"</span><span class="o">);</span>
+    <span class="c1">// open https://quickstart.internetofthings.ibmcloud.com/#/device/edgent-intro-device-2</span>
+
+    <span class="c1">// ingest -&gt; transform -&gt; publish</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">readings</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="k">new</span> <span class="n">SimulatedTemperatureSensor</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">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">events</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">JsonFunctions</span><span class="o">.</span><span class="na">valueOfNumber</span><span class="o">(</span><span class="s">"temp"</span><span class="o">));</span>
+    <span class="n">iotConnector</span><span class="o">.</span><span class="na">events</span><span class="o">(</span><span class="n">events</span><span class="o">,</span> <span class="s">"readingEvents"</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>
+
+    <span class="n">provider</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="o">}</span>
+</code></pre></div>
+<p>Ok, that was 11 lines and it omitted the imports, but there are only 7 lines in main()!</p>
+
+<p>That leveraged the <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/iotp/IotpDevice.html">IotpDevice</a>
+connector to the 
+IBM Watson IoT Platform and the platform&#39;s Quickstart feature. 
+The value of its Quickstart feature is no account or device 
+preregistration and the ability to open a browser to see the
+data being published.  Great to quickly get started.</p>
+
+<p>Hopefully that had enough of a wow factor to encourage you
+to keep reading!</p>
+
+<h3 id="connectors-ingest-and-sink">Connectors, Ingest and Sink</h3>
+
+<p>Edgent Applications need to create streams of data from external entities,
+termed ingest, and sink streams of data to external entities.<br>
+There are primitives for those operations and a collection of
+connectors to common external entities,
+more Connectors contributions are welcome!</p>
+
+<p>Connectors are just code that make it easier for an Edgent application
+to integrate with an external entity.  They use Edgent ingest primitives
+like (<code>Topology.poll()</code>, <code>Topology.events()</code>, etc), and <code>TStream.sink()</code>
+like any other Edgent code.  A connector may provide <code>Supplier</code> and 
+<code>Consumer</code> functions, for ingest and sink respectively, that an 
+application can use directly with the Edgent API.</p>
+
+<p>OK... fewer words, more code!</p>
+
+<p>You&#39;ve already seen publishing using the <code>IotpDevice</code> connector.</p>
+
+<p>Want to receive <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/iot/IotDevice.html">IotDevice</a> device commands? Simple!</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">iotConnector</span><span class="o">.</span><span class="na">commands</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">cmd</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">"I should handle received cmd: "</span><span class="o">+</span><span class="n">cmd</span><span class="o">));</span>
+
+    <span class="n">or</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">xzyCmds</span> <span class="o">=</span> <span class="n">iotConnector</span><span class="o">.</span><span class="na">command</span><span class="o">(</span><span class="s">"xyzCmds"</span><span class="o">);</span>
+</code></pre></div>
+<p>There&#39;s an <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/iot/IotGateway.html">IotGateway</a> device model too.</p>
+
+<p>Don&#39;t want no stinkin <code>IotDevice</code> model and just
+want to pub/sub to an MQTT server?  No worries! Use the <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/mqtt/MqttStreams.html">MqttStreams</a> connector</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">//IotDevice iotConnector = IotpDevice.quickstart(top, "edgent-intro-device-2");</span>
+    <span class="n">MqttStreams</span> <span class="n">iotConnector</span> <span class="o">=</span> <span class="k">new</span> <span class="n">MqttStreams</span><span class="o">(</span><span class="n">top</span><span class="o">,</span> <span class="s">"ssl://myMqttServer:8883"</span><span class="o">,</span> <span class="s">"my-device-client-id"</span><span class="o">);</span>
+
+    <span class="o">...</span>
+
+    <span class="c1">//iotConnector.events(events, "readingEvents", QoS.FIRE_AND_FORGET);</span>
+    <span class="n">iotConnector</span><span class="o">.</span><span class="na">publish</span><span class="o">(</span><span class="n">events</span><span class="o">,</span> <span class="s">"readingEvents"</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> <span class="kc">false</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">xyzTopicMsgs</span> <span class="o">=</span> <span class="n">iotConnector</span><span class="o">.</span><span class="na">subscribe</span><span class="o">(</span><span class="s">"xyzTopic"</span><span class="o">);</span>
+</code></pre></div>
+<p>Want to connect to Kafka?  Use the <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/kafka/KafkaProducer.html">KafkaProducer</a> and <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.html">KafkaConsumer</a> connectors with similar ease.</p>
+
+<p>There&#39;s a <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/jdbc/JdbcStreams.html">JdbcStreams</a> connector too.</p>
+
+<p>Want to sink a <code>TStream</code> to rolling text files?  Use the <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/file/FileStreams.html">FileStreams</a> connector.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="k">new</span> <span class="nf">File</span><span class="p">(</span><span class="s">"/tmp/MY-DEMO-FILES"</span><span class="o">).</span><span class="na">mkdir</span><span class="o">();</span>
+    <span class="n">FileStreams</span><span class="o">.</span><span class="na">textFileWriter</span><span class="o">(</span><span class="n">events</span><span class="o">.</span><span class="na">asString</span><span class="o">(),</span> <span class="o">()</span> <span class="o">-&gt;</span> <span class="s">"/tmp/MY-DEMO-FILES/READINGS"</span><span class="o">);</span>
+
+    <span class="c1">// tail -f /tmp/MY-DEMO-FILES/.READINGS</span>
+</code></pre></div>
+<p>Or watch for, ingest and process text files?  <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/csv/Csv.html">Csv</a> can be useful if your input lines of comma separated values</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">   <span class="n">String</span> <span class="n">watchedDir</span> <span class="o">=</span> <span class="s">"/some/directory/path"</span><span class="o">;</span>
+   <span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">csvFieldNames</span> <span class="o">=</span> <span class="o">...</span>
+   <span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">pathnames</span> <span class="o">=</span> <span class="n">FileStreams</span><span class="o">.</span><span class="na">directoryWatcher</span><span class="o">(</span><span class="n">top</span><span class="o">,</span> <span class="o">()</span> <span class="o">-&gt;</span> <span class="n">watchedDir</span><span class="o">,</span> <span class="kc">null</span><span class="o">);</span>
+   <span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">lines</span> <span class="o">=</span> <span class="n">FileStreams</span><span class="o">.</span><span class="na">textFileReader</span><span class="o">(</span><span class="n">pathnames</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">parsedLines</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">line</span> <span class="o">-&gt;</span> <span class="n">Csv</span><span class="o">.</span><span class="na">toJson</span><span class="o">(</span><span class="n">Csv</span><span class="o">.</span><span class="na">parseCsv</span><span class="o">(</span><span class="n">line</span><span class="o">),</span> <span class="n">csvFieldNames</span><span class="o">));</span>
+</code></pre></div>
+<p>Want to sink to a command&#39;s stdin?  Use the <a href="/javadoc/latest/index.html?org/apache/edgent/connectors/command/CommandStreams.html">CommandStreams</a> connector</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">MyEvent</span><span class="o">&gt;</span> <span class="n">events</span> <span class="o">=</span> <span class="o">...</span>
+    <span class="n">ProcessBuilder</span> <span class="n">cmd</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ProcessBuilder</span><span class="o">(</span><span class="s">"cat"</span><span class="o">).</span><span class="na">redirectOutput</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">"/dev/stdout"</span><span class="o">));</span>
+    <span class="n">CommandStreams</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">events</span><span class="o">.</span><span class="na">asString</span><span class="o">(),</span> <span class="n">cmd</span><span class="o">);</span>
+</code></pre></div>
+<p>Or ingest a command&#39;s stdout/err?</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">ProcessBuilder</span> <span class="n">cmd</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ProcessBuilder</span><span class="o">(</span><span class="s">"date"</span><span class="o">,</span> <span class="s">"-R"</span><span class="o">);</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">readings</span> <span class="o">=</span> <span class="n">CommandStreams</span><span class="o">.</span><span class="na">periodicSource</span><span class="o">(</span><span class="n">top</span><span class="o">,</span> <span class="n">cmd</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">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">events</span> <span class="o">=</span>
+        <span class="n">readings</span>
+          <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="n">list</span> <span class="o">-&gt;</span> <span class="n">list</span><span class="o">)</span>
+          <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">JsonFunctions</span><span class="o">.</span><span class="na">valueOfString</span><span class="o">(</span><span class="s">"date"</span><span class="o">));</span>
+
+    <span class="c1">// also note TStream support for a fluent programming style</span>
+    <span class="c1">// and use of TStream.flatmap() to transform in input list to</span>
+    <span class="c1">// an output list and then add each output list item as a separate</span>
+    <span class="c1">// tuple to the output stream</span>
+</code></pre></div>
+<p>Want to sink to a log via SLF4J or another logging system?  Just do it!</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kn">import</span> <span class="nn">org.slf4j.Logger</span><span class="o">;</span>
+    <span class="kn">import</span> <span class="nn">org.slf4j.LoggerFactory</span><span class="o">;</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">MyClass</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+    <span class="n">readings</span><span class="o">.</span><span class="na">sink</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"reading: {}"</span><span class="o">,</span> <span class="n">reading</span><span class="o">));</span>
+</code></pre></div>
+<p>Want to publish to Elasticsearch? See <a href="https://issues.apache.org/jira/browse/EDGENT-368">EDGENT-368</a> for a full code example.</p>
+
+<h3 id="more-on-ingest">More on Ingest</h3>
+
+<p>You&#39;ve seen how to periodically poll a function to get a some data.<br>
+That&#39;s just one of the methods defined in <a href="/javadoc/latest/index.html?org/apache/edgent/topology/Topology.html">Topology</a> for ingesting data - for creating source streams.</p>
+
+<p>Also note that the tuples (a.k.a. events, data, objects) in a <a href="/javadoc/latest/index.html?org/apache/edgent/topology/TStream.html">TStream</a> can be any type. There&#39;s no special Edgent tuple type hierarchy.</p>
+
+<p>Want readings from multiple sensors in a single stream tuple?</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <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">SimpleSimulatedSensor</span> <span class="n">pressureSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimpleSimulatedSensor</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">events</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">()</span> <span class="o">-&gt;</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">"temp"</span><span class="o">,</span> <span class="n">tempSensor</span><span class="o">.</span><span class="na">get</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">"pressure"</span><span class="o">,</span> <span class="n">pressureSensor</span><span class="o">.</span><span class="na">get</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">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>
+<p>Want to define a class or use an existing one for a tuple?</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SensorReading</span> <span class="o">{</span>
+        <span class="kt">double</span> <span class="n">temp</span><span class="o">;</span>
+        <span class="kt">double</span> <span class="n">pressure</span><span class="o">;</span>
+        <span class="kd">public</span> <span class="n">SensorReading</span><span class="o">(</span><span class="kt">double</span> <span class="n">temp</span><span class="o">,</span> <span class="kt">double</span> <span class="n">pressure</span><span class="o">)</span> <span class="o">{</span>
+            <span class="k">this</span><span class="o">.</span><span class="na">temp</span> <span class="o">=</span> <span class="n">temp</span><span class="o">;</span>
+            <span class="k">this</span><span class="o">.</span><span class="na">pressure</span> <span class="o">=</span> <span class="n">pressure</span><span class="o">;</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">SimpleSimulatedSensor</span> <span class="n">pressureSensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SimpleSimulatedSensor</span><span class="o">();</span>
+
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">SensorReading</span><span class="o">&gt;</span> <span class="n">readings</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">()</span> <span class="o">-&gt;</span> <span class="k">new</span> <span class="n">Reading</span><span class="o">(</span><span class="n">tempSensor</span><span class="o">.</span><span class="na">get</span><span class="o">(),</span> <span class="n">pressureSensor</span><span class="o">.</span><span class="na">get</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>
+<h4 id="simulated-sensors">Simulated Sensors</h4>
+
+<p>Edgent provides some simple simulated sensors that can be helpful to get going.
+You&#39;ve already seen <code>SimulatedTemperatureSensor</code> and
+<code>SimpleSimulatedSensor</code> - included in the Edgent Samples source release bundle.
+There are additional ones in the same Java package.</p>
+
+<h4 id="sensor-library">Sensor library</h4>
+
+<p>Wondering if Edgent has a sensor library?  It does not
+because there seems to be little value in supplying one.</p>
+
+<p>Using Edgent&#39;s stream ingest primitives (e.g., <code>Topology.poll(), Topology.events()</code>,
+etc) it&#39;s trivial for you to call the sensor&#39;s APIs to get 
+readings and compose them into a stream data object of your
+choosing to be added a <code>TStream</code>.</p>
+
+<h3 id="filtering">Filtering</h3>
+
+<p>Let&#39;s get back to our original <code>ImpressiveEdgentExample</code>
+and explore making it smarter - push more analytics out
+to the edge!</p>
+
+<p>Want to only publish readings with values less than 5 or more than 30?</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// add this after the poll()</span>
+    <span class="n">readings</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">tuple</span> <span class="o">-&gt;</span> <span class="n">tuple</span> <span class="o">&lt;</span> <span class="mi">5</span><span class="n">d</span> <span class="o">||</span> <span class="n">tuple</span> <span class="o">&gt;</span> <span class="mi">30</span><span class="n">d</span><span class="o">);</span>
+</code></pre></div>
+<p>Your filter predicate function can do what ever it needs to do!</p>
+
+<p>Or use the <a href="/javadoc/latest/index.html?org/apache/edgent/analytics/sensors/Range.html">Range</a> utility</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">range</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">open</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="mi">30</span><span class="o">);</span>
+    <span class="n">readings</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">reading</span> <span class="o">-&gt;</span> <span class="o">!</span><span class="n">range</span><span class="o">.</span><span class="na">contains</span><span class="o">(</span><span class="n">reading</span><span class="o">));</span>
+</code></pre></div>
+<p>Or</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">readings</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">Ranges</span><span class="o">.</span><span class="na">outsideOf</span><span class="o">(</span><span class="n">Ranges</span><span class="o">.</span><span class="na">open</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="mi">30</span><span class="o">)));</span>
+</code></pre></div>
+<p>That alone isn&#39;t a very compelling use of Range but consider
+a larger context.
+A Range has a simple String representation (e.g., the above is <code>&quot;(5d,30d)&quot;</code>)
+so that value could be read from an application configuration file
+on startup, or received from a device command to create a
+dynamically configurable application.</p>
+
+<p><a href="/javadoc/latest/index.html?org/apache/edgent/analytics/sensors/Filters.html">Filters.deadband</a>
+offers a more sophisticated filter.
+There&#39;s a nice graphic depection of the filter behavior in the method&#39;s javadoc.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">range</span> <span class="o">=</span> <span class="n">Ranges</span><span class="o">.</span><span class="na">open</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="mi">30</span><span class="o">);</span>
+    <span class="n">readings</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">readings</span><span class="o">,</span> <span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">reading</span><span class="o">,</span> <span class="n">range</span><span class="o">);</span>
+</code></pre></div>
+<p>There&#39;s also a <a href="/javadoc/latest/index.html?org/apache/edgent/analytics/sensors/Filters.html">Filters.deadtime</a> filter can can come in handy.</p>
+
+<h3 id="split">Split</h3>
+
+<p>Want to split a TStream into multiple TStreams - e.g., to handle
+different categories of tuples differently?  <code>TStream.split()</code>
+is essentially an efficient group of multiple filters.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">List</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">twoStreams</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span> <span class="n">d</span> <span class="o">-&gt;</span> <span class="n">range</span><span class="o">.</span><span class="na">test</span><span class="o">(</span><span class="n">d</span><span class="o">)</span> <span class="o">?</span> <span class="mi">0</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">Double</span><span class="o">&gt;</span> <span class="n">inRange</span> <span class="o">=</span> <span class="n">twoStreams</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="mi">0</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">outOfRange</span> <span class="o">=</span> <span class="n">twoStreams</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
+</code></pre></div>
+<p>Your split function can yield as many output streams as you need.
+There&#39;s also a form of <code>split()</code> that works with <code>Enum</code> identifiers.</p>
+
+<h3 id="transforms">Transforms</h3>
+
+<p>Want to convert a value that&#39;s in Centigrade to Farenheit?</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">readings</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="o">(</span><span class="n">reading</span> <span class="o">*</span> <span class="mf">1.8</span><span class="o">)</span> <span class="o">+</span> <span class="mi">32</span><span class="o">);</span>
+</code></pre></div>
+<p>Your map function can do what ever it needs to do!
+E.g., a tuple could be a video image frame and the map
+function could generate face detection events.</p>
+
+<p>We&#39;ve already seen converting a numeric value to a JsonObject using <a href="/javadoc/latest/index.html?org/apache/edgent/topology/json/JsonFunctions.html">JsonFunctions</a></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">events</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">JsonFunctions</span><span class="o">.</span><span class="na">valueOfNumber</span><span class="o">(</span><span class="s">"temp"</span><span class="o">));</span>
+</code></pre></div>
+<p>What about scoring against a model?  Edgent doesn&#39;t have
+anything special for that at least at this time.<br>
+But it&#39;s easy to integrate the use of some scoring model
+system into an Edgent application.<br>
+Imagine a package defined something like:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Model</span> <span class="o">{</span>
+      <span class="c1">// load model from a File</span>
+      <span class="kd">public</span> <span class="n">Model</span><span class="o">(</span><span class="n">File</span> <span class="n">f</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">};</span>
+      <span class="c1">// score String s against the model</span>
+      <span class="c1">// return a confidence score between 0.0 and 1.0</span>
+      <span class="kd">public</span> <span class="n">Double</span> <span class="n">score</span><span class="o">(</span><span class="n">String</span> <span class="n">s</span><span class="o">);</span>
+    <span class="o">}</span>
+</code></pre></div>
+<p>An Edgent application might use such a model in this manner</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="kd">final</span> <span class="n">Model</span> <span class="n">model</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Model</span><span class="o">(...);</span>
+
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">events</span> <span class="o">=</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">scoredEvents</span> <span class="o">=</span> <span class="n">events</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">event</span> <span class="o">-&gt;</span> <span class="o">{</span>
+        <span class="n">Double</span> <span class="n">score</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="na">score</span><span class="o">(</span><span class="n">event</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">"event"</span><span class="o">,</span> <span class="n">event</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">"score"</span><span class="o">,</span> <span class="n">score</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="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;</span> <span class="n">interestingEvents</span> <span class="o">=</span> 
+        <span class="n">scoredEvents</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">jo</span> <span class="o">-&gt;</span> <span class="n">jo</span><span class="o">.</span><span class="na">getAsJsonPrimitive</span><span class="o">.</span><span class="na">getAsDouble</span><span class="o">(</span><span class="s">"score"</span><span class="o">)</span> <span class="o">&gt;</span> <span class="mf">0.75</span><span class="o">);</span>
+</code></pre></div>
+<p>OK, maybe that one was a bit too large a code fragment for this introduction.</p>
+
+<h3 id="windowing-and-aggregation">Windowing and aggregation</h3>
+
+<p>Want to do signal smoothing - create a continuously aggregated average over the last 10 readings?
+Here, each time a tuple is added to the window a new aggregated value computed and is added to the output stream.</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">TWindow</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">window</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">last</span><span class="o">(</span><span class="mi">10</span><span class="o">,</span> <span class="n">Functions</span><span class="o">.</span><span class="na">unpartitioned</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">readings</span> <span class="o">=</span> <span class="n">window</span><span class="o">.</span><span class="na">aggregate</span><span class="o">((</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">list</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">partition</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
+          <span class="kt">double</span> <span class="n">avg</span> <span class="o">=</span> <span class="mf">0.0</span><span class="o">;</span>
+          <span class="k">for</span> <span class="o">(</span><span class="n">Double</span> <span class="n">d</span> <span class="o">:</span> <span class="n">list</span><span class="o">)</span> <span class="n">avg</span> <span class="o">+=</span> <span class="n">d</span><span class="o">;</span>
+          <span class="k">if</span> <span class="o">(</span><span class="n">list</span><span class="o">.</span><span class="na">size</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">)</span> <span class="n">avg</span> <span class="o">/=</span> <span class="n">list</span><span class="o">.</span><span class="na">size</span><span class="o">();</span>
+          <span class="k">return</span> <span class="n">avg</span><span class="o">;</span>
+        <span class="o">});</span>
+</code></pre></div>
+<p>Want a window over the last 10 seconds instead?</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="c1">// TWindow&lt;Double,Integer&gt; window = readings.last(10, Functions.unpartitioned());</span>
+    <span class="n">TWindow</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">window</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">last</span><span class="o">(</span><span class="mi">10</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">Functions</span><span class="o">.</span><span class="na">unpartitioned</span><span class="o">());</span>
+    <span class="o">...</span>
+</code></pre></div>
+<p>Or want to do data reduction - reduce the readings to one average value every window batch?
+Once the window is full, the batch of tuples is aggregated, the result is added to the output
+stream and the window is cleared.  The next aggregation isn&#39;t generated until the window
+is full again.</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">readings</span> <span class="o">=</span> <span class="n">window</span><span class="o">.</span><span class="na">batch</span><span class="o">((</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">list</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">partition</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
+          <span class="kt">double</span> <span class="n">avg</span> <span class="o">=</span> <span class="mf">0.0</span><span class="o">;</span>
+          <span class="k">for</span> <span class="o">(</span><span class="n">Double</span> <span class="n">d</span> <span class="o">:</span> <span class="n">list</span><span class="o">)</span> <span class="n">avg</span> <span class="o">+=</span> <span class="n">d</span><span class="o">;</span>
+          <span class="k">if</span> <span class="o">(</span><span class="n">list</span><span class="o">.</span><span class="na">size</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">)</span> <span class="n">avg</span> <span class="o">/=</span> <span class="n">list</span><span class="o">.</span><span class="na">size</span><span class="o">();</span>
+          <span class="k">return</span> <span class="n">avg</span><span class="o">;</span>
+        <span class="o">});</span>
+</code></pre></div>
+<p>Or use <a href="/javadoc/latest/index.html?org/apache/edgent/analytics/math3/Aggregations.html">Aggregations</a> for simple statistics</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">readings</span> <span class="o">=</span> <span class="n">window</span><span class="o">.</span><span class="na">batch</span><span class="o">((</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">list</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">partition</span><span class="o">)</span> <span class="o">-&gt;</span>
+          <span class="n">Aggregations</span><span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">list</span><span class="o">,</span> <span class="n">Statistics2</span><span class="o">.</span><span class="na">MEAN</span><span class="o">));</span>
+</code></pre></div>
+<p>Want to compute several basic statistics and a regression for an aggregation? Use <a href="/javadoc/latest/index.html?org/apache/edgent/analytics/math3/AggregationsN.html">AggregationsN</a></p>
+<div class="highlight"><pre><code class="language-java" data-lang="java">    <span class="n">TWindow</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">window</span> <span class="o">=</span> <span class="n">readings</span><span class="o">.</span><span class="na">last</span><span class="o">(</span><span class="mi">10</span><span class="o">,</span> <span class="n">Functions</span><span class="o">.</span><span class="na">unpartitioned</span><span class="o">());</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">ResultMap</span><span class="o">&gt;</span> <span class="n">aggResults</span> <span class="o">=</span> <span class="n">window</span><span class="o">.</span><span class="na">batch</span><span class="o">((</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">list</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">partition</span><span class="o">)</span> <span class="o">-&gt;</span> 
+                       <span class="n">AggregationsN</span><span class="o">(</span><span class="n">list</span><span class="o">,</span> <span class="n">Statistic2</span><span class="o">.</span><span class="na">MIN</span><span class="o">,</span> <span class="n">Statistic2</span><span class="o">.</span><span class="na">MAX</span><span class="o">,</span>
+                                     <span class="n">Statistic2</span><span class="o">.</span><span class="na">SUM</span><span class="o">,</span> <span class="n">Statistic2</span><span class="o">.</span><span class="na">STDDEV</span><span class="o">,</span>
+                                     <span class="n">Statistic2</span><span class="o">.</span><span class="na">COUNT</span><span class="o">,</span> <span class="n">Regression2</span><span class="o">.</span><span class="na">SLOPE</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">joAggResults</span> <span class="o">=</span> <span class="n">aggResults</span><span class="o">(</span><span class="n">ResultMap</span><span class="o">.</span><span class="na">toJsonObject</span><span class="o">());</span> <span class="c1">// optional</span>
+</code></pre></div>
+<p>There&#39;s also support for multi-variable aggregations - independent statistic
+aggregations for multiple variables in a list of tuples.  e.g., temperatures and
+pressures variables in each tuple.</p>
+
+<p>If the objects in the window are a JsonObject, <a href="/javadoc/latest/index.html?org/apache/edgent/analytics/math3/json/JsonAnalytics.html">JsonAnalytics</a> can be handy.</p>
+
+<h3 id="misc">Misc</h3>
+
+<p>Want to run an expensive computation on multiple tuples in parallel?<br>
+Easy with <a href="/javadoc/latest/index.html?org/apache/edgent/topology/plumbing/PlumbingStreams.html">PlumbingStreams.parallel()</a>!</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">SensorReading</span><span class="o">&gt;</span> <span class="n">readings</span> <span class="o">=</span> <span class="o">...</span>
+    <span class="c1">// 3 parallel channels - i.e., can process 3 tuples simultaneously on separate theads</span>
+    <span class="n">TStream</span><span class="o">&lt;</span><span class="n">MyData</span><span class="o">&gt;</span> <span class="n">analyzed</span> <span class="o">=</span> <span class="n">PlumbingStreams</span><span class="o">.</span><span class="na">parallel</span><span class="o">(</span><span class="n">readings</span><span class="o">,</span>
+                   <span class="mi">3</span><span class="o">,</span> <span class="n">PlumbingStreams</span><span class="o">.</span><span class="na">roundRobinSplitter</span><span class="o">(),</span>
+                   <span class="o">(</span><span class="n">input</span><span class="o">,</span> <span class="n">channel</span><span class="o">,</span> <span class="n">output</span><span class="o">)</span> <span class="o">-&gt;</span>
+                     <span class="n">input</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">myExpensiveComputation</span><span class="o">(</span><span class="n">reading</span><span class="o">)));</span>
+</code></pre></div>
+<p>See <a href="/javadoc/latest/index.html?org/apache/edgent/topology/plumbing/PlumbingStreams.html">PlumbingStreams.parallelBalanced</a> for a load balanced form that will assigns
+a tuple to any idle channel.</p>
+
+<p>There are a variety of useful features in <a href="/javadoc/latest/index.html?org/apache/edgent/topology/plumbing/PlumbingStreams.html">PlumbingStreams</a>.</p>
+
+<h3 id="wrap-up">Wrap up</h3>
+
+<p>We touched on a lot, but not all, of Edgent.
+Hopefully you&#39;re convinced that the combination of Edgent&#39;s API, connectors, etc are powerful and easy to use.</p>
+
+<p>See the full <a href="/javadoc/latest">Edgent APIs Javadoc</a>
+and <a href="edgent-getting-started">Getting Started Guide</a> for more information including pointers to more introductory
+material and samples and recipies.</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: Dec 15, 2017 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Edgent 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>
+
+    <div class="container">
+        <div class="row">
+        <div>
+            <img class="img-responsive center-block" src="../img/edgent_incubation.png" style="display: block; margin: auto;"alt="">
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 7ecf903..d777d74 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li class="active"><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <li><a href="#">Sample Programs</a>
-                <ul>
-                    
-                    
-                    
-                    
-                    <li><a href="../docs/samples.html">Samples</a></li>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li class="active"><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
-                    
-
-                    
-
-                    
-                    
-                </ul>
-                
-                
-            
             <li><a href="#">Using the Console</a>
                 <ul>
                     
@@ -738,7 +755,7 @@ and Edgent provides a <a href="/javadoc/latest/index.html?org/apache/edgent/conn
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>


[8/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 3c4d280..22b4d6d 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -8,6 +8,19 @@
 
 
 {
+"title": "Edgent Application Development, Packaging and Execution.",
+"tags": "",
+"keywords": "",
+"url": "../docs/application-development",
+"summary": "",
+"body": "To develop Edgent applications you will utilize the Edgent SDK/runtime jars and package your applicationartifacts for deploying to an edge device or gateway for execution.The Edgent SDK/runtime jars are published to the [ASF Nexus Releases Repository](https://repository.apache.org/content/repositories/releases/)and the Maven Central Repository.Alternatively, you can build the Edgent SDK yourself from a source releaseand the resulting jars will be added to your local maven repository.  There are a set of Edgent jars for each supported platform: java8, java7, and android.The maven artifact groupIds for the Edgent jars are:- `org.apache.edgent`  - for java8,- `org.apache.edgent.java7`- `org.apache.edgent.android`Note, the Java package names for Edgent components do not incorporatethe platform kind; the package names are the same regardless of the platform.See the release's `JAVA_SUPPORT` information in [downloads](downloads)for more information on artifact coordinates, etc.## 
 Writing Your ApplicationThe Edgent API is most easily used by using Java8 lambda expressions.If you only want to deploy your Edgent application to a java8 environmentthen your application may use any java8 features it chooses.  You compileand run against the Edgent java8 jars.If you want to deploy your Edgent application to a java7 or androidenvironment, it's still easiest to write your application using the Edgent APIswith java8 lambda expressions.  You compile with java8 but constrain your application to using java7 features plus java8 lambda expressions.The Retrolambda tool is used to convert your application's generated class files to java7.The Edgent java7 and android platform jars were created in that manner too.Your application would then be run against the appropriateEdgent platform jars. Alternatively you can forgo the use of lambdaexpressions and write your application in java7 and compileand run against the appropriate Edgent platform jars.For convenience it's easiest to 
 build your Edgent application using maven-repository-enabled build tooling (e.g., maven, maven-enabledEclipse or IntelliJ).  The tooling transparently downloads the required Edgent jars from the maven repository if they aren'talready present in your local maven repository.### Edgent Application Template You can clone the `template` project as a starting point for yourEdgent application. See [Quickstart with Edgent Samples](edgent-getting-started-samples)for information about the template sample.TODO: we would like to provide a maven Edgent Application archetypethat users can use to create an application project template.### Using Non-maven-integrated ToolingIf you can't or don't want to use maven-repository-enabled toolingyou will need to get a local copy of the Edgent jars and theirdependencies and add them to your compile classpath.  This caseis covered in subsequent sections.## Packaging and ExecutionEdgent doesn't provide any \"deployment\" mechanisms other than its primitive\"r
 egister jar\" feature (see the `IotProvider` javadoc).  Generally, managingthe deployment of application and Edgent jars to edge devices is left to others (as an example, the IBM Watson IoT Platform has device APIs tosupport \"firmware\" download/update).To deploy an Edgent application to a device like a Raspberry Pi, you could just FTP the application to the device and modify thedevice to start the application upon startup or on command.Also see the `cron` folder in the Edgent samples.To run your Edgent application on an edge device, your applicationjar(s) need to be on the device.  Additionally, the application's dependent Edgent jars (and their transitive dependencies) need tobe on the device.  It's unlikely the device will be able to retrievethe dependencies directly from a remote maven repository such asmaven central.Here are three options for dealing with this.### Option 1: Create an uber-jar for your applicationThe uber jar is a standalone entity containingeverything that's n
 eeded to run your application.The uber jar contains the application's classes andthe application's dependent Edgent classes and theirtransitive dependencies.The template project's pom andthe Edgent samples poms contain configuration informationthat generates an uber jar in addition to the standardapplication jar.  Eclipse can also export an uber jar.You run your application like:    `java -cp  `### Option 2: Separately manage the application and Edgent jarsCopy the application's jars to the device.Get a copy of the Edgent jars and their dependenciesonto the device. It's possible for multiple Edgentapplications to share the Edgent jars.The Apache Edgent project does not release abinary bundle containing all of the Edgent jarsand their dependencies.  The binary artifactsare only released to maven central.See `get-edgent-jars-project/README.md` in the Edgent samples for a tool to get a copy of the Edgent jars.### Option 3: Create an application package bundleThe bundle is a standalone 
 entity containingeverything that's needed to run your application.   The bundle is copied to the device and unpacked.A run script forms the appropriate `CLASSPATH`to the package's jars and starts the application.The `package-app.sh` script included with theEdgent samples creates an application bundle.The application bundle contains the application's jar,the application's dependent Edgent jars (as specified inthe application's pom) and the Edgent jars' dependencies,and a run-app.sh script.The application's dependent Edgent runtime jars and their dependencies are retrieved from a local or remotemaven repository.If the application's execution environment isjava7 or android, use the appropriate script optionsto retrieve the appropriate Edgent platform jars forexecution.The generated run-app.sh script configures the CLASSPATHand runs the application.E.g.,``` shcd MyApp # the application's project directorypackage-app.sh --mainClass com.mycompany.app.MyApp --appjar target/my-app-1.0-SNAPS
 HOT.jar##### get the app specific dependencies......##### create target/app-run.sh...##### create target/app-pkg.tar...##### Copy target/app-pkg.tar to the destination system\"##### To run the app:\"#####     mkdir app-pkg\"#####     tar xf app-pkg.tar -C app-pkg\"#####     (cd app-pkg; ./app-run.sh)\"```For more usage information:``` sh./package-app.sh -h```"
+
+},
+
+
+
+
+{
 "title": "Committers",
 "tags": "",
 "keywords": "",
@@ -65,7 +78,20 @@
 "keywords": "",
 "url": "../docs/downloads",
 "summary": "",
-"body": "Official Apache Edgent releases are available for download from the ASF distribution site. A release consists of a source code bundle and a convenience binary bundle. See the table below for a release's download links.If you just want to use Edgent, it is easiest to download and unpack a binary bundle. The bundle includes the release's Javadoc. The Javadoc is also accessible online. For more information, please refer to the [Getting started guide](edgent-getting-started).A source bundle contains a README describing how to build the sources.If you want to access the latest unreleased Edgent source or contribute to the Edgent runtime development, use the [GitHub repository]({{  site.data.project.source_repository_mirror }}). You can also select a particular release version by release tag (e.g., 1.0.0-incubating). See [README.md](https://github.com/apache/incubator-edgent/blob/master/README.md) and [DEVELOPMENT.md](https://github.com/apache/incubator-edgent/blob/master/DEVELOP
 MENT.md) in the repository for more information.See the [community](community) page for more information about contributing to Edgent development.## Apache Edgent ReleasesIt is essential that you verify the integrity of a downloaded bundle.  See [how to verify]({{ site.data.downloads.generic_how_to_verify_location }}) for details on verifying using downloaded KEYS, PGP signature, MD5, or SHA information.Download the [KEYS]({{ site.data.downloads.edgent_keys_file_location }}) file for verifying a bundle's PGP signature.| Version           | Date           | Bundles | Release Notes | Docs | PGP | MD5 | SHA   ||:-----------------:|:--------------:|:-------:|:-------------:|:----:|:---:|:---:|:-----:|| 1.1.0-incubating  | 2017-03-20     | [Source]({{ site.data.downloads.edgent_1-1-0_dist_location }}) | [1.1.0 Release]({{ site.data.downloads.edgent_1-1-0_release_note }}) | [Javadoc]({{ site.data.downloads.edgent_1-1-0_doc_location }}) | [ASC]({{ site.data.downloads.edgent_1-1-0_asc_locat
 ion  }}) | [MD5]({{  site.data.downloads.edgent_1-1-0_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-1-0_sha_location }}) ||                   |                | [Binary]({{ site.data.downloads.edgent_1-1-0_bin_dist_location }}) | | | [ASC]({{ site.data.downloads.edgent_1-1-0_bin_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-1-0_bin_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-1-0_bin_sha_location }}) || 1.0.0-incubating  | 2016-12-15     | [Source]({{ site.data.downloads.edgent_1-0-0_dist_location }}) | [1.0.0 Release]({{ site.data.downloads.edgent_1-0-0_release_note }}) | [Javadoc]({{ site.data.downloads.edgent_1-0-0_doc_location }}) | [ASC]({{ site.data.downloads.edgent_1-0-0_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-0-0_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-0-0_sha_location }}) ||                   |                | [Binary]({{ site.data.downloads.edgent_1-0-0_bin_dist_location }}) | | | [ASC]({{ site.dat
 a.downloads.edgent_1-0-0_bin_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-0-0_bin_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-0-0_bin_sha_location }}) |"
+"body": "Official ASF Apache Edgent releases consist of a single Edgent SDK/runtime source bundle and convenience binaries. Convenience binary jars for the Edgent SDK/runtime are available at the [ASF Nexus Releases Repository](https://repository.apache.org/content/repositories/releases/) and Maven Central.  See [Quickstart with Edgent Samples](edgent-getting-started-samples) if you just want to use Edgent and jump-start your Edgent application development.Note, a separate binary bundle consisting of all of the Edgent runtime jars is not released.  A tool is available in the samples that can create one.A source bundle contains a README describing how to build the sources.If you want to access the latest unreleased Edgent source or contribute to the Edgent runtime development, use the [GitHub repository]({{  site.data.project.source_repository_mirror }}). You can also select a particular release version by release tag (e.g., 1.0.0-incubating). See [README.md](https://github.com/apach
 e/incubator-edgent/blob/master/README.md) and [DEVELOPMENT.md](https://github.com/apache/incubator-edgent/blob/master/DEVELOPMENT.md) in the repository for more information.See the [community](community) page for more information about contributing to Edgent development.## Apache Edgent Releases| Version           | Docs ||:-----------------:|:----:|| 1.2.0-incubating  | [JAVA_SUPPORT]({{ site.data.downloads.edgent_1-2-0_java_support_doc_location }}), [Javadoc]({{ site.data.downloads.edgent_1-2-0_doc_location }}), [Samples](edgent-getting-started-samples)  |It is essential that you verify the integrity of a downloaded bundle.  See [how to verify]({{ site.data.downloads.generic_how_to_verify_location }}) for details on verifying using downloaded KEYS, PGP signature, MD5, or SHA information.Download the [KEYS]({{ site.data.downloads.edgent_keys_file_location }}) file for verifying a bundle's PGP signature.| Version           | Date           | Bundles | Release Notes | PGP | MD5 | SHA
    ||:-----------------:|:--------------:|:-------:|:-------------:|:---:|:---:|:-----:|| 1.2.0-incubating  | 2017-12-14     | [Source]({{ site.data.downloads.edgent_1-2-0_dist_location }}) | [1.2.0 Release]({{ site.data.downloads.edgent_1-2-0_release_note }}) | [tar-ASC]({{ site.data.downloads.edgent_1-2-0_asc_location  }}) | [tar-MD5]({{  site.data.downloads.edgent_1-2-0_md5_location }}) | [tar-SHA]({{  site.data.downloads.edgent_1-2-0_sha_location }}) ||                   |                |         |               | [zip-ASC]({{ site.data.downloads.edgent_1-2-0_zip_asc_location  }}) | [zip-MD5]({{  site.data.downloads.edgent_1-2-0_zip_md5_location }}) | [zip-SHA]({{  site.data.downloads.edgent_1-2-0_zip_sha_location }}) |## Releases Prior to 1.2.0Official Apache Edgent releases are available for download from the ASF distribution site. A release consists of a source code bundle and a convenience binary bundle. See the table below for a release's download links.There is not a sepa
 rate samples source bundle and convenience binary jars are not distributed to the ASF Nexus Repository or Maven Central.If you just want to use Edgent, it is easiest to download and unpack a binary bundle. The bundle includes the release's Javadoc. The Javadoc is also accessible online. For more information, please refer to the [Getting started guide](edgent-getting-started).A source bundle contains a README describing how to build the sources.It is essential that you verify the integrity of a downloaded bundle.  See [how to verify]({{ site.data.downloads.generic_how_to_verify_location }}) for details on verifying using downloaded KEYS, PGP signature, MD5, or SHA information.Download the [KEYS]({{ site.data.downloads.edgent_keys_file_location }}) file for verifying a bundle's PGP signature.| Version           | Date           | Bundles | Release Notes | Docs | PGP | MD5 | SHA   ||:-----------------:|:--------------:|:-------:|:-------------:|:----:|:---:|:---:|:-----:|| 1.1.0-incuba
 ting  | 2017-03-20     | [Source]({{ site.data.downloads.edgent_1-1-0_dist_location }}) | [1.1.0 Release]({{ site.data.downloads.edgent_1-1-0_release_note }}) | [Javadoc]({{ site.data.downloads.edgent_1-1-0_doc_location }}) | [ASC]({{ site.data.downloads.edgent_1-1-0_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-1-0_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-1-0_sha_location }}) ||                   |                | [Binary]({{ site.data.downloads.edgent_1-1-0_bin_dist_location }}) | | | [ASC]({{ site.data.downloads.edgent_1-1-0_bin_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-1-0_bin_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-1-0_bin_sha_location }}) || 1.0.0-incubating  | 2016-12-15     | [Source]({{ site.data.downloads.edgent_1-0-0_dist_location }}) | [1.0.0 Release]({{ site.data.downloads.edgent_1-0-0_release_note }}) | [Javadoc]({{ site.data.downloads.edgent_1-0-0_doc_location }}) | [ASC]({{ site.data.downloads.edgent_1
 -0-0_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-0-0_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-0-0_sha_location }}) ||                   |                | [Binary]({{ site.data.downloads.edgent_1-0-0_bin_dist_location }}) | | | [ASC]({{ site.data.downloads.edgent_1-0-0_bin_asc_location  }}) | [MD5]({{  site.data.downloads.edgent_1-0-0_bin_md5_location }}) | [SHA]({{  site.data.downloads.edgent_1-0-0_bin_sha_location }}) |"
+
+},
+
+
+
+
+{
+"title": "Getting started with Apache Edgent Samples",
+"tags": "",
+"keywords": "",
+"url": "../docs/edgent-getting-started-samples",
+"summary": "",
+"body": "Getting started with the Edgent samples is a great way to start using Edgent andjump-start your Edgent application development.Be sure to see _Additional Resources_ below for more great info!# QuickstartConvenience binaries (jars) for the Edgent runtime releases are distributedto the ASF Nexus Repository and the Maven Central Repository.  You don't haveto manually download the Edgent jars and there is no need to download the Edgent runtime sources and build them unless you want to.By default the samples depend on Java8.  Download and install Java8 if needed.## Download the Edgent SamplesGet the Edgent Samples either by cloning or downloading the [Edgent Samples GitHub repository](https://github.com/apache/incubator-edgent-samples):```shgit clone https://github.com/apache/incubator-edgent-samplescd incubator-edgent-samplesgit checkout develop```or to download:  + Open the _Clone or download_ pulldown at the [Edgent Samples GitHub repository](https://github.com/apache/incubat
 or-edgent-samples)  + Click on _Download ZIP_  + Unpack the downloaded ZIP```sh    unzip incubator-edgent-samples-develop.zip```## Build the Samples```shcd ./mvnw clean package  # build for Java8```## Run the HelloEdgent sample```shcd topology./run-sample.sh HelloEdgent   # prints a hello message and terminates  Hello  Edgent!  ...```# Additional ResourcesSee [The Power of Edgent](power-of-edgent) to help you quickly start to get a sense of Edgent's capabilities.See the [Getting Started Guide](edgent-getting-started) for a tutorial.Much more information about the samples is available in the README.md at the [Edgent Samples GitHub repository](https://github.com/apache/incubator-edgent-samples), including:  + application development and packaging  + application template project  + list of samples  + using an IDE"
 
 },
 
@@ -78,7 +104,7 @@
 "keywords": "",
 "url": "../docs/edgent-getting-started",
 "summary": "",
-"body": "## What is Apache Edgent?Edgent 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 [Edgent overview](home).### Apache Edgent and streaming analyticsThe fundamental building block of an Edgent application is a **stream**: a continuous sequence of tuples (messages, events, sensor readings, and so on).The Edgent 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.Edgent's primary API is functional
  where 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 EdgentTo use Edgent, you need the Edgent JAR files, which you may obtain by completing the following steps.1. Locate the Edgent release you would like to use on the [downloads page]({{ site.data.project.download }})2. In the Bundles column for the desired release:    * Click on the _Binary_ link if you simply want to use Edgent. This is the easiest method is to get up and running as it contains a pre-built version of Edgent.    * Click on the _Source_ link if you would like access to the Edgent source files. If you choose this method, you must manually build Edgent yourself.3. Download the .tgz file from one of the mirror sites4. Unpack the downloaded file: `tar zxvf apache-edgent-X.X.X-incubating-XXX.tgz`5. Obtain the JARs    * If you are using a binary bundle, 
 then the Java 8 JARs are located in `edgent-X.X.X/java8`    * If you are using a source bundle, build the source code:        1. Install [Gradle](https://gradle.org/) if it is not yet installed        2. Navigate to the unpacked directory: `cd edgent-X.X.X-src`        3. Run `gradle` to initialize the Gradle wrapper        4. Build the code and Javadoc: `./gradlew assemble`        5. The Java 8 JARs are located in `edgent-X.X.X-src/build/distributions/java8`### Setting up your environmentEnsure that you are running a supported environment. For more information, see the [Edgent overview](home). This guide assumes you're running Java 8. The Edgent Java 8 JAR files are located in either the `edgent-X.X.X/java8` or `edgent-X.X.X-src/build/distributions/java8` directory, depending on whether you downloaded a binary or source bundle.1. Create a new Java project in Eclipse, and specify Java 8 as the execution environment JRE:    2. Include one or more Edgent JARs in your project's build pa
 th depending on what features your application uses:    1. Include one or more of the topology providers:        * `java8/lib/edgent.providers.development.jar` (if using the [DevelopmentProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/development/DevelopmentProvider.html))        * `java8/lib/edgent.providers.direct.jar`(if using the [DirectProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html))        * `java8/lib/edgent.providers.iot.jar` (if using the [IotProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/iot/IotProvider.html))    2. Include the JARs for any Edgent connectors or analytic features you use in `java8/connectors` and `java8/analytics`, respectively    3. Include the JARs for any Edgent utility features you use:        * `java8/utils/metrics/lib/edgent.utils.metrics.jar` (for the [org.apache.edgent.metrics]({{ site.docsurl }}/org/apache/{{ site.
 data.project.unix_name }}/metrics/package-summary.html) package)        * `java8/utils/streamscope/lib/edgent.utils.streamscope.jar` (for the [org.apache.edgent.streamscope]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/streamscope/package-summary.html) package)    4. Include the JAR for the [java.util.logging](https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html) framework for [SLF4J](https://www.slf4j.org/): `java8/ext/slf4j-jdk14-X.X.X.jar`    Your environment is set up! You can start writing your first Edgent application.## Creating a simple applicationIf you're new to Edgent or to writing streaming applications, the best way to get started is to write a simple program.Edgent 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.) Edgent enables you to process data loca
 lly&mdash;such as, in a car engine, on an Android phone, or on a Raspberry Pi&mdash;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:```javaimport java.util.Random;import org.apache.edgent.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 continu
 ous temperature readings are a stream of data that an Edgent application can process.Our sample Edgent application processes this stream by filtering the data and printing the results. Let's define a TempSensorApplication class for the application:```javaimport java.util.concurrent.TimeUnit;import org.apache.edgent.providers.direct.DirectProvider;import org.apache.edgent.topology.TStream;import org.apache.edgent.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 pro
 viderYour first step when you write an Edgent application is to create a [`DirectProvider`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new DirectProvider();```A `Provider` is an object that contains information on how and where your Edgent application will run. A `DirectProvider` is a type of Provider that runs your application directly within the current virtual machine when its [`submit()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html#submit-org.apache.{{ site.data.project.unix_name }}.topology.Topology-) method is called.### Creating a topologyAdditionally, a Provider is used to create a [`Topology`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/Topology.html) instance:```javaTopology topology = dp.newTopology();```In Edgent, `Topology` is a container that describes the structure of your appl
 ication:* Where the streams in the application come from* How the data in the stream is modifiedIn the TempSensorApplication class above, we have exactly one data source: the `TempSensor` object. We define the source stream by calling [`topology.poll()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/Topology.html#poll-org.apache.{{ site.data.project.unix_name }}.function.Supplier-long-java.util.concurrent.TimeUnit-), which takes both a [`Supplier`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/function/Supplier.html) function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:```javaTStream 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 taken from the temperature sensor.A streamin
 g application can run indefinitely, so the [`TStream`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/TStream.html) 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 `TStream`In our example, we want to filter the stream of temperature readings, and remove any \"uninteresting\" or expected readings&mdash;specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the `TStream`'s [`filter`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#filter-org.apache.{{ site.data.project.unix_name }}.function.Predicate-) method and pass in a function that returns *true* if the data is interesting and *false* if the data is uninteresting:```javaTStream filteredReadings = tempReadings.filter(reading -> reading  80);```As you can see, the f
 unction 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, Edgent 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()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#print--) method, which prints using  `.toString()` on each tuple that passes through the stream:```javafilteredReadings.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()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#sink-org.apache.{{ site.data.project.unix_name }}.function.Consumer-) and passing in your own function.### Submitting your applicationNow 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:```javadp.submit(topology);```After you run your program, you should see output containing only \"interesting\" data coming from your sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.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 Edgent's functionality. Edgent 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:* [Edgent sample programs](samples)* [Stream processing concepts](streaming-concepts)* [Common Edgent operations](common-edgent-operations)"
+"body": "## What is Apache Edgent?Edgent 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 storeEdgent accellerates your development of applications to push 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.) Edgent applications process data locally&mdash;such as, in a car, on an Android phone, or on a Raspberry Pi&mdash;before it sends 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.See [The Power of Edgent](power-of-edgent) to help you quickly
  start to get a sense of Edgent's capabilities.Releases of Edgent prior to 1.2.0 distributed Edgent and the samples differently than today.  See [Old Getting Started](old-edgent-getting-started) if you are trying to use an older version.There's a lot of information available to get started with Edgent and no \"best order\" for navigating it.  See the navigation sidebar on the left hand side of this page.  In particular it is recommended that you review and visit the various items under _Get Started_.If you want to get a developent environment setup quickly see the [Quickstart with Edgent Samples](edgent-getting-started-samples) item. The _Edgent Cookbook_ topic includes many well documented recipies that are good for learning and jump-starting the development of your application.The rest of this page is a detailed introduction to Edgent using a simple simulated Temperature Sensor application.## Apache Edgent and streaming analyticsThe fundamental building block of an Edgent applicat
 ion is a **stream**: a continuous sequence of tuples (messages, events, sensor readings, and so on).The Edgent 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 external services such as centralized analytic systems through a message hub.Edgent's primary API is functional where streams are sourced, transformed, analyzed or sinked though functions, typically represented as Java8 lambda expressions, such as `reading -> reading  80` to filter temperature readings in Fahrenheit.A **topology** is a graph of streams and their processing transformations. A **provider** is a factory for creating and executing topologies.Basic Edgent Applications follow a common structure:  1. Get a provider  2. Create the topolog
 y and compose its processing graph  3. Submit the topology for executionMore sophisticated applications may consist of multiple topologies that may be dynamically created and started and stopped using commands from external  applications.## Temperature Sensor ApplicationIf you're new to Edgent or to writing streaming applications, the best way to get started is to write a simple program.First we'll go over the details of the application, then we'll run it.Let's create a simple Temperature Sensor Application. The application takes temperature readings from a sensor 1,000 times per second. Instead of reporting each reading, 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:```javaimport java.util.Random;import org.apache.edgent.function.Supplier;public class TempSensor implements Supplier {    double currentTemp = 65.0;    Random rand;    TempSensor(){        r
 and = new Random();    }    @Override    public Double get() {        // Change the current temperature some random amount        double newTemp = rand.nextGaussian() + currentTemp;        currentTemp = newTemp;        return currentTemp;    }}```Every time `TempSensor.get()` is called, it returns a new temperature reading.Our application composes a topology that creates a continuous stream of temperature readings and processes this stream by filtering the data and printing the results. Let's define a TempSensorApplication class for the application:```javaimport java.util.concurrent.TimeUnit;import org.apache.edgent.providers.direct.DirectProvider;import org.apache.edgent.topology.TStream;import org.apache.edgent.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 temp
 Readings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);        TStream filteredReadings = tempReadings.filter(reading -> reading  80);        filteredReadings.print();        dp.submit(topology);    }}```Let's review each line.### Specifying a providerYour first step when you write an Edgent application is to create a _Provider_.  In this case we're using a [DirectProvider]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new DirectProvider();```A `Provider` is an object that contains information on how and where your Edgent application will run. A `DirectProvider` is a type of Provider that runs your application directly within the current virtual machine when its [submit()]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html#submit-org.apache.{{ site.data.project.unix_name }}.topology.Topology-) method is called.The [IotProvider]({{ site.d
 ocsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/providers/iot/IotProvider.html) is an alternative that offers very useful and powerful capabilities.### Creating a topologyThe Provider is used to create a [Topology]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/Topology.html) instance:```javaTopology topology = dp.newTopology();```In Edgent, `Topology` is a container that describes the structure of your processing graph:* Where the streams in the application come from* How the data in the stream is modifiedOur application then composes the topology's progessing graph.### Creating a source `TStream`In the `TempSensorApplication` class above, we have exactly one data source: the `TempSensor` object. We define the source stream by calling [topology.poll()]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/Topology.html#poll-org.apache.{{ site.data.project.unix_name }}.function.Supplier-long-java.util.concurre
 nt.TimeUnit-), which takes both a [Supplier]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/function/Supplier.html) function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:```javaTStream tempReadings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);```Calling `topology.poll()` to define a source stream creates a `TStream` instance (because `TempSensor.get()` returns a `Double`), which represents the series of readings taken from the temperature sensor.A streaming application can run indefinitely, so the [TStream]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/TStream.html) 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 `TStream`In our example, we want to filter the stream of temp
 erature readings, and remove any \"uninteresting\" or expected readings&mdash;specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the `TStream`'s [filter]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#filter-org.apache.{{ site.data.project.unix_name }}.function.Predicate-) method and pass in a function that returns *true* if the data is interesting and *false* if the data is uninteresting:```javaTStream 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, Edgent 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; in this case, the `fil
 teredReadings` 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()]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#print--) method, which prints using  `.toString()` on each tuple that passes through the stream:```javafilteredReadings.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.A real application typically publishes results to an MQTT server, IoT Hub, Kafka cluster, file, JDBC connection, or other external system. Edgent comes easy to use connectors for these. See the _connectors_ samples, [Edgent Javadoc]({{ site.docsurl }}), and _Edgent Cookbook_ for more information.You can define your own sink by invoking [TStream.sink()]({{ site.docsurl }}/org/apache/{{ site.data.pr
 oject.unix_name }}/topology/TStream.html#sink-org.apache.{{ site.data.project.unix_name }}.function.Consumer-) and passing in your own function.### Submitting your topologyNow that your topology / processing graph has been completely declared, the final step is to run it.`DirectProvider` contains a `submit()` method, which runs a topology directly within the current virtual machine:```javadp.submit(topology);```After you run your program, you should see output containing only \"interesting\" data coming from your sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.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.### Building and RunningIts easiest to use the Edgent Samples Source release to get started.If you just want to see this application in action, it's one of 
 the provided samples!Go to [Getting Started with Samples](edgent-getting-started-samples) to get and build the samples.Then you can run this application from the command line:```shcd cd topology; ./run-sample.sh TempSensorApplication  46.59272336309031  46.681544551652934  ...^C to terminate it```If you setup an Eclipse workspace with the samples, you can run the application from Eclipse:1. From the Eclipse *Navigate* menu, select *Open Type*   + enter type type name `TempSensorApplication` and click *OK*2. right click on the `TempSensorApplication` class name and from the context menu   + click on *Run As*, then *Java application*.     `TempSensorApplication` runs and prints to the Console view.   Click on the `terminate` control in the Console view to stop the application.### Creating your own projectIn this flow we'll take you though creating a new project for this application.Its easiest to use the `template` project in the Edgent Samples to get started.Go to [Getting Started wi
 th Samples](edgent-getting-started-samples) and follow the steps to  * do the general samples setup  * clone the `template` project to use for this applicationThen create the `TempSensor.java` and `TempSensorApplication.java` files in the project, copying in the above code.To build and run from the command line, see the new project's README.md (copied in from the template).In the project's folder (adjust the package name below if appropriate)```sh./mvnw clean package./app-run.sh --main com.mycompany.app.TempSensorApplication  46.59272336309031  46.681544551652934  ...^C to terminate it```If you setup the cloned template in an Eclipse workspace:1. From the Eclipse *Navigate* menu, select *Open Type*   + enter type type name `TempSensorApplication` and click *OK*2. right click on the `TempSensorApplication` class name and from the context menu   + click on *Run As*, then *Java application*.     `TempSensorApplication` runs and prints to the Console view.   Click on the `terminate` con
 trol in the Console view to stop the application.## Next StepsThis introduction demonstrates a small piece of Edgent's functionality. Edgent 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). Typically your application will want to publish to an IoT hub and be controlled by applications in a data center.There are many more useful resources under the _Get Started_ and _Edgent Cookbook_ topics in the navigation sidebar on the left hand side of this page."
 
 },
 
@@ -104,7 +130,7 @@
 "keywords": "",
 "url": "../docs/faq",
 "summary": "",
-"body": "## What is Apache Edgent?Edgent 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 Edgent used?Edgent can be used at the edge of the Internet of Things, for example, to analyze data on devices, engines, connected cars, etc. Edgent could be on the device itself, or a gateway device collecting data from local devices. You can write an edge application on Edgent 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 provides capabilities like windowing, aggregation and connectors with an extensible model for the community to expand its capabilities.## What APIs does Apache Edgent support?Currently, Edgent supports APIs for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved. Please consider joining the Edgent open source development community to accelerate the contributions of additional APIs.## What type of analytics can be done with Apache Edgent?Edgent provides windowing, aggregation and simple filtering. It uses Apache Common Math to provide simple analytics aimed at device sensors. Edgent is also extensible, so you can call existing libraries from within your Edgent application. In the future, Edgent will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.## What connectors does Apache Edgent support?Edgent supports connectors for MQTT, HTTP, JDBC, Fi
 le, Apache Kafka and IBM Watson IoT Platform. Edgent is extensible; you can add the connector of your choice.## What centralized streaming analytic systems does Apache Edgent support?Edgent 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 Edgent on the edge, rather than my streaming analytic system?Edgent is designed for the edge, rather than a more centralized system. It has a small footprint, suitable for running on devices. Edgent 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 Edgent, rather than coding the complete application myself?Edgent is a tool for edge analytics that allows you to be more productive. Edgent provides a consistent data model (streams and windows) and provid
 es useful functionality, such as aggregations, joins, etc. Using Edgent lets you to take advantage of this functionality, allowing you to focus on your application needs.## Where can I download Apache Edgent?Releases include source code and convenience binary bundles.  The source code is also available on GitHub.  The [downloads]({{ site.data.project.download }}) page has all of the details.## How do I get started?Getting started is simple. Once you have downloaded Edgent, everything you need to know to get up and running, you will find [here](edgent-getting-started). We suggest you also run the [Edgent 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]({{ site.data.project.source_repository_mirror }}/pulls) and wait for a committer to review. For more information, visit our [c
 ommitter page](committers) and read [DEVELOPMENT.md]({{ site.data.project.source_repository_mirror }}/blob/master/DEVELOPMENT.md) at the top of the code tree.## Can I become a committer?Read about Edgent committers and how to become a committer [here](committers).## Can I take a copy of the code and fork it for my own use?Yes. Edgent 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 Edgent community.## How do I suggest new features?Click [Issues](https://issues.apache.org/jira/browse/{{ site.data.project.jira }}) to submit requests for new features. You may browse or query the Issues database to see what other members of the Edgent community have already requested.## How do I submit bug reports?Click [Issues](https://issues.apache.org/jira/browse/{{ site.data.project.jira }}) to submit a bug report.## How do I ask questions about Apache Edgent?Use the [dev list](mailto:{{ site.data.project.dev_list }}) t
 o submit questions to the Edgent community.## Why is Apache Edgent open source?With the growth of the Internet of Things there is a need to execute analytics at the edge. Edgent 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 Edgent by companies and individuals to enable edge analytics and further innovation for the IoT space.## I see references to \"Quarks.\" How does it relate to Apache Edgent?Up until July 2016, Edgent was known as Quarks. Quarks was renamed due to the name not being unique enough."
+"body": "## What is Apache Edgent?Edgent provides APIs and a lightweight runtime enabling you to easily create event-driven flow-graph style applications to analyze streaming data at the edge. Check out [The Power of Edgent](power-of-edgent) to help you guickly gain an appreciation of how Edgent can help you.## 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.It's easy for for Edgent applications to connect to other entities such as an enterprise IoT hub.While Edgent's design center is executing on constrained edge devices, Edgent applications can run on any system meeting minimal requirements such as a Java runtime.## How are applications developed?Applications are developed using a functional flow API to define operations on data streams that are executed as a flow graph in a lightweight embeddable runtime. Edgent provides capabilities like windowing, aggregation an
 d connectors with an extensible model for the community to expand its capabilities. Check out [The Power of Edgent](power-of-edgent)!You can develop Edgent applications using an IDE of your choice. Generally, mechanisms for deploying an Edgent application to a device are beyond the scope of Edgent; they are often device specific or may be defined by an enterprise IoT system.  To deploy an Edgent application to a device like a Raspberry Pi, you could just FTP the application to the device and modify the device to start the application upon startup or on command.   See [Edgent application Development](application-development).## What environments does Apache Edgent support?Currently, Edgent provides APIs and runtime for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved. Please consider joining the Edgent open source development community to accelerate the contributions of additional APIs.## What type of analytics can be done 
 with Apache Edgent?The core Edgent APIs make it easy to incorporate any analytics you want into the stream processing graph. It's trivial to create windows and trigger aggregation functions you supply. It's trivial to specify whatever filtering and transformation functions you want to supply. The functions you supply can use existing libraries.Edgent comes with some initial analytics for aggregation and filtering that you may find useful. It uses Apache Common Math to provide simple analytics aimed at device sensors. In the future, Edgent will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.## What connectors does Apache Edgent support?Edgent provides easy to use connectors for MQTT, HTTP, JDBC, File, Apache Kafka and IBM Watson IoT Platform. Edgent is extensible; you can create connectors.  You can easily supply any code you want for ingesting data from and sinking data to external systems.  See [EDGENT-368
 ](https://issues.apache.org/jira/browse/EDGENT-368) for a full code sample of publishing to Elasticsearch.## Does Edgent have a Sensor Library?No, Edgent does not come with a library for accessing a device's sensors.  The simplicity with which an Edgent application can poll or otherwise use existing APIs for reading a sensor value make such a library unnecessary.## What centralized streaming analytic systems does Apache Edgent support?Edgent applications can publish and subscribe to message systems like MQTT or Kafka, or IoT Hubs like IBM Watson IoT Platform.  Centralized streaming analytic systems can do likewise to then consume Edgent application events and data, as well as control an Edgent application.  The centralized streaming analytic system could be Apache Spark, Apache Storm, Flink and Samza, IBM Streams (on-premises or IBM Streaming Analytics on Bluemix), or any custom application of your choice.## Is there a distributed version of Edgent?The short answer is that a single 
 Edgent application's topologies all run in the same local JVM.  But sometimes this question is really asking \"Can separate Edgent topologies communicate with each other?\" and the answer to that is YES!Today, multiple topologies in a single Edgent application/JVM can communicate using the Edgent PublishSubscribe connector, or any other shared resource you choose to use (e.g., a java.util.concurrent.BlockingQueue).Edgent topologies in separate JVM's, or the same JVM, can communicate with each other by using existing connectors to a local or remote MQTT server for example.## Why do I need Apache Edgent on the edge, rather than my streaming analytic system?Edgent is designed for the edge. It has a small footprint, suitable for running on constrained devices. Edgent applications can analyze data on the edge and to only send to the centralized system if there is a need, reducing communication costs.## Why do I need Apache Edgent, rather than coding the complete application myself?Edgent
  is designed to accelerate your development of edge analytic applications - to make you more productive! Edgent provides a simple yet powerful consistent data model (streams and windows) and provides useful functionality, such as aggregations, joins, and connectors. Using Edgent lets you to take advantage of this functionality, allowing you to focus on your application needs.  Check out [The Power of Edgent](power-of-edgent) to get a better appreciation of how Edgent can help you.## Where can I download Apache Edgent?Releases include Edgent samples source code and Edgent API and runtime source code.  Convenience binaries are released to Maven Central.  The source code is also available on GitHub.  The [downloads]({{ site.data.project.download }}) page has all of the details.## How do I get started?Getting started is simple. See [Quickstart with Edgent Samples](edgent-getting-started-samples) to jump right in or see the [Getting Started Guide](edgent-getting-started) if you prefer a 
 bit of an introduction and tutorial first.## 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]({{ site.data.project.source_repository_mirror }}/pulls) and wait for a committer to review. For more information, visit our [committer page](committers) and read [DEVELOPMENT.md]({{ site.data.project.source_repository_mirror }}/blob/master/DEVELOPMENT.md) at the top of the code tree.## Can I become a committer?Read about Edgent committers and how to become a committer [here](committers).## Can I take a copy of the code and fork it for my own use?Yes. Edgent 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 Edgent community.## How do I suggest new features?Click [Issues](https://issues.apache.org/jira/browse/{{ site.data.project.jira }}) to submit requests for new features. You 
 may browse or query the Issues database to see what other members of the Edgent community have already requested.## How do I submit bug reports?Click [Issues](https://issues.apache.org/jira/browse/{{ site.data.project.jira }}) to submit a bug report.## How do I ask questions about Apache Edgent?Use the [dev list](mailto:{{ site.data.project.dev_list }}) to submit questions to the Edgent community.## Why is Apache Edgent open source?With the growth of the Internet of Things there is a need to execute analytics at the edge. Edgent 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 Edgent by companies and individuals to enable edge anal
 ytics and further innovation for the IoT space.## I see references to \"Quarks.\" How does it relate to Apache Edgent?Up until July 2016, Edgent was known as Quarks. Quarks was renamed due to the name not being unique enough."
 
 },
 
@@ -112,12 +138,12 @@
 
 
 {
-"title": "Introduction",
-"tags": "getting_started",
+"title": "Apache Edgent Overview",
+"tags": "",
 "keywords": "",
 "url": "../docs/home",
 "summary": "",
-"body": "## Apache Edgent 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.Edgent 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 storeAn Edgent 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 Edgent 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 Edgent 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.Edgent 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 Edgent:* **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 bandw
 idth 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 an Apache Edgent 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’s medical 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 devicesEdgent 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": "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.Edgent 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 storeAn Edgent 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 Edgent 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. Howev
 er, if Edgent 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.Edgent 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 Edgent:* **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 limited### Deploy
 ment 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 an Apache Edgent 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’s medical 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 devicesEdgent 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"
 
 },
 
@@ -138,6 +164,32 @@
 
 
 {
+"title": "Getting started with Apache Edgent pre-1.2.0",
+"tags": "",
+"keywords": "",
+"url": "../docs/old-edgent-getting-started",
+"summary": "",
+"body": "This information applies to Edgent releases prior to 1.2.0.  See [Getting Started](edgent-getting-started) for current releases.## What is Apache Edgent?Edgent 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 [Edgent overview](home).### Apache Edgent and streaming analyticsThe fundamental building block of an Edgent application is a **stream**: a continuous sequence of tuples (messages, events, sensor readings, and so on).The Edgent 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 l
 ocal device control or send information to centralized analytic systems through a message hub.Edgent's primary API is functional where 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.### SamplesSee [samples](old-samples) for information about samples that come with Edgent.### Downloading Apache EdgentTo use Edgent, you need the Edgent JAR files, which you may obtain by completing the following steps.1. Locate the Edgent release you would like to use on the [downloads page]({{ site.data.project.download }})2. In the Bundles column for the desired release:    * Click on the _Binary_ link if you simply want to use Edgent. This is the easiest method is to get up and running as it contains a pre-built version of Edgent.    * Click on the _Source_ link if you would like access to the Edgent source files. If you choose this method, you must manua
 lly build Edgent yourself.3. Download the .tgz file from one of the mirror sites4. Unpack the downloaded file: `tar zxvf apache-edgent-X.X.X-incubating-XXX.tgz`5. Obtain the JARs    * If you are using a binary bundle, then the Java 8 JARs are located in `edgent-X.X.X/java8`    * If you are using a source bundle, build the source code:        1. Install [Gradle](https://gradle.org/) if it is not yet installed        2. Navigate to the unpacked directory: `cd edgent-X.X.X-src`        3. Run `gradle` to initialize the Gradle wrapper        4. Build the code and Javadoc: `./gradlew assemble`        5. The Java 8 JARs are located in `edgent-X.X.X-src/build/distributions/java8`### Setting up your environmentEnsure that you are running a supported environment. For more information, see the [Edgent overview](home). This guide assumes you're running Java 8. The Edgent Java 8 JAR files are located in either the `edgent-X.X.X/java8` or `edgent-X.X.X-src/build/distributions/java8` directory, de
 pending on whether you downloaded a binary or source bundle.1. Create a new Java project in Eclipse, and specify Java 8 as the execution environment JRE:    2. Include one or more Edgent JARs in your project's build path depending on what features your application uses:    1. Include one or more of the topology providers:        * `java8/lib/edgent.providers.development.jar` (if using the [DevelopmentProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/development/DevelopmentProvider.html))        * `java8/lib/edgent.providers.direct.jar`(if using the [DirectProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html))        * `java8/lib/edgent.providers.iot.jar` (if using the [IotProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/iot/IotProvider.html))    2. Include the JARs for any Edgent connectors or analytic features you use in `java8/connectors` and `java8/analyt
 ics`, respectively    3. Include the JARs for any Edgent utility features you use:        * `java8/utils/metrics/lib/edgent.utils.metrics.jar` (for the [org.apache.edgent.metrics]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/metrics/package-summary.html) package)        * `java8/utils/streamscope/lib/edgent.utils.streamscope.jar` (for the [org.apache.edgent.streamscope]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/streamscope/package-summary.html) package)    4. Include the JAR for the [java.util.logging](https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html) framework for [SLF4J](https://www.slf4j.org/): `java8/ext/slf4j-jdk14-X.X.X.jar`    Your environment is set up! You can start writing your first Edgent application.## Creating a simple applicationIf you're new to Edgent or to writing streaming applications, the best way to get started is to write a simple program.Edgent is a framework that pushes data analytics an
 d machine learning to *edge devices*. (Edge devices include things like routers, gateways, machines, equipment, sensors, appliances, or vehicles that are connected to a network.) Edgent enables you to process data locally&mdash;such as, in a car engine, on an Android phone, or on a Raspberry Pi&mdash;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:```javaimport java.util.Random;import org.apache.edgent.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 am
 ount        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 an Edgent application can process.Our sample Edgent application processes this stream by filtering the data and printing the results. Let's define a TempSensorApplication class for the application:```javaimport java.util.concurrent.TimeUnit;import org.apache.edgent.providers.direct.DirectProvider;import org.apache.edgent.topology.TStream;import org.apache.edgent.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 filteredReadin
 gs = 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 an Edgent application is to create a [`DirectProvider`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new DirectProvider();```A `Provider` is an object that contains information on how and where your Edgent application will run. A `DirectProvider` is a type of Provider that runs your application directly within the current virtual machine when its [`submit()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/providers/direct/DirectProvider.html#submit-org.apache.{{ site.data.project.unix_name }}.topology.Topology-) method is called.### Creating a topologyAdditionally, a Provider is used to create a [`Topology`]({{ site.docsurl
  }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/Topology.html) instance:```javaTopology topology = dp.newTopology();```In Edgent, `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 TempSensorApplication class above, we have exactly one data source: the `TempSensor` object. We define the source stream by calling [`topology.poll()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/Topology.html#poll-org.apache.{{ site.data.project.unix_name }}.function.Supplier-long-java.util.concurrent.TimeUnit-), which takes both a [`Supplier`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/function/Supplier.html) function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:```javaTStream tempReadings = topology.poll(sensor, 1, TimeUni
 t.MILLISECONDS);```### Defining the `TStream` objectCalling `topology.poll()` to define a source stream creates a `TStream` instance, which represents the series of readings taken from the temperature sensor.A streaming application can run indefinitely, so the [`TStream`]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/TStream.html) 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 `TStream`In our example, we want to filter the stream of temperature readings, and remove any \"uninteresting\" or expected readings&mdash;specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the `TStream`'s [`filter`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#filter-org.apache.{{ site.data.project.unix_name }}.function.Predicate-) me
 thod and pass in a function that returns *true* if the data is interesting and *false* if the data is uninteresting:```javaTStream 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, Edgent 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()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#print--) method, which prints using  `.toString()` on each t
 uple that passes through the stream:```javafilteredReadings.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()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name }}/topology/TStream.html#sink-org.apache.{{ site.data.project.unix_name }}.function.Consumer-) and passing in your own function.### Submitting your applicationNow 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:```javadp.submit(topology);```After you run your program, you should see output containing only \"int
 eresting\" data coming from your sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.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 Edgent's functionality. Edgent 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:* [Edgent sample programs](old-samples)* [Stream processing concepts](streaming-concepts)* [Common Edgent operations](common-edgent-operations)"
+
+},
+
+
+
+
+{
+"title": "Sample programs",
+"tags": "",
+"keywords": "",
+"url": "../docs/old-samples",
+"summary": "",
+"body": "This information applies to Edgent releases prior to 1.2.0. See [Getting started guide](edgent-getting-started) for current releases.The [Getting started guide](edgent-getting-started) includes a step-by-step walkthrough of a simple Edgent application.Edgent also includes a number of sample Java applications that demonstrate different ways that you can use and implement Edgent.If you are using a released version of Edgent, the samples are already compiled and ready to use. If you downloaded the source or the Git project, the samples are built when you build Edgent.## ResourcesThe samples are currently available only for Java 8 environments. To use the samples, you'll need the resources in the following subdirectories of the Edgent package.:* The `java8/samples` directory contains the Java code for the samples* The `java8/scripts` directory contains the shell scripts that you need to run the samplesIf you use any of the samples in your own applications, ensure that you inclu
 de the related Edgent JAR files in your `classpath`.## Recommended samplesIn addition to the sample application in the [Getting started guide](edgent-getting-started), the following samples can help you start developing with Edgent:* **HelloEdgent**  - This simple program demonstrates the basic mechanics of declaring and executing a topology* **PeriodicSource**  - This simple program demonstrates how to periodically poll a source for data to create a source stream* **SimpleFilterTransform**  - This simple program demonstrates a simple analytics pipeline: `source -> filter -> transform -> sink`* **SensorAnalytics**  - This more complex program demonstrates multiple facets of an Edgent application, including:      * Configuration control      * Reading data from a device with multiple sensors      * Running common analytic algorithms      * Publishing results to MQTT server      * Receiving commands      * Logging results locally      * Conditional stream tracing* **IBM Watson IoT Pla
 tform**  - Samples that demonstrate how to use IBM Watson IoT Platform as the IoT scale message hub between Edgent and back-end analytic systems:      * [Sample using the no-registration Quickstart service](quickstart)Additional samples are documented in the [Edgent Overview]({{ site.docsurl }}/overview-summary.html#overview.description) section of the Javadoc."
+
+},
+
+
+
+
+{
 "title": "Overview",
 "tags": "",
 "keywords": "",
@@ -150,6 +202,19 @@
 
 
 
+{
+"title": "The Power of Apache Edgent",
+"tags": "",
+"keywords": "",
+"url": "../docs/power-of-edgent",
+"summary": "",
+"body": "Edgent is designed to accelerate your development of event driven flow-graphstyle analytic applications running on edge devices.  This is achieved byEdgent's combination of API, connectors, basic analytics, utilities, and openness!Let's have some fun with a shallow but broad view into what youcan do in a few of lines of code... an introduction to Edgent's capabilities viaa series of terse code fragments.See the [Getting Started Guide](edgent-getting-started) for a step by step introduction,and information about full samples and recipies.Let's start with a complete application that periodically samples a sensorand publishes its values to an Enterprise IoT Hub in less than 10 lines of code```javapublic class ImpressiveEdgentExample {  public static void main(String[] args) {    DirectProvider provider = new DirectProvider();    Topology top = provider.newTopology();    IotDevice iotConnector = IotpDevice.quickstart(top, \"edgent-intro-device-2\");    // open https://quickstar
 t.internetofthings.ibmcloud.com/#/device/edgent-intro-device-2    // ingest -> transform -> publish    TStream readings = top.poll(new SimulatedTemperatureSensor(), 1, TimeUnit.SECONDS);    TStream events = readings.map(JsonFunctions.valueOfNumber(\"temp\"));    iotConnector.events(events, \"readingEvents\", QoS.FIRE_AND_FORGET);    provider.submit(top);  }}```Ok, that was 11 lines and it omitted the imports, but there are only 7 lines in main()!That leveraged the [IotpDevice]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/iotp/IotpDevice.html)connector to the IBM Watson IoT Platform and the platform's Quickstart feature. The value of its Quickstart feature is no account or device preregistration and the ability to open a browser to see thedata being published.  Great to quickly get started.Hopefully that had enough of a wow factor to encourage youto keep reading!### Connectors, Ingest and SinkEdgent Applications need to create streams of data 
 from external entities,termed ingest, and sink streams of data to external entities.  There are primitives for those operations and a collection ofconnectors to common external entities,more Connectors contributions are welcome!Connectors are just code that make it easier for an Edgent applicationto integrate with an external entity.  They use Edgent ingest primitiveslike (`Topology.poll()`, `Topology.events()`, etc), and `TStream.sink()`like any other Edgent code.  A connector may provide `Supplier` and `Consumer` functions, for ingest and sink respectively, that an application can use directly with the Edgent API.OK... fewer words, more code!You've already seen publishing using the `IotpDevice` connector.Want to receive [IotDevice]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/iot/IotDevice.html) device commands? Simple!```java    TStream cmds = iotConnector.commands();    cmds.sink(cmd -> System.out.println(\"I should handle received cmd: \
 "+cmd));    or    TStream xzyCmds = iotConnector.command(\"xyzCmds\");```There's an [IotGateway]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/iot/IotGateway.html) device model too.Don't want no stinkin `IotDevice` model and justwant to pub/sub to an MQTT server?  No worries! Use the [MqttStreams]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/mqtt/MqttStreams.html) connector```java    //IotDevice iotConnector = IotpDevice.quickstart(top, \"edgent-intro-device-2\");    MqttStreams iotConnector = new MqttStreams(top, \"ssl://myMqttServer:8883\", \"my-device-client-id\");    ...    //iotConnector.events(events, \"readingEvents\", QoS.FIRE_AND_FORGET);    iotConnector.publish(events, \"readingEvents\", QoS.FIRE_AND_FORGET, false);    TStream xyzTopicMsgs = iotConnector.subscribe(\"xyzTopic\");```Want to connect to Kafka?  Use the [KafkaProducer]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.u
 nix_name }}/connectors/kafka/KafkaProducer.html) and [KafkaConsumer]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/kafka/KafkaConsumer.html) connectors with similar ease.There's a [JdbcStreams]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/jdbc/JdbcStreams.html) connector too.Want to sink a `TStream` to rolling text files?  Use the [FileStreams]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/file/FileStreams.html) connector.```java    new File(\"/tmp/MY-DEMO-FILES\").mkdir();    FileStreams.textFileWriter(events.asString(), () -> \"/tmp/MY-DEMO-FILES/READINGS\");    // tail -f /tmp/MY-DEMO-FILES/.READINGS```Or watch for, ingest and process text files?  [Csv]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/csv/Csv.html) can be useful if your input lines of comma separated values```java   String watchedDir = \"/some/directory/path
 \";   List csvFieldNames = ...   TStream pathnames = FileStreams.directoryWatcher(top, () -> watchedDir, null);   TStream lines = FileStreams.textFileReader(pathnames);   TStream parsedLines = lines.map(line -> Csv.toJson(Csv.parseCsv(line), csvFieldNames));```Want to sink to a command's stdin?  Use the [CommandStreams]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/connectors/command/CommandStreams.html) connector```java    TStream events = ...    ProcessBuilder cmd = new ProcessBuilder(\"cat\").redirectOutput(new File(\"/dev/stdout\"));    CommandStreams.sink(events.asString(), cmd);```Or ingest a command's stdout/err?```java    ProcessBuilder cmd = new ProcessBuilder(\"date\", \"-R\");    TStream> readings = CommandStreams.periodicSource(top, cmd, 1, TimeUnit.SECONDS);    TStream events =        readings          .flatMap(list -> list)          .map(JsonFunctions.valueOfString(\"date\"));        // also note TStream support for a fluent programming sty
 le    // and use of TStream.flatmap() to transform in input list to    // an output list and then add each output list item as a separate    // tuple to the output stream```Want to sink to a log via SLF4J or another logging system?  Just do it!```java    import org.slf4j.Logger;    import org.slf4j.LoggerFactory;    private static final Logger logger = LoggerFactory.getLogger(MyClass.class);    readings.sink(reading -> logger.info(\"reading: {}\", reading));```Want to publish to Elasticsearch? See [EDGENT-368](https://issues.apache.org/jira/browse/EDGENT-368) for a full code example.### More on IngestYou've seen how to periodically poll a function to get a some data.  That's just one of the methods defined in [Topology]({{ site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name }}/topology/Topology.html) for ingesting data - for creating source streams.Also note that the tuples (a.k.a. events, data, objects) in a [TStream]({{ site.docsurl }}/index.html?org/apache/{{ sit
 e.data.project.unix_name }}/topology/TStream.html) can be any type. There's no special Edgent tuple type hierarchy.Want readings from multiple sensors in a single stream tuple?```java    SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();    SimpleSimulatedSensor pressureSensor = new SimpleSimulatedSensor();        TStream events = top.poll( () -> {          JsonObject jo = new JsonObject();          jo.addProperty(\"temp\", tempSensor.get());          jo.addProperty(\"pressure\", pressureSensor.get());          return jo;        }, 1, TimeUnit.SECONDS);```Want to define a class or use an existing one for a tuple?```java    public class SensorReading {        double temp;        double pressure;        public SensorReading(double temp, double pressure) {            this.temp = temp;            this.pressure = pressure;        }    }    SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();    SimpleSimulatedSensor pressureSensor = new SimpleS
 imulatedSensor();        TStream readings = top.poll(        () -> new Reading(tempSensor.get(), pressureSensor.get()),        1, TimeUnit.SECONDS);```#### Simulated SensorsEdgent provides some simple simulated sensors that can be helpful to get going.You've already seen `SimulatedTemperatureSensor` and`SimpleSimulatedSensor` - included in the Edgent Samples source release bundle.There are additional ones in the same Java package.#### Sensor libraryWondering if Edgent has a sensor library?  It does notbec

<TRUNCATED>


[7/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/application-development.html
----------------------------------------------------------------------
diff --git a/content/docs/application-development.html b/content/docs/application-development.html
new file mode 100644
index 0000000..55ce827
--- /dev/null
+++ b/content/docs/application-development.html
@@ -0,0 +1,922 @@
+<!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>Edgent Application Development, Packaging and Execution.  | Apache Edgent 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 Edgent 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-edgent" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-edgent-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Javadoc<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="..\javadoc\latest">latest</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.1.0">1.1.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.0.0">1.0.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r0.4.0">0.4.0</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </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">Edgent Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="downloads">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li class="dropdownActive"><a href="/">edgent.apache.org</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Edgent Documentation feedback";
+var body = "I have some feedback about the Edgent Application Development, Packaging and Execution. 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@edgent.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="Edgent Application Development, Packaging and Execution.">{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: true,
+                    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">Edgent</span>
+            <span class="versionTagline">Version 1.1.0-incubating</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/downloads.html">Downloads</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li class="active"><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/streaming-concepts.html">Streaming concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-edgent-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Edgent Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_edgent.html">Hello Edgent!</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>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_parallel_analytics.html">How can I run analytics on several tuples in parallel?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_concurrent_analytics.html">How can I run several analytics on a tuple concurrently?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_writing_a_connector.html">How do I write a connector?</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">Edgent Application Development, Packaging and Execution.</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-edgent-website/blob/master/site/docs/application-development.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>To develop Edgent applications you will utilize the 
+Edgent SDK/runtime jars and package your application
+artifacts for deploying to an edge device or gateway for execution.</p>
+
+<p>The Edgent SDK/runtime jars are published to the 
+<a href="https://repository.apache.org/content/repositories/releases/">ASF Nexus Releases Repository</a>
+and the Maven Central Repository.
+Alternatively, you can build the Edgent SDK yourself from a source release
+and the resulting jars will be added to your local maven repository.</p>
+
+<p>There are a set of Edgent jars for each supported platform: java8, java7, and android.
+The maven artifact groupIds for the Edgent jars are:</p>
+
+<ul>
+<li><code>org.apache.edgent</code>  - for java8,</li>
+<li><code>org.apache.edgent.java7</code></li>
+<li><code>org.apache.edgent.android</code></li>
+</ul>
+
+<p>Note, the Java package names for Edgent components do not incorporate
+the platform kind; the package names are the same regardless of the platform.</p>
+
+<p>See the release&#39;s <code>JAVA_SUPPORT</code> information in <a href="downloads">downloads</a>
+for more information on artifact coordinates, etc.</p>
+
+<h2 id="writing-your-application">Writing Your Application</h2>
+
+<p>The Edgent API is most easily used by using Java8 lambda expressions.
+If you only want to deploy your Edgent application to a java8 environment
+then your application may use any java8 features it chooses.  You compile
+and run against the Edgent java8 jars.</p>
+
+<p>If you want to deploy your Edgent application to a java7 or android
+environment, it&#39;s still easiest to write your application using the Edgent APIs
+with java8 lambda expressions.  You compile with java8 but constrain 
+your application to using java7 features plus java8 lambda expressions.
+The Retrolambda tool is used to convert your application&#39;s generated 
+class files to java7.
+The Edgent java7 and android platform jars were created in that manner too.
+Your application would then be run against the appropriate
+Edgent platform jars. </p>
+
+<p>Alternatively you can forgo the use of lambda
+expressions and write your application in java7 and compile
+and run against the appropriate Edgent platform jars.</p>
+
+<p>For convenience it&#39;s easiest to build your Edgent application using 
+maven-repository-enabled build tooling (e.g., maven, maven-enabled
+Eclipse or IntelliJ).  The tooling transparently downloads the 
+required Edgent jars from the maven repository if they aren&#39;t
+already present in your local maven repository.</p>
+
+<h3 id="edgent-application-template">Edgent Application Template</h3>
+
+<p>You can clone the <code>template</code> project as a starting point for your
+Edgent application. See <a href="edgent-getting-started-samples">Quickstart with Edgent Samples</a>
+for information about the template sample.</p>
+
+<p>TODO: we would like to provide a maven Edgent Application archetype
+that users can use to create an application project template.</p>
+
+<h3 id="using-non-maven-integrated-tooling">Using Non-maven-integrated Tooling</h3>
+
+<p>If you can&#39;t or don&#39;t want to use maven-repository-enabled tooling
+you will need to get a local copy of the Edgent jars and their
+dependencies and add them to your compile classpath.  This case
+is covered in subsequent sections.</p>
+
+<h2 id="packaging-and-execution">Packaging and Execution</h2>
+
+<p>Edgent doesn&#39;t provide any &quot;deployment&quot; mechanisms other than its primitive
+&quot;register jar&quot; feature (see the <code>IotProvider</code> javadoc).  Generally, managing
+the deployment of application and Edgent jars to edge devices is left to 
+others (as an example, the IBM Watson IoT Platform has device APIs to
+support &quot;firmware&quot; download/update).</p>
+
+<p>To deploy an Edgent application to a device like a Raspberry Pi, 
+you could just FTP the application to the device and modify the
+device to start the application upon startup or on command.
+Also see the <code>cron</code> folder in the Edgent samples.</p>
+
+<p>To run your Edgent application on an edge device, your application
+jar(s) need to be on the device.  Additionally, the application&#39;s 
+dependent Edgent jars (and their transitive dependencies) need to
+be on the device.  It&#39;s unlikely the device will be able to retrieve
+the dependencies directly from a remote maven repository such as
+maven central.</p>
+
+<p>Here are three options for dealing with this.</p>
+
+<h3 id="option-1-create-an-uber-jar-for-your-application">Option 1: Create an uber-jar for your application</h3>
+
+<p>The uber jar is a standalone entity containing
+everything that&#39;s needed to run your application.</p>
+
+<p>The uber jar contains the application&#39;s classes and
+the application&#39;s dependent Edgent classes and their
+transitive dependencies.</p>
+
+<p>The template project&#39;s pom and
+the Edgent samples poms contain configuration information
+that generates an uber jar in addition to the standard
+application jar.  Eclipse can also export an uber jar.</p>
+
+<p>You run your application like:
+    <code>java -cp &lt;path-to-uber-jar&gt; &lt;full-classname-of-main-class&gt;</code></p>
+
+<h3 id="option-2-separately-manage-the-application-and-edgent-jars">Option 2: Separately manage the application and Edgent jars</h3>
+
+<p>Copy the application&#39;s jars to the device.
+Get a copy of the Edgent jars and their dependencies
+onto the device. It&#39;s possible for multiple Edgent
+applications to share the Edgent jars.</p>
+
+<p>The Apache Edgent project does not release a
+binary bundle containing all of the Edgent jars
+and their dependencies.  The binary artifacts
+are only released to maven central.</p>
+
+<p>See <code>get-edgent-jars-project/README.md</code> in the Edgent samples 
+for a tool to get a copy of the Edgent jars.</p>
+
+<h3 id="option-3-create-an-application-package-bundle">Option 3: Create an application package bundle</h3>
+
+<p>The bundle is a standalone entity containing
+everything that&#39;s needed to run your application.</p>
+
+<p>The bundle is copied to the device and unpacked.
+A run script forms the appropriate <code>CLASSPATH</code>
+to the package&#39;s jars and starts the application.</p>
+
+<p>The <code>package-app.sh</code> script included with the
+Edgent samples creates an application bundle.</p>
+
+<p>The application bundle contains the application&#39;s jar,
+the application&#39;s dependent Edgent jars (as specified in
+the application&#39;s pom) and the Edgent jars&#39; dependencies,
+and a run-app.sh script.</p>
+
+<p>The application&#39;s dependent Edgent runtime jars and 
+their dependencies are retrieved from a local or remote
+maven repository.</p>
+
+<p>If the application&#39;s execution environment is
+java7 or android, use the appropriate script options
+to retrieve the appropriate Edgent platform jars for
+execution.</p>
+
+<p>The generated run-app.sh script configures the CLASSPATH
+and runs the application.</p>
+
+<p>E.g.,</p>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh"><span class="nb">cd </span>MyApp <span class="c"># the application's project directory</span>
+package-app.sh --mainClass com.mycompany.app.MyApp --appjar target/my-app-1.0-SNAPSHOT.jar
+<span class="c">##### get the app specific dependencies...</span>
+...
+<span class="c">##### create target/app-run.sh...</span>
+<span class="c">##### create target/app-pkg.tar...</span>
+<span class="c">##### Copy target/app-pkg.tar to the destination system"</span>
+<span class="c">##### To run the app:"</span>
+<span class="c">#####     mkdir app-pkg"</span>
+<span class="c">#####     tar xf app-pkg.tar -C app-pkg"</span>
+<span class="c">#####     (cd app-pkg; ./app-run.sh)"</span>
+</code></pre></div>
+<p>For more usage information:</p>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh">./package-app.sh -h
+</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: Dec 15, 2017 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Edgent 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>
+
+    <div class="container">
+        <div class="row">
+        <div>
+            <img class="img-responsive center-block" src="../img/edgent_incubation.png" style="display: block; margin: auto;"alt="">
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index d87800a..7537a40 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -710,7 +727,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/common-edgent-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-edgent-operations.html b/content/docs/common-edgent-operations.html
index 1876ee7..e977237 100644
--- a/content/docs/common-edgent-operations.html
+++ b/content/docs/common-edgent-operations.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -669,7 +686,7 @@ $('#toc').on('click', 'a', function() {
 
 <p><code>TStream.map()</code> is arguably the most used method in the Edgent API. Its two main purposes are to perform stateful or stateless operations on a stream&#39;s tuples, and to produce a <code>TStream</code> with tuples of a different type from that of the calling stream.</p>
 
-<h3 id="changing-a-tstreams-tuple-type">Changing a TStream&#39;s tuple type</h3>
+<h3 id="changing-a-tstream-39-s-tuple-type">Changing a TStream&#39;s tuple type</h3>
 
 <p>In addition to filtering tuples, <code>TStream</code>s support operations that <em>transform</em> tuples from one Java type to another by invoking the <code>TStream.map()</code> method.</p>
 
@@ -702,7 +719,7 @@ $('#toc').on('click', 'a', function() {
 <span class="n">TStream</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">streamOfStrings</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
     <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
     <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">apply</span><span class="o">(</span><span class="n">String</span> <span class="n">arg0</span><span class="o">)</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="n">Integer</span> <span class="n">apply</span><span class="o">(</span><span class="n">String</span> <span class="n">arg0</span><span class="o">)</span> <span class="o">{</span>
         <span class="n">count</span> <span class="o">=</span> <span class="n">count</span> <span class="o">+</span> <span class="mi">1</span><span class="o">;</span>
         <span class="k">return</span> <span class="n">count</span><span class="o">;</span>
     <span class="o">}</span>
@@ -741,7 +758,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index 08b0605..399dc09 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -762,7 +779,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index 6ca4149..5023c77 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -680,7 +697,7 @@ $('#toc').on('click', 'a', function() {
 <span class="kn">import</span> <span class="nn">org.apache.edgent.topology.Topology</span><span class="o">;</span>
 
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">TempSensorApplication</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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">TempSensor</span> <span class="n">sensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TempSensor</span><span class="o">();</span>
         <span class="n">DevelopmentProvider</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">Topology</span> <span class="n">topology</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">();</span>
@@ -815,7 +832,7 @@ Well3 alert, ecoli value is 1
 <li>Each well that is to be measured is added to the topology. The topology polls each sensor (temp, ecoli, etc.) for each well as a unit. A <code>TStream&lt;Integer&gt;</code> is returned from polling the toplogy and represents a sensor reading. Each sensor reading for the well has a tag added to it with the reading type i.e, &quot;temp&quot;, and the well id. Once all of the sensor readings are obtained and the tags added, each sensor reading is &#39;unioned&#39; into a single <code>TStream&lt;JsonObject&gt;</code>. Look at the <code>waterDetector</code> method for details on this.</li>
 <li>Now, each well has a single stream with each of the sensors readings as a property with a name and value in the <code>TStream&lt;JsonObject&gt;</code>. Next the <code>alertFilter</code> method is called on the <code>TStream&lt;JsonObject&gt;</code> representing each well. This method checks the values for each well&#39;s sensors to determine if they are &#39;out of range&#39; for healthy values. The <code>filter</code> oplet is used to do this. If any of the sensor&#39;s readings are out of the acceptable range the tuple is passed along. Those that are within an acceptable range are discarded.</li>
 <li><p>Next the applications&#39; <code>splitAlert</code> method is called on each well&#39;s stream that contains the union of all the sensor readings that are out of range. The <code>splitAlert</code> method uses the <code>split</code> oplet to split the incoming stream into 5 different streams. Only those tuples that are out of range for each stream, which represents each sensor type, will be returned. The object returned from <code>splitAlert</code> is a list of <code>TStream&lt;JsonObject&gt;</code> objects. The <code>splitAlert</code> method is shown below:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;&gt;</span> <span class="nf">splitAlert</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">alertStream</span><span class="o">,</span> <span class="kt">int</span> <span class="n">wellId</span><span class="o">)</span> <span class="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;&gt;</span> <span class="n">splitAlert</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">alertStream</span><span class="o">,</span> <span class="kt">int</span> <span class="n">wellId</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">List</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">JsonObject</span><span class="o">&gt;&gt;</span> <span class="n">allStreams</span> <span class="o">=</span> <span class="n">alertStream</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="n">tuple</span> <span class="o">-&gt;</span> <span class="o">{</span>
         <span class="k">if</span> <span class="o">(</span><span class="n">tuple</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"temp"</span><span class="o">)</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
             <span class="n">JsonObject</span> <span class="n">tempObj</span> <span class="o">=</span> <span class="k">new</span> <span class="n">JsonObject</span><span class="o">();</span>
@@ -980,7 +997,7 @@ Counter Op:TupleCounter.edgent.oplet.JOB_0.OP_98 has a tuple count of zero!
 <p><img src='images/console_hover_over_link.jpg'/></p>
 
 <p>The section of the code that adds the tags &#39;temperature&#39; and &#39;well1&#39; is in the <code>waterDetector</code> method of the <code>ConsoleWaterDetector</code> class.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</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="nf">waterDetector</span><span class="o">(</span><span class="n">Topology</span> <span class="n">topology</span><span class="o">,</span> <span class="kt">int</span> <span class="n">wellId</span><span class="o">)</span> <span class="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</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">waterDetector</span><span class="o">(</span><span class="n">Topology</span> <span class="n">topology</span><span class="o">,</span> <span class="kt">int</span> <span class="n">wellId</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">Random</span> <span class="n">rNum</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">Integer</span><span class="o">&gt;</span> <span class="n">temp</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="o">-&gt;</span> <span class="n">rNum</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="n">TEMP_RANDOM_HIGH</span> <span class="o">-</span> <span class="n">TEMP_RANDOM_LOW</span><span class="o">)</span> <span class="o">+</span> <span class="n">TEMP_RANDOM_LOW</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">TStream</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">acidity</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="o">-&gt;</span> <span class="n">rNum</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="n">ACIDITY_RANDOM_HIGH</span> <span class="o">-</span> <span class="n">ACIDITY_RANDOM_LOW</span><span class="o">)</span> <span class="o">+</span> <span class="n">ACIDITY_RANDOM_LOW</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>
@@ -1167,7 +1184,7 @@ Metrics.rateMeter(individualAlerts3.get(0));
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/downloads.html
----------------------------------------------------------------------
diff --git a/content/docs/downloads.html b/content/docs/downloads.html
index 87b192f..a807267 100644
--- a/content/docs/downloads.html
+++ b/content/docs/downloads.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -663,9 +680,11 @@ $('#toc').on('click', 'a', function() {
 
     <a target="_blank" href="https://github.com/apache/incubator-edgent-website/blob/master/site/docs/downloads.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
     
-  <p>Official Apache Edgent releases are available for download from the ASF distribution site. A release consists of a source code bundle and a convenience binary bundle. See the table below for a release&#39;s download links.</p>
+  <p>Official ASF Apache Edgent releases consist of a single Edgent SDK/runtime source bundle and convenience binaries. Convenience binary jars for the Edgent SDK/runtime are available at the <a href="https://repository.apache.org/content/repositories/releases/">ASF Nexus Releases Repository</a> and Maven Central.  </p>
 
-<p>If you just want to use Edgent, it is easiest to download and unpack a binary bundle. The bundle includes the release&#39;s Javadoc. The Javadoc is also accessible online. For more information, please refer to the <a href="edgent-getting-started">Getting started guide</a>.</p>
+<p>See <a href="edgent-getting-started-samples">Quickstart with Edgent Samples</a> if you just want to use Edgent and jump-start your Edgent application development.</p>
+
+<p>Note, a separate binary bundle consisting of all of the Edgent runtime jars is not released.  A tool is available in the samples that can create one.</p>
 
 <p>A source bundle contains a README describing how to build the sources.</p>
 
@@ -675,6 +694,63 @@ $('#toc').on('click', 'a', function() {
 
 <h2 id="apache-edgent-releases">Apache Edgent Releases</h2>
 
+<table><thead>
+<tr>
+<th style="text-align: center">Version</th>
+<th style="text-align: center">Docs</th>
+</tr>
+</thead><tbody>
+<tr>
+<td style="text-align: center">1.2.0-incubating</td>
+<td style="text-align: center"><a href="https://github.com/apache/incubator-edgent/blob/edgent-1.2.0/JAVA_SUPPORT.md">JAVA_SUPPORT</a>, <a href="https://edgent.incubator.apache.org/javadoc/r1.2.0/index.html">Javadoc</a>, <a href="edgent-getting-started-samples">Samples</a></td>
+</tr>
+</tbody></table>
+
+<p>It is essential that you verify the integrity of a downloaded bundle.  See <a href="https://www.apache.org/dyn/closer.cgi#verify">how to verify</a> for details on verifying using downloaded KEYS, PGP signature, MD5, or SHA information.</p>
+
+<p>Download the <a href="https://www.apache.org/dist/incubator/edgent/KEYS">KEYS</a> file for verifying a bundle&#39;s PGP signature.</p>
+
+<table><thead>
+<tr>
+<th style="text-align: center">Version</th>
+<th style="text-align: center">Date</th>
+<th style="text-align: center">Bundles</th>
+<th style="text-align: center">Release Notes</th>
+<th style="text-align: center">PGP</th>
+<th style="text-align: center">MD5</th>
+<th style="text-align: center">SHA</th>
+</tr>
+</thead><tbody>
+<tr>
+<td style="text-align: center">1.2.0-incubating</td>
+<td style="text-align: center">2017-12-14</td>
+<td style="text-align: center"><a href="https://www.apache.org/dyn/closer.cgi/incubator/edgent/1.2.0-incubating">Source</a></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/RELEASE_NOTES">1.2.0 Release</a></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/apache-edgent-1.2.0-incubating-source-release.tar.gz.asc">tar-ASC</a></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/apache-edgent-1.2.0-incubating-source-release.tar.gz.md5">tar-MD5</a></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/apache-edgent-1.2.0-incubating-source-release.tar.gz.sha512">tar-SHA</a></td>
+</tr>
+<tr>
+<td style="text-align: center"></td>
+<td style="text-align: center"></td>
+<td style="text-align: center"></td>
+<td style="text-align: center"></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/apache-edgent-1.2.0-incubating-source-release.zip.asc">zip-ASC</a></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/apache-edgent-1.2.0-incubating-source-release.zip.md5">zip-MD5</a></td>
+<td style="text-align: center"><a href="https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/apache-edgent-1.2.0-incubating-source-release.zip.sha512">zip-SHA</a></td>
+</tr>
+</tbody></table>
+
+<h2 id="releases-prior-to-1-2-0">Releases Prior to 1.2.0</h2>
+
+<p>Official Apache Edgent releases are available for download from the ASF distribution site. A release consists of a source code bundle and a convenience binary bundle. See the table below for a release&#39;s download links.</p>
+
+<p>There is not a separate samples source bundle and convenience binary jars are not distributed to the ASF Nexus Repository or Maven Central.</p>
+
+<p>If you just want to use Edgent, it is easiest to download and unpack a binary bundle. The bundle includes the release&#39;s Javadoc. The Javadoc is also accessible online. For more information, please refer to the <a href="edgent-getting-started">Getting started guide</a>.</p>
+
+<p>A source bundle contains a README describing how to build the sources.</p>
+
 <p>It is essential that you verify the integrity of a downloaded bundle.  See <a href="https://www.apache.org/dyn/closer.cgi#verify">how to verify</a> for details on verifying using downloaded KEYS, PGP signature, MD5, or SHA information.</p>
 
 <p>Download the <a href="https://www.apache.org/dist/incubator/edgent/KEYS">KEYS</a> file for verifying a bundle&#39;s PGP signature.</p>
@@ -764,7 +840,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>


[2/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 4b46357..06a8655 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -681,7 +698,7 @@ $('#toc').on('click', 'a', function() {
         <span class="k">new</span> <span class="n">AtomicReference</span><span class="o">&lt;&gt;(</span><span class="n">DEFAULT_TEMP_RANGE</span><span class="o">);</span>
 </code></pre></div>
 <h2 id="define-a-method-to-change-the-range">Define a method to change the range</h2>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">static</span> <span class="kt">void</span> <span class="nf">setOptimalTempRange</span><span class="o">(</span><span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">range</span><span class="o">)</span> <span class="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">static</span> <span class="kt">void</span> <span class="nf">setOptimalTempRange</span><span class="p">(</span><span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">range</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">"Using optimal temperature range: "</span> <span class="o">+</span> <span class="n">range</span><span class="o">);</span>
     <span class="n">optimalTempRangeRef</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">range</span><span class="o">);</span>
 <span class="o">}</span>
@@ -727,7 +744,7 @@ $('#toc').on('click', 'a', function() {
     <span class="kd">static</span> <span class="n">AtomicReference</span><span class="o">&lt;</span><span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">optimalTempRangeRef</span> <span class="o">=</span>
             <span class="k">new</span> <span class="n">AtomicReference</span><span class="o">&lt;&gt;(</span><span class="n">DEFAULT_TEMP_RANGE</span><span class="o">);</span>
 
-    <span class="kd">static</span> <span class="kt">void</span> <span class="nf">setOptimalTempRange</span><span class="o">(</span><span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">range</span><span class="o">)</span> <span class="o">{</span>
+    <span class="kd">static</span> <span class="kt">void</span> <span class="n">setOptimalTempRange</span><span class="o">(</span><span class="n">Range</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">range</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">"Using optimal temperature range: "</span> <span class="o">+</span> <span class="n">range</span><span class="o">);</span>
         <span class="n">optimalTempRangeRef</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="n">range</span><span class="o">);</span>
     <span class="o">}</span>
@@ -737,7 +754,7 @@ $('#toc').on('click', 'a', function() {
      * temperature readings (in Fahrenheit). Use a simple filter
      * to determine when the temperature is out of the optimal range.
      */</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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>
 
@@ -804,7 +821,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 1a78126..0aaa434 100644
--- a/content/recipes/recipe_adaptable_polling_source.html
+++ b/content/recipes/recipe_adaptable_polling_source.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -684,8 +701,8 @@ $('#toc').on('click', 'a', function() {
 </code></pre></div>
 <p>It&#39;s also a good practice to add tags to streams to improve the usability of the development mode Edgent console.</p>
 
-<h2 id="define-a-set-poll-period-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="nf">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>
+<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>
@@ -698,7 +715,7 @@ $('#toc').on('click', 'a', function() {
     <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-set-poll-period-command-stream">Process the &quot;set poll period&quot; command stream</h2>
+<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>
@@ -729,7 +746,7 @@ $('#toc').on('click', 'a', function() {
      * 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="nf">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="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>
 
@@ -755,7 +772,7 @@ $('#toc').on('click', 'a', function() {
         <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="nf">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="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>
@@ -768,7 +785,7 @@ $('#toc').on('click', 'a', function() {
         <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="nf">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="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>
@@ -816,7 +833,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 de155b0..a2f8614 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -687,7 +704,7 @@ $('#toc').on('click', 'a', function() {
     <span class="kd">public</span> <span class="n">Integer</span> <span class="n">currentDiastolic</span> <span class="o">=</span> <span class="mi">75</span><span class="o">;</span>
     <span class="n">Random</span> <span class="n">rand</span><span class="o">;</span>
 
-    <span class="kd">public</span> <span class="nf">HeartMonitorSensor</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="n">HeartMonitorSensor</span><span class="o">()</span> <span class="o">{</span>
         <span class="n">rand</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
     <span class="o">}</span>
 
@@ -696,7 +713,7 @@ $('#toc').on('click', 'a', function() {
      * pressure and a random diastolic pressure.
      */</span>
     <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="nf">get</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">get</span><span class="o">()</span> <span class="o">{</span>
         <span class="c1">// Change the current pressure by some random amount between -2 and 2</span>
         <span class="n">Integer</span> <span class="n">newSystolic</span> <span class="o">=</span> <span class="n">rand</span><span class="o">.</span><span class="na">nextInt</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="mi">2</span><span class="o">)</span> <span class="o">-</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">currentSystolic</span><span class="o">;</span>
         <span class="n">currentSystolic</span> <span class="o">=</span> <span class="n">newSystolic</span><span class="o">;</span>
@@ -727,7 +744,7 @@ $('#toc').on('click', 'a', function() {
 <span class="kn">import</span> <span class="nn">org.apache.edgent.topology.Topology</span><span class="o">;</span>
 
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">CombiningStreamsProcessingResults</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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="o">{</span>
         <span class="n">HeartMonitorSensor</span> <span class="n">monitor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HeartMonitorSensor</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>
@@ -752,7 +769,7 @@ $('#toc').on('click', 'a', function() {
 <h2 id="splitting-the-readings">Splitting the readings</h2>
 
 <p>We are now ready to split the <code>readings</code> stream by the blood pressure category. Let&#39;s look more closely at the method declaration of <code>split</code> below. For more details about <code>split</code>, refer to the <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">Javadoc</a>.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">java</span><span class="o">.</span><span class="na">util</span><span class="o">.</span><span class="na">List</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;&gt;</span> <span class="nf">split</span><span class="o">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">,</span> <span class="n">ToIntFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">splitter</span><span class="o">)</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">java</span><span class="o">.</span><span class="na">util</span><span class="o">.</span><span class="na">List</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;&gt;</span> <span class="n">split</span><span class="o">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">,</span> <span class="n">ToIntFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">splitter</span><span class="o">)</span>
 </code></pre></div>
 <p><code>split</code> returns a <code>List</code> of <code>TStream</code> objects, where each item in the list is one of the resulting output streams. In this case, one stream in the list will contain a flow of tuples where the blood pressure reading belongs to one of the five blood pressure categories. Another stream will contain a flow of tuples where the blood pressure reading belongs to a different blood pressure category, and so on.</p>
 
@@ -935,7 +952,7 @@ EMERGENCY! SEE TO PATIENT IMMEDIATELY!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/recipes/recipe_concurrent_analytics.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_concurrent_analytics.html b/content/recipes/recipe_concurrent_analytics.html
index 898a1e3..cc581f0 100644
--- a/content/recipes/recipe_concurrent_analytics.html
+++ b/content/recipes/recipe_concurrent_analytics.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -713,7 +730,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
 <p>In this recipe we&#39;ll just define some very simple pipelines and use sleep to simulate some long processing times.</p>
 
 <p>Here&#39;s the A3 pipeline builder:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="nf">a3pipeline</span><span class="o">()</span> <span class="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">a3pipeline</span><span class="o">()</span> <span class="o">{</span>
     <span class="c1">// simple 3 stage pipeline simulating some amount of work by sleeping</span>
     <span class="k">return</span> <span class="n">stream</span> <span class="o">-&gt;</span> <span class="n">stream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="o">{</span>
         <span class="n">sleep</span><span class="o">(</span><span class="mi">800</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MILLISECONDS</span><span class="o">);</span>
@@ -752,7 +769,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
      * Concurrently run a collection of long running independent
      * analytic pipelines on each tuple.
      */</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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>
@@ -791,7 +808,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
     <span class="o">}</span>
 
     <span class="cm">/** Function to create analytic pipeline a1 and add it to a stream */</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="nf">a1pipeline</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">a1pipeline</span><span class="o">()</span> <span class="o">{</span>
         <span class="c1">// a simple 1 stage pipeline simulating some amount of work by sleeping</span>
         <span class="k">return</span> <span class="n">stream</span> <span class="o">-&gt;</span> <span class="n">stream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="o">{</span>
             <span class="n">sleep</span><span class="o">(</span><span class="mi">800</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MILLISECONDS</span><span class="o">);</span>
@@ -800,7 +817,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
     <span class="o">}</span>
 
     <span class="cm">/** Function to create analytic pipeline a2 and add it to a stream */</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="nf">a2pipeline</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">a2pipeline</span><span class="o">()</span> <span class="o">{</span>
         <span class="c1">// a simple 2 stage pipeline simulating some amount of work by sleeping</span>
         <span class="k">return</span> <span class="n">stream</span> <span class="o">-&gt;</span> <span class="n">stream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="o">{</span>
             <span class="n">sleep</span><span class="o">(</span><span class="mi">800</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MILLISECONDS</span><span class="o">);</span>
@@ -810,7 +827,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
     <span class="o">}</span>
 
     <span class="cm">/** Function to create analytic pipeline a3 and add it to a stream */</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="nf">a3pipeline</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Function</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">a3pipeline</span><span class="o">()</span> <span class="o">{</span>
         <span class="c1">// a simple 3 stage pipeline simulating some amount of work by sleeping</span>
         <span class="k">return</span> <span class="n">stream</span> <span class="o">-&gt;</span> <span class="n">stream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">tuple</span> <span class="o">-&gt;</span> <span class="o">{</span>
             <span class="n">sleep</span><span class="o">(</span><span class="mi">800</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MILLISECONDS</span><span class="o">);</span>
@@ -820,11 +837,11 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
           <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">Functions</span><span class="o">.</span><span class="na">identity</span><span class="o">()).</span><span class="na">tag</span><span class="o">(</span><span class="s">"a3.stage3"</span><span class="o">);</span>
     <span class="o">}</span>
 
-    <span class="kd">private</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">sleep</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="kd">throws</span> <span class="n">RuntimeException</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">sleep</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="kd">throws</span> <span class="n">RuntimeException</span> <span class="o">{</span>
         <span class="k">try</span> <span class="o">{</span>
             <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">unit</span><span class="o">.</span><span class="na">toMillis</span><span class="o">(</span><span class="n">period</span><span class="o">));</span>
         <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">InterruptedException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">throw</span> <span class="k">new</span> <span class="nf">RuntimeException</span><span class="o">(</span><span class="s">"Interrupted"</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+            <span class="k">throw</span> <span class="k">new</span> <span class="n">RuntimeException</span><span class="o">(</span><span class="s">"Interrupted"</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
         <span class="o">}</span>
     <span class="o">}</span>
 
@@ -862,7 +879,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; co
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 5372ac6..49e3ed6 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -700,7 +717,7 @@ $('#toc').on('click', 'a', function() {
      */</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="nf">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="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>
 
@@ -814,7 +831,7 @@ Gallons of gas: 9.1
      * 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="nf">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="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>
 
@@ -884,7 +901,7 @@ Gallons of gas: 9.1
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 701f559..54e6846 100644
--- a/content/recipes/recipe_dynamic_analytic_control.html
+++ b/content/recipes/recipe_dynamic_analytic_control.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -736,7 +753,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 a61c6d0..81449a1 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -720,7 +737,7 @@ optimalTempRange=[77.0..91.0]
     <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="cm">/** Initialize the application's configuration */</span>
-    <span class="kd">static</span> <span class="kt">void</span> <span class="nf">initializeConfiguration</span><span class="o">(</span><span class="n">String</span> <span class="n">configFilePath</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+    <span class="kd">static</span> <span class="kt">void</span> <span class="n">initializeConfiguration</span><span class="o">(</span><span class="n">String</span> <span class="n">configFilePath</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
         <span class="c1">// Load the configuration file</span>
         <span class="n">Properties</span> <span class="n">props</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Properties</span><span class="o">();</span>
         <span class="n">props</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="n">Files</span><span class="o">.</span><span class="na">newBufferedReader</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="n">configFilePath</span><span class="o">).</span><span class="na">toPath</span><span class="o">()));</span>
@@ -737,9 +754,9 @@ optimalTempRange=[77.0..91.0]
      * temperature readings (in Fahrenheit). Use a simple filter
      * to determine when the temperature is out of the optimal range.
      */</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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="k">if</span> <span class="o">(</span><span class="n">args</span><span class="o">.</span><span class="na">length</span> <span class="o">!=</span> <span class="mi">1</span><span class="o">)</span>
-            <span class="k">throw</span> <span class="k">new</span> <span class="nf">Exception</span><span class="o">(</span><span class="s">"missing pathname to configuration file"</span><span class="o">);</span>
+            <span class="k">throw</span> <span class="k">new</span> <span class="n">Exception</span><span class="o">(</span><span class="s">"missing pathname to configuration file"</span><span class="o">);</span>
         <span class="n">String</span> <span class="n">configFilePath</span> <span class="o">=</span> <span class="n">args</span><span class="o">[</span><span class="mi">0</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>
@@ -798,7 +815,7 @@ optimalTempRange=[77.0..91.0]
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/recipes/recipe_hello_edgent.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_edgent.html b/content/recipes/recipe_hello_edgent.html
index 9b05221..aed6b4e 100644
--- a/content/recipes/recipe_hello_edgent.html
+++ b/content/recipes/recipe_hello_edgent.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -664,7 +681,7 @@ $('#toc').on('click', 'a', function() {
     <a target="_blank" href="https://github.com/apache/incubator-edgent-website/blob/master/site/recipes/recipe_hello_edgent.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
     
   <p>Edgent&#39;s pure Java implementation is a powerful feature which allows it to be run on the majority of JVM-compatible systems. It also has the added benefit of enabling the developer to develop applications entirely within the Eclipse and IntelliJ ecosystems. For the purposes of this recipe, it will be assumed that the developer is using Eclipse. To begin the Hello Edgent recipe, create a new project and import the necessary libraries as outlined in the <a href="../docs/edgent-getting-started">Getting started guide</a>. Next, write the following template application:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</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>
 
@@ -676,7 +693,7 @@ $('#toc').on('click', 'a', function() {
 <h2 id="using-topology-strings">Using <code>Topology.strings()</code></h2>
 
 <p>The primary abstraction in Edgent is the <code>TStream</code>. A <em><code>TStream</code></em> represents the flow of data in an Edgent application; for example, the periodic floating point readings from a temperature sensor. The data items which are sent through a <code>TStream</code> are Java objects &mdash; in the &quot;Hello Edgent!&quot; example, we are sending two strings. There are a number of ways to create a <code>TStream</code>, and <code>Topology.strings()</code> is the simplest. The user specifies a number of strings which will be used as the stream&#39;s data items.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</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>
 
@@ -690,7 +707,7 @@ $('#toc').on('click', 'a', function() {
 <h2 id="printing-to-output">Printing to output</h2>
 
 <p><code>TStream.print()</code> can be used to print the data items of a stream to standard output by invoking the <code>toString()</code> method of each data item. In this case the data items are already strings, but in principle <code>TStream.print()</code> can be called on any stream, regardless of the datatype carried by the stream.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</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>
 
@@ -704,7 +721,7 @@ $('#toc').on('click', 'a', function() {
 <h2 id="submitting-the-application">Submitting the application</h2>
 
 <p>The only remaining step is to submit the application, which is performed by the <code>DirectProvider</code>. Submitting an Edgent application initializes the threads which execute the <code>Topology</code>, and begins processing its data sources.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</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>
 
@@ -752,7 +769,7 @@ Edgent!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/recipes/recipe_parallel_analytics.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_parallel_analytics.html b/content/recipes/recipe_parallel_analytics.html
index fdd53f9..b4a18fe 100644
--- a/content/recipes/recipe_parallel_analytics.html
+++ b/content/recipes/recipe_parallel_analytics.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -710,7 +727,7 @@ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) -&gt; pipeline-ch1 -
 <p>Many pipelines don&#39;t care what channel they&#39;re being constructed for. While the pipeline function typically yields the same pipeline processing for each channel there is no requirement for it to do so.</p>
 
 <p>In this simple recipe the pipeline receives a <code>TStream&lt;Double&gt;</code> as input and generates a <code>TStream&lt;String&gt;</code> as output.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">static</span> <span class="n">BiFunction</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="nf">pipeline</span><span class="o">()</span> <span class="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">static</span> <span class="n">BiFunction</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">pipeline</span><span class="o">()</span> <span class="o">{</span>
     <span class="c1">// a simple 4 stage pipeline simulating some amount of work by sleeping</span>
     <span class="k">return</span> <span class="o">(</span><span class="n">stream</span><span class="o">,</span> <span class="n">channel</span><span class="o">)</span> <span class="o">-&gt;</span> 
       <span class="o">{</span> 
@@ -763,7 +780,7 @@ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) -&gt; pipeline-ch1 -
     <span class="cm">/**
      * Process several tuples in parallel in a replicated pipeline.
      */</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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>
@@ -796,7 +813,7 @@ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) -&gt; pipeline-ch1 -
     <span class="o">}</span>
 
     <span class="cm">/** Function to create analytic pipeline and add it to a stream */</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">BiFunction</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">Integer</span><span class="o">,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="nf">pipeline</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="n">BiFunction</span><span class="o">&lt;</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;,</span><span class="n">Integer</span><span class="o">,</span><span class="n">TStream</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">pipeline</span><span class="o">()</span> <span class="o">{</span>
         <span class="c1">// a simple 3 stage pipeline simulating some amount of work by sleeping</span>
         <span class="k">return</span> <span class="o">(</span><span class="n">stream</span><span class="o">,</span> <span class="n">channel</span><span class="o">)</span> <span class="o">-&gt;</span> 
           <span class="o">{</span> 
@@ -810,11 +827,11 @@ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) -&gt; pipeline-ch1 -
           <span class="o">};</span>
     <span class="o">}</span>
 
-    <span class="kd">private</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">sleep</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="kd">throws</span> <span class="n">RuntimeException</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">sleep</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="kd">throws</span> <span class="n">RuntimeException</span> <span class="o">{</span>
         <span class="k">try</span> <span class="o">{</span>
             <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">unit</span><span class="o">.</span><span class="na">toMillis</span><span class="o">(</span><span class="n">period</span><span class="o">));</span>
         <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">InterruptedException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">throw</span> <span class="k">new</span> <span class="nf">RuntimeException</span><span class="o">(</span><span class="s">"Interrupted"</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+            <span class="k">throw</span> <span class="k">new</span> <span class="n">RuntimeException</span><span class="o">(</span><span class="s">"Interrupted"</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
         <span class="o">}</span>
     <span class="o">}</span>
 
@@ -851,7 +868,7 @@ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) -&gt; pipeline-ch1 -
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>


[6/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/edgent-getting-started-samples.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent-getting-started-samples.html b/content/docs/edgent-getting-started-samples.html
new file mode 100644
index 0000000..467aff4
--- /dev/null
+++ b/content/docs/edgent-getting-started-samples.html
@@ -0,0 +1,810 @@
+<!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>Getting started with Apache Edgent Samples  | Apache Edgent 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 Edgent 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-edgent" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-edgent-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Javadoc<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="..\javadoc\latest">latest</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.1.0">1.1.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.0.0">1.0.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r0.4.0">0.4.0</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </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">Edgent Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="downloads">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li class="dropdownActive"><a href="/">edgent.apache.org</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Edgent Documentation feedback";
+var body = "I have some feedback about the Getting started with Apache Edgent Samples 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@edgent.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="Getting started with Apache Edgent Samples">{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: true,
+                    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">Edgent</span>
+            <span class="versionTagline">Version 1.1.0-incubating</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/downloads.html">Downloads</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li class="active"><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/streaming-concepts.html">Streaming concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-edgent-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Edgent Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_edgent.html">Hello Edgent!</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>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_parallel_analytics.html">How can I run analytics on several tuples in parallel?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_concurrent_analytics.html">How can I run several analytics on a tuple concurrently?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_writing_a_connector.html">How do I write a connector?</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">Getting started with Apache Edgent Samples</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-edgent-website/blob/master/site/docs/edgent-getting-started-samples.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>Getting started with the Edgent samples is a great way to start using Edgent and
+jump-start your Edgent application development.</p>
+
+<p>Be sure to see <em>Additional Resources</em> below for more great info!</p>
+
+<h1 id="quickstart">Quickstart</h1>
+
+<p>Convenience binaries (jars) for the Edgent runtime releases are distributed
+to the ASF Nexus Repository and the Maven Central Repository.  You don&#39;t have
+to manually download the Edgent jars and there is no need to download the 
+Edgent runtime sources and build them unless you want to.</p>
+
+<p>By default the samples depend on Java8.  Download and install Java8 if needed.</p>
+
+<h2 id="download-the-edgent-samples">Download the Edgent Samples</h2>
+
+<p>Get the Edgent Samples either by cloning or downloading the <a href="https://github.com/apache/incubator-edgent-samples">Edgent Samples GitHub repository</a>:</p>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh">git clone https://github.com/apache/incubator-edgent-samples
+<span class="nb">cd </span>incubator-edgent-samples
+git checkout develop
+</code></pre></div>
+<p>or to download:</p>
+
+<ul>
+<li>Open the <em>Clone or download</em> pulldown at the <a href="https://github.com/apache/incubator-edgent-samples">Edgent Samples GitHub repository</a></li>
+<li>Click on <em>Download ZIP</em></li>
+<li>Unpack the downloaded ZIP</li>
+</ul>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh">    unzip incubator-edgent-samples-develop.zip
+</code></pre></div>
+<h2 id="build-the-samples">Build the Samples</h2>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh"><span class="nb">cd</span> &lt;the cloned or unpacked downloaded samples folder&gt;
+./mvnw clean package  <span class="c"># build for Java8</span>
+</code></pre></div>
+<h2 id="run-the-helloedgent-sample">Run the HelloEdgent sample</h2>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh"><span class="nb">cd </span>topology
+./run-sample.sh HelloEdgent   <span class="c"># prints a hello message and terminates</span>
+  Hello
+  Edgent!
+  ...
+</code></pre></div>
+<h1 id="additional-resources">Additional Resources</h1>
+
+<p>See <a href="power-of-edgent">The Power of Edgent</a> to help you quickly start to get a sense of Edgent&#39;s capabilities.
+See the <a href="edgent-getting-started">Getting Started Guide</a> for a tutorial.</p>
+
+<p>Much more information about the samples is available in the README.md at the <a href="https://github.com/apache/incubator-edgent-samples">Edgent Samples GitHub repository</a>, including:</p>
+
+<ul>
+<li>application development and packaging</li>
+<li>application template project</li>
+<li>list of samples</li>
+<li>using an IDE</li>
+</ul>
+
+
+<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: Dec 15, 2017 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Edgent 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>
+
+    <div class="container">
+        <div class="row">
+        <div>
+            <img class="img-responsive center-block" src="../img/edgent_incubation.png" style="display: block; margin: auto;"alt="">
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/edgent-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent-getting-started.html b/content/docs/edgent-getting-started.html
index 08fa1d2..79f4dec 100644
--- a/content/docs/edgent-getting-started.html
+++ b/content/docs/edgent-getting-started.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li class="active"><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li class="active"><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -672,97 +689,59 @@ $('#toc').on('click', 'a', function() {
 <li>Reduce the amount of data that you store</li>
 </ul>
 
-<p>For more information, see the <a href="home">Edgent overview</a>.</p>
+<p>Edgent accellerates your development of applications to push data analytics and machine learning to <em>edge devices</em>. (Edge devices include things like routers, gateways, machines, equipment, sensors, appliances, or vehicles that are connected to a network.) Edgent applications process data locally&mdash;such as, in a car, on an Android phone, or on a Raspberry Pi&mdash;before it sends data over a network.</p>
 
-<h3 id="apache-edgent-and-streaming-analytics">Apache Edgent and streaming analytics</h3>
-
-<p>The fundamental building block of an Edgent application is a <strong>stream</strong>: a continuous sequence of tuples (messages, events, sensor readings, and so on).</p>
+<p>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.</p>
 
-<p>The Edgent API provides the ability to process or analyze each tuple as it appears on a stream, resulting in a derived stream.</p>
+<p>See <a href="power-of-edgent">The Power of Edgent</a> to help you quickly start to get a sense of Edgent&#39;s capabilities.</p>
 
-<p>Source streams are streams that originate data for analysis, such as readings from a device&#39;s temperature sensor.</p>
+<p>Releases of Edgent prior to 1.2.0 distributed Edgent and the samples differently than today.  See <a href="old-edgent-getting-started">Old Getting Started</a> if you are trying to use an older version.</p>
 
-<p>Streams are terminated using sink functions that can perform local device control or send information to centralized analytic systems through a message hub.</p>
+<p>There&#39;s a lot of information available to get started with Edgent and no &quot;best order&quot; for navigating it.  See the navigation sidebar on the left hand side of this page.  In particular it is recommended that you review and visit the various items under <em>Get Started</em>.</p>
 
-<p>Edgent&#39;s 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>
+<p>If you want to get a developent environment setup quickly see the <a href="edgent-getting-started-samples">Quickstart with Edgent Samples</a> item. </p>
 
-<h3 id="downloading-apache-edgent">Downloading Apache Edgent</h3>
+<p>The <em>Edgent Cookbook</em> topic includes many well documented recipies that are good for learning and jump-starting the development of your application.</p>
 
-<p>To use Edgent, you need the Edgent JAR files, which you may obtain by completing the following steps.</p>
+<p>The rest of this page is a detailed introduction to Edgent using a simple simulated Temperature Sensor application.</p>
 
-<ol>
-<li>Locate the Edgent release you would like to use on the <a href="downloads">downloads page</a></li>
-<li>In the Bundles column for the desired release:
+<h2 id="apache-edgent-and-streaming-analytics">Apache Edgent and streaming analytics</h2>
 
-<ul>
-<li>Click on the <em>Binary</em> link if you simply want to use Edgent. This is the easiest method is to get up and running as it contains a pre-built version of Edgent.</li>
-<li>Click on the <em>Source</em> link if you would like access to the Edgent source files. If you choose this method, you must manually build Edgent yourself.</li>
-</ul></li>
-<li>Download the .tgz file from one of the mirror sites</li>
-<li>Unpack the downloaded file: <code>tar zxvf apache-edgent-X.X.X-incubating-XXX.tgz</code></li>
-<li>Obtain the JARs
+<p>The fundamental building block of an Edgent application is a <strong>stream</strong>: a continuous sequence of tuples (messages, events, sensor readings, and so on).</p>
 
-<ul>
-<li>If you are using a binary bundle, then the Java 8 JARs are located in <code>edgent-X.X.X/java8</code></li>
-<li>If you are using a source bundle, build the source code:
+<p>The Edgent API provides the ability to process or analyze each tuple as it appears on a stream, resulting in a derived stream.</p>
 
-<ol>
-<li>Install <a href="https://gradle.org/">Gradle</a> if it is not yet installed</li>
-<li>Navigate to the unpacked directory: <code>cd edgent-X.X.X-src</code></li>
-<li>Run <code>gradle</code> to initialize the Gradle wrapper</li>
-<li>Build the code and Javadoc: <code>./gradlew assemble</code></li>
-<li>The Java 8 JARs are located in <code>edgent-X.X.X-src/build/distributions/java8</code></li>
-</ol></li>
-</ul></li>
-</ol>
+<p>Source streams are streams that originate data for analysis, such as readings from a device&#39;s temperature sensor.</p>
 
-<h3 id="setting-up-your-environment">Setting up your environment</h3>
+<p>Streams are terminated using sink functions that can perform local device control or send information to external services such as centralized analytic systems through a message hub.</p>
 
-<p>Ensure that you are running a supported environment. For more information, see the <a href="home">Edgent overview</a>. This guide assumes you&#39;re running Java 8. The Edgent Java 8 JAR files are located in either the <code>edgent-X.X.X/java8</code> or <code>edgent-X.X.X-src/build/distributions/java8</code> directory, depending on whether you downloaded a binary or source bundle.</p>
+<p>Edgent&#39;s primary API is functional where streams are sourced, transformed, analyzed or sinked though functions, typically represented as Java8 lambda expressions, such as <code>reading -&gt; reading &lt; 50 || reading &gt; 80</code> to filter temperature readings in Fahrenheit.</p>
 
-<ol>
-<li><p>Create a new Java project in Eclipse, and specify Java 8 as the execution environment JRE:</p>
+<p>A <strong>topology</strong> is a graph of streams and their processing transformations. A <strong>provider</strong> is a factory for creating and executing topologies.</p>
 
-<p><img src="images/New_Java_Project.jpg"></p></li>
-<li><p>Include one or more Edgent JARs in your project&#39;s build path depending on what features your application uses:</p>
+<p>Basic Edgent Applications follow a common structure:</p>
 
 <ol>
-<li>Include one or more of the topology providers:
-
-<ul>
-<li><code>java8/lib/edgent.providers.development.jar</code> (if using the <a href="/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html">DevelopmentProvider</a>)</li>
-<li><code>java8/lib/edgent.providers.direct.jar</code>(if using the <a href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html">DirectProvider</a>)</li>
-<li><code>java8/lib/edgent.providers.iot.jar</code> (if using the <a href="/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html">IotProvider</a>)</li>
-</ul></li>
-<li>Include the JARs for any Edgent connectors or analytic features you use in <code>java8/connectors</code> and <code>java8/analytics</code>, respectively</li>
-<li>Include the JARs for any Edgent utility features you use:
-
-<ul>
-<li><code>java8/utils/metrics/lib/edgent.utils.metrics.jar</code> (for the <a href="/javadoc/latest/org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> package)</li>
-<li><code>java8/utils/streamscope/lib/edgent.utils.streamscope.jar</code> (for the <a href="/javadoc/latest/org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> package)</li>
-</ul></li>
-<li>Include the JAR for the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html">java.util.logging</a> framework for <a href="https://www.slf4j.org/">SLF4J</a>: <code>java8/ext/slf4j-jdk14-X.X.X.jar</code></li>
-</ol>
-
-<p><img src="images/Build_Path_JARs.jpg"></p></li>
+<li>Get a provider</li>
+<li>Create the topology and compose its processing graph</li>
+<li>Submit the topology for execution</li>
 </ol>
 
-<p>Your environment is set up! You can start writing your first Edgent application.</p>
+<p>More sophisticated applications may consist of multiple topologies that may be dynamically created and started and stopped using commands from external  applications.</p>
 
-<h2 id="creating-a-simple-application">Creating a simple application</h2>
+<h2 id="temperature-sensor-application">Temperature Sensor Application</h2>
 
 <p>If you&#39;re new to Edgent or to writing streaming applications, the best way to get started is to write a simple program.</p>
 
-<p>Edgent is a framework that pushes data analytics and machine learning to <em>edge devices</em>. (Edge devices include things like routers, gateways, machines, equipment, sensors, appliances, or vehicles that are connected to a network.) Edgent enables you to process data locally&mdash;such as, in a car engine, on an Android phone, or on a Raspberry Pi&mdash;before you send data over a network.</p>
+<p>First we&#39;ll go over the details of the application, then we&#39;ll run it.</p>
+
+<p>Let&#39;s create a simple Temperature Sensor Application. The application takes temperature readings from a sensor 1,000 times per second. Instead of reporting each reading, it is more efficient to process the data locally and send only interesting or unexpected results over the network.</p>
 
-<p>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&#39;s define a (simulated) TempSensor class:</p>
+<p>To simulate this, let&#39;s define a (simulated) TempSensor class:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">java.util.Random</span><span class="o">;</span>
 
 <span class="kn">import</span> <span class="nn">org.apache.edgent.function.Supplier</span><span class="o">;</span>
 
-<span class="cm">/**
- * Every time get() is called, TempSensor generates a temperature reading.
- */</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">TempSensor</span> <span class="kd">implements</span> <span class="n">Supplier</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
     <span class="kt">double</span> <span class="n">currentTemp</span> <span class="o">=</span> <span class="mf">65.0</span><span class="o">;</span>
     <span class="n">Random</span> <span class="n">rand</span><span class="o">;</span>
@@ -772,7 +751,7 @@ $('#toc').on('click', 'a', function() {
     <span class="o">}</span>
 
     <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Double</span> <span class="nf">get</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="n">Double</span> <span class="n">get</span><span class="o">()</span> <span class="o">{</span>
         <span class="c1">// Change the current temperature some random amount</span>
         <span class="kt">double</span> <span class="n">newTemp</span> <span class="o">=</span> <span class="n">rand</span><span class="o">.</span><span class="na">nextGaussian</span><span class="o">()</span> <span class="o">+</span> <span class="n">currentTemp</span><span class="o">;</span>
         <span class="n">currentTemp</span> <span class="o">=</span> <span class="n">newTemp</span><span class="o">;</span>
@@ -780,9 +759,9 @@ $('#toc').on('click', 'a', function() {
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div>
-<p>Every time you call <code>TempSensor.get()</code>, it returns a new temperature reading. The continuous temperature readings are a stream of data that an Edgent application can process.</p>
+<p>Every time <code>TempSensor.get()</code> is called, it returns a new temperature reading.</p>
 
-<p>Our sample Edgent application processes this stream by filtering the data and printing the results. Let&#39;s define a TempSensorApplication class for the application:</p>
+<p>Our application composes a topology that creates a continuous stream of temperature readings and processes this stream by filtering the data and printing the results. Let&#39;s define a TempSensorApplication class for the application:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><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">org.apache.edgent.providers.direct.DirectProvider</span><span class="o">;</span>
@@ -790,69 +769,76 @@ $('#toc').on('click', 'a', function() {
 <span class="kn">import</span> <span class="nn">org.apache.edgent.topology.Topology</span><span class="o">;</span>
 
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">TempSensorApplication</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">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="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">TempSensor</span> <span class="n">sensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TempSensor</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">topology</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="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">tempReadings</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">sensor</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">MILLISECONDS</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">filteredReadings</span> <span class="o">=</span> <span class="n">tempReadings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">reading</span> <span class="o">&lt;</span> <span class="mi">50</span> <span class="o">||</span> <span class="n">reading</span> <span class="o">&gt;</span> <span class="mi">80</span><span class="o">);</span>
-
         <span class="n">filteredReadings</span><span class="o">.</span><span class="na">print</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">topology</span><span class="o">);</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div>
-<p>To understand how the application processes the stream, let&#39;s review each line.</p>
+<p>Let&#39;s review each line.</p>
 
 <h3 id="specifying-a-provider">Specifying a provider</h3>
 
-<p>Your first step when you write an Edgent application is to create a <a href="/javadoc/latest/index.html?org/apache/edgent/providers/direct/DirectProvider.html"><code>DirectProvider</code></a>:</p>
+<p>Your first step when you write an Edgent application is to create a <em>Provider</em>.  In this case we&#39;re using a <a href="/javadoc/latest/index.html?org/apache/edgent/providers/direct/DirectProvider.html">DirectProvider</a>:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><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>
 </code></pre></div>
-<p>A <code>Provider</code> is an object that contains information on how and where your Edgent application will run. A <code>DirectProvider</code> is a type of Provider that runs your application directly within the current virtual machine when its <a href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-"><code>submit()</code></a> method is called.</p>
+<p>A <code>Provider</code> is an object that contains information on how and where your Edgent application will run. A <code>DirectProvider</code> is a type of Provider that runs your application directly within the current virtual machine when its <a href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit()</a> method is called.</p>
+
+<p>The <a href="/javadoc/latest/index.html?org/apache/edgent/providers/iot/IotProvider.html">IotProvider</a> is an alternative that offers very useful and powerful capabilities.</p>
 
 <h3 id="creating-a-topology">Creating a topology</h3>
 
-<p>Additionally, a Provider is used to create a <a href="/javadoc/latest/index.html?org/apache/edgent/topology/Topology.html"><code>Topology</code></a> instance:</p>
+<p>The Provider is used to create a <a href="/javadoc/latest/index.html?org/apache/edgent/topology/Topology.html">Topology</a> instance:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Topology</span> <span class="n">topology</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">();</span>
 </code></pre></div>
-<p>In Edgent, <code>Topology</code> is a container that describes the structure of your application:</p>
+<p>In Edgent, <code>Topology</code> is a container that describes the structure of your processing graph:</p>
 
 <ul>
 <li>Where the streams in the application come from</li>
 <li>How the data in the stream is modified</li>
 </ul>
 
-<p>In the TempSensorApplication class above, we have exactly one data source: the <code>TempSensor</code> object. We define the source stream by calling <a href="/javadoc/latest/org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>topology.poll()</code></a>, which takes both a <a href="/javadoc/latest/index.html?org/apache/edgent/function/Supplier.html"><code>Supplier</code></a> function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:</p>
+<p>Our application then composes the topology&#39;s progessing graph.</p>
+
+<h3 id="creating-a-source-tstream">Creating a source <code>TStream</code></h3>
+
+<p>In the <code>TempSensorApplication</code> class above, we have exactly one data source: the <code>TempSensor</code> object. We define the source stream by calling <a href="/javadoc/latest/org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">topology.poll()</a>, which takes both a <a href="/javadoc/latest/index.html?org/apache/edgent/function/Supplier.html">Supplier</a> function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:</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">tempReadings</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">sensor</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">MILLISECONDS</span><span class="o">);</span>
 </code></pre></div>
-<h3 id="defining-the-tstream-object">Defining the <code>TStream</code> object</h3>
-
-<p>Calling <code>topology.poll()</code> to define a source stream creates a <code>TStream&lt;Double&gt;</code> instance, which represents the series of readings taken from the temperature sensor.</p>
+<p>Calling <code>topology.poll()</code> to define a source stream creates a <code>TStream&lt;Double&gt;</code> instance (because <code>TempSensor.get()</code> returns a <code>Double</code>), which represents the series of readings taken from the temperature sensor.</p>
 
-<p>A streaming application can run indefinitely, so the <a href="/javadoc/latest/index.html?org/apache/edgent/topology/TStream.html"><code>TStream</code></a> might see an arbitrarily large number of readings pass through it. Because a <code>TStream</code> represents the flow of your data, it supports a number of operations which allow you to modify your data.</p>
+<p>A streaming application can run indefinitely, so the <a href="/javadoc/latest/index.html?org/apache/edgent/topology/TStream.html">TStream</a> might see an arbitrarily large number of readings pass through it. Because a <code>TStream</code> represents the flow of your data, it supports a number of operations which allow you to modify your data.</p>
 
 <h3 id="filtering-a-tstream">Filtering a <code>TStream</code></h3>
 
-<p>In our example, we want to filter the stream of temperature readings, and remove any &quot;uninteresting&quot; or expected readings&mdash;specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the <code>TStream</code>&#39;s <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-"><code>filter</code></a> method and pass in a function that returns <em>true</em> if the data is interesting and <em>false</em> if the data is uninteresting:</p>
+<p>In our example, we want to filter the stream of temperature readings, and remove any &quot;uninteresting&quot; or expected readings&mdash;specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the <code>TStream</code>&#39;s <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">filter</a> method and pass in a function that returns <em>true</em> if the data is interesting and <em>false</em> if the data is uninteresting:</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">filteredReadings</span> <span class="o">=</span> <span class="n">tempReadings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">reading</span> <span class="o">&lt;</span> <span class="mi">50</span> <span class="o">||</span> <span class="n">reading</span> <span class="o">&gt;</span> <span class="mi">80</span><span class="o">);</span>
 </code></pre></div>
-<p>As you can see, the function that is passed to <code>filter</code> operates on each tuple individually. Unlike data streaming frameworks like <a href="https://spark.apache.org/">Apache Spark</a>, which operate on a collection of data in batch mode, Edgent achieves low latency processing by manipulating each piece of data as soon as it becomes available. Filtering a <code>TStream</code> produces another <code>TStream</code> that contains only the filtered tuples; for example, the <code>filteredReadings</code> stream.</p>
+<p>As you can see, the function that is passed to <code>filter</code> operates on each tuple individually. Unlike data streaming frameworks like <a href="https://spark.apache.org/">Apache Spark</a>, which operate on a collection of data in batch mode, Edgent achieves low latency processing by manipulating each piece of data as soon as it becomes available. Filtering a <code>TStream</code> produces another <code>TStream</code> that contains only the filtered tuples; in this case, the <code>filteredReadings</code> stream.</p>
 
 <h3 id="printing-to-output">Printing to output</h3>
 
-<p>When our application detects interesting data (data outside of the expected parameters), we want to print results. You can do this by calling the <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#print--"><code>TStream.print()</code></a> method, which prints using  <code>.toString()</code> on each tuple that passes through the stream:</p>
+<p>When our application detects interesting data (data outside of the expected parameters), we want to print results. You can do this by calling the <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#print--">TStream.print()</a> method, which prints using  <code>.toString()</code> on each tuple that passes through the stream:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">filteredReadings</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
 </code></pre></div>
 <p>Unlike <code>TStream.filter()</code>, <code>TStream.print()</code> does not produce another <code>TStream</code>. This is because <code>TStream.print()</code> is a <strong>sink</strong>, which represents the terminus of a stream.</p>
 
-<p>In addition to <code>TStream.print()</code> 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 <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>TStream.sink()</code></a> and passing in your own function.</p>
+<p>A real application typically publishes results to an MQTT server, IoT Hub, Kafka cluster, file, JDBC connection, or other external system. Edgent comes easy to use connectors for these. See the <em>connectors</em> samples, <a href="/javadoc/latest">Edgent Javadoc</a>, and <em>Edgent Cookbook</em> for more information.</p>
 
-<h3 id="submitting-your-application">Submitting your application</h3>
+<p>You can define your own sink by invoking <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">TStream.sink()</a> and passing in your own function.</p>
 
-<p>Now that your application has been completely declared, the final step is to run your application.</p>
+<h3 id="submitting-your-topology">Submitting your topology</h3>
 
-<p><code>DirectProvider</code> contains a <code>submit()</code> method, which runs your application directly within the current virtual machine:</p>
+<p>Now that your topology / processing graph has been completely declared, the final step is to run it.</p>
+
+<p><code>DirectProvider</code> contains a <code>submit()</code> method, which runs a topology directly within the current virtual machine:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dp</span><span class="o">.</span><span class="na">submit</span><span class="o">(</span><span class="n">topology</span><span class="o">);</span>
 </code></pre></div>
 <p>After you run your program, you should see output containing only &quot;interesting&quot; data coming from your sensor:</p>
@@ -865,18 +851,85 @@ $('#toc').on('click', 'a', function() {
 </code></pre></div>
 <p>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.</p>
 
-<h2 id="further-examples">Further examples</h2>
+<h3 id="building-and-running">Building and Running</h3>
+
+<p>Its easiest to use the Edgent Samples Source release to get started.</p>
+
+<p>If you just want to see this application in action, it&#39;s one of the provided samples!</p>
+
+<p>Go to <a href="edgent-getting-started-samples">Getting Started with Samples</a> to get and build the samples.</p>
+
+<p>Then you can run this application from the command line:</p>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh"><span class="nb">cd</span> &lt;the-unpacked-samples-root-folder&gt;
+<span class="nb">cd </span>topology; ./run-sample.sh TempSensorApplication
+  46.59272336309031
+  46.681544551652934
+  ...
+^C to terminate it
+</code></pre></div>
+<p>If you setup an Eclipse workspace with the samples, you can run the application from Eclipse:</p>
+
+<ol>
+<li>From the Eclipse <em>Navigate</em> menu, select <em>Open Type</em>
+
+<ul>
+<li>enter type type name <code>TempSensorApplication</code> and click <em>OK</em></li>
+</ul></li>
+<li>right click on the <code>TempSensorApplication</code> class name and from the context menu
+
+<ul>
+<li>click on <em>Run As</em>, then <em>Java application</em>.<br>
+<code>TempSensorApplication</code> runs and prints to the Console view.
+Click on the <code>terminate</code> control in the Console view to stop the application.</li>
+</ul></li>
+</ol>
+
+<h3 id="creating-your-own-project">Creating your own project</h3>
 
-<p>This example demonstrates a small piece of Edgent&#39;s functionality. Edgent supports more complicated topologies, such as topologies that require merging and splitting data streams, or perform operations which aggregate the last <em>N</em> seconds of data (for example, calculating a moving average).</p>
+<p>In this flow we&#39;ll take you though creating a new project for this application.
+Its easiest to use the <code>template</code> project in the Edgent Samples to get started.</p>
 
-<p>For more complex examples, see:</p>
+<p>Go to <a href="edgent-getting-started-samples">Getting Started with Samples</a> and follow the steps to</p>
 
 <ul>
-<li><a href="samples">Edgent sample programs</a></li>
-<li><a href="streaming-concepts">Stream processing concepts</a></li>
-<li><a href="common-edgent-operations">Common Edgent operations</a></li>
+<li>do the general samples setup</li>
+<li>clone the <code>template</code> project to use for this application</li>
 </ul>
 
+<p>Then create the <code>TempSensor.java</code> and <code>TempSensorApplication.java</code> files in the project, copying in the above code.</p>
+
+<p>To build and run from the command line, see the new project&#39;s README.md (copied in from the template).
+In the project&#39;s folder (adjust the package name below if appropriate)</p>
+<div class="highlight"><pre><code class="language-sh" data-lang="sh">./mvnw clean package
+./app-run.sh --main com.mycompany.app.TempSensorApplication
+  46.59272336309031
+  46.681544551652934
+  ...
+^C to terminate it
+</code></pre></div>
+<p>If you setup the cloned template in an Eclipse workspace:</p>
+
+<ol>
+<li>From the Eclipse <em>Navigate</em> menu, select <em>Open Type</em>
+
+<ul>
+<li>enter type type name <code>TempSensorApplication</code> and click <em>OK</em></li>
+</ul></li>
+<li>right click on the <code>TempSensorApplication</code> class name and from the context menu
+
+<ul>
+<li>click on <em>Run As</em>, then <em>Java application</em>.<br>
+<code>TempSensorApplication</code> runs and prints to the Console view.
+Click on the <code>terminate</code> control in the Console view to stop the application.</li>
+</ul></li>
+</ol>
+
+<h2 id="next-steps">Next Steps</h2>
+
+<p>This introduction demonstrates a small piece of Edgent&#39;s functionality. Edgent supports more complicated topologies, such as topologies that require merging and splitting data streams, or perform operations which aggregate the last <em>N</em> seconds of data (for example, calculating a moving average). Typically your application will want to publish to an IoT hub and be controlled by applications in a data center.</p>
+
+<p>There are many more useful resources under the <em>Get Started</em> and <em>Edgent Cookbook</em> topics in the navigation sidebar on the left hand side of this page.</p>
+
 
 <div class="tags">
     
@@ -908,7 +961,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/edgent_index.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent_index.html b/content/docs/edgent_index.html
index e83b689..7a2f53c 100644
--- a/content/docs/edgent_index.html
+++ b/content/docs/edgent_index.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -721,7 +738,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index 72e4b75..06868f3 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li class="dropdownActive"><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li class="active"><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -665,51 +682,74 @@ $('#toc').on('click', 'a', function() {
     
   <h2 id="what-is-apache-edgent">What is Apache Edgent?</h2>
 
-<p>Edgent provides APIs and a lightweight runtime to analyze streaming data at the edge.</p>
+<p>Edgent provides APIs and a lightweight runtime enabling you to easily create event-driven flow-graph style applications to analyze streaming data at the edge.
+ Check out <a href="power-of-edgent">The Power of Edgent</a> to help you guickly gain an appreciation of how Edgent can help you.</p>
 
 <h2 id="what-do-you-mean-by-the-edge">What do you mean by the edge?</h2>
 
 <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-apache-edgent-used">How is Apache Edgent used?</h2>
+<p>It&#39;s easy for for Edgent applications to connect to other entities such as an enterprise IoT hub.</p>
 
-<p>Edgent can be used at the edge of the Internet of Things, for example, to analyze data on devices, engines, connected cars, etc. Edgent could be on the device itself, or a gateway device collecting data from local devices. You can write an edge application on Edgent 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>
+<p>While Edgent&#39;s design center is executing on constrained edge devices, Edgent applications can run on any system meeting minimal requirements such as a Java runtime.</p>
 
 <h2 id="how-are-applications-developed">How are applications developed?</h2>
 
-<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>
+<p>Applications are developed using a functional flow API to define operations on data streams that are executed as a flow graph in a lightweight embeddable runtime. Edgent provides capabilities like windowing, aggregation and connectors with an extensible model for the community to expand its capabilities. Check out <a href="power-of-edgent">The Power of Edgent</a>!</p>
+
+<p>You can develop Edgent applications using an IDE of your choice. </p>
 
-<h2 id="what-apis-does-apache-edgent-support">What APIs does Apache Edgent support?</h2>
+<p>Generally, mechanisms for deploying an Edgent application to a device are beyond the scope of Edgent; they are often device specific or may be defined by an enterprise IoT system.  To deploy an Edgent application to a device like a Raspberry Pi, you could just FTP the application to the device and modify the device to start the application upon startup or on command.   See <a href="application-development">Edgent application Development</a>.</p>
 
-<p>Currently, Edgent supports APIs for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved. Please consider joining the Edgent open source development community to accelerate the contributions of additional APIs.</p>
+<h2 id="what-environments-does-apache-edgent-support">What environments does Apache Edgent support?</h2>
+
+<p>Currently, Edgent provides APIs and runtime for Java and Android. Support for additional languages, such as Python, is likely as more developers get involved. Please consider joining the Edgent open source development community to accelerate the contributions of additional APIs.</p>
 
 <h2 id="what-type-of-analytics-can-be-done-with-apache-edgent">What type of analytics can be done with Apache Edgent?</h2>
 
-<p>Edgent provides windowing, aggregation and simple filtering. It uses Apache Common Math to provide simple analytics aimed at device sensors. Edgent is also extensible, so you can call existing libraries from within your Edgent application. In the future, Edgent will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.</p>
+<p>The core Edgent APIs make it easy to incorporate any analytics you want into the stream processing graph. It&#39;s trivial to create windows and trigger aggregation functions you supply. It&#39;s trivial to specify whatever filtering and transformation functions you want to supply. The functions you supply can use existing libraries.</p>
+
+<p>Edgent comes with some initial analytics for aggregation and filtering that you may find useful. It uses Apache Common Math to provide simple analytics aimed at device sensors. In the future, Edgent will include more analytics, either exposing more functionality from Apache Common Math, other libraries or hand-coded analytics.</p>
 
 <h2 id="what-connectors-does-apache-edgent-support">What connectors does Apache Edgent support?</h2>
 
-<p>Edgent supports connectors for MQTT, HTTP, JDBC, File, Apache Kafka and IBM Watson IoT Platform. Edgent is extensible; you can add the connector of your choice.</p>
+<p>Edgent provides easy to use connectors for MQTT, HTTP, JDBC, File, Apache Kafka and IBM Watson IoT Platform. Edgent is extensible; you can create connectors.  You can easily supply any code you want for ingesting data from and sinking data to external systems.  See <a href="https://issues.apache.org/jira/browse/EDGENT-368">EDGENT-368</a> for a full code sample of publishing to Elasticsearch.</p>
+
+<h2 id="does-edgent-have-a-sensor-library">Does Edgent have a Sensor Library?</h2>
+
+<p>No, Edgent does not come with a library for accessing a device&#39;s sensors.  The simplicity with which an Edgent application can poll or otherwise use existing APIs for reading a sensor value make such a library unnecessary.</p>
 
 <h2 id="what-centralized-streaming-analytic-systems-does-apache-edgent-support">What centralized streaming analytic systems does Apache Edgent support?</h2>
 
-<p>Edgent 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>
+<p>Edgent applications can publish and subscribe to message systems like MQTT or Kafka, or IoT Hubs like IBM Watson IoT Platform.  Centralized streaming analytic systems can do likewise to then consume Edgent application events and data, as well as control an Edgent application.  The centralized streaming analytic system could be 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="is-there-a-distributed-version-of-edgent">Is there a distributed version of Edgent?</h2>
+
+<p>The short answer is that a single Edgent application&#39;s topologies all run in the same local JVM.  </p>
+
+<p>But sometimes this question is really asking &quot;Can separate Edgent topologies communicate with each other?&quot; and the answer to that is YES!</p>
+
+<p>Today, multiple topologies in a single Edgent application/JVM can communicate using the Edgent PublishSubscribe connector, or any other shared resource you choose to use (e.g., a java.util.concurrent.BlockingQueue).</p>
+
+<p>Edgent topologies in separate JVM&#39;s, or the same JVM, can communicate with each other by using existing connectors to a local or remote MQTT server for example.</p>
 
 <h2 id="why-do-i-need-apache-edgent-on-the-edge-rather-than-my-streaming-analytic-system">Why do I need Apache Edgent on the edge, rather than my streaming analytic system?</h2>
 
-<p>Edgent is designed for the edge, rather than a more centralized system. It has a small footprint, suitable for running on devices. Edgent 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>
+<p>Edgent is designed for the edge. It has a small footprint, suitable for running on constrained devices. Edgent applications can analyze data on the edge and to only send to the centralized system if there is a need, reducing communication costs.</p>
 
 <h2 id="why-do-i-need-apache-edgent-rather-than-coding-the-complete-application-myself">Why do I need Apache Edgent, rather than coding the complete application myself?</h2>
 
-<p>Edgent is a tool for edge analytics that allows you to be more productive. Edgent provides a consistent data model (streams and windows) and provides useful functionality, such as aggregations, joins, etc. Using Edgent lets you to take advantage of this functionality, allowing you to focus on your application needs.</p>
+<p>Edgent is designed to accelerate your development of edge analytic applications - to make you more productive! Edgent provides a simple yet powerful consistent data model (streams and windows) and provides useful functionality, such as aggregations, joins, and connectors. Using Edgent lets you to take advantage of this functionality, allowing you to focus on your application needs.  </p>
+
+<p>Check out <a href="power-of-edgent">The Power of Edgent</a> to get a better appreciation of how Edgent can help you.</p>
 
 <h2 id="where-can-i-download-apache-edgent">Where can I download Apache Edgent?</h2>
 
-<p>Releases include source code and convenience binary bundles.  The source code is also available on GitHub.  The <a href="downloads">downloads</a> page has all of the details.</p>
+<p>Releases include Edgent samples source code and Edgent API and runtime source code.  Convenience binaries are released to Maven Central.  The source code is also available on GitHub.  The <a href="downloads">downloads</a> page has all of the details.</p>
 
 <h2 id="how-do-i-get-started">How do I get started?</h2>
 
-<p>Getting started is simple. Once you have downloaded Edgent, everything you need to know to get up and running, you will find <a href="edgent-getting-started">here</a>. We suggest you also run the <a href="samples">Edgent sample programs</a> to familiarize yourselves with the code base.</p>
+<p>Getting started is simple. See <a href="edgent-getting-started-samples">Quickstart with Edgent Samples</a> to jump right in or see the <a href="edgent-getting-started">Getting Started Guide</a> if you prefer a bit of an introduction and tutorial first.</p>
 
 <h2 id="how-can-i-get-involved">How can I get involved?</h2>
 
@@ -743,7 +783,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>With the growth of the Internet of Things there is a need to execute analytics at the edge. Edgent 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 Edgent by companies and individuals to enable edge analytics and further innovation for the IoT space.</p>
 
-<h2 id="i-see-references-to-quarks-how-does-it-relate-to-apache-edgent">I see references to &quot;Quarks.&quot; How does it relate to Apache Edgent?</h2>
+<h2 id="i-see-references-to-quot-quarks-quot-how-does-it-relate-to-apache-edgent">I see references to &quot;Quarks.&quot; How does it relate to Apache Edgent?</h2>
 
 <p>Up until July 2016, Edgent was known as Quarks. Quarks was renamed due to the name not being unique enough.</p>
 
@@ -778,7 +818,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index b0c600d..cfa2b6a 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -5,8 +5,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="getting_started,  ">
-<title> Apache Edgent Documentation   | Apache Edgent Documentation</title>
+<meta name="keywords" content=" ">
+<title>Apache Edgent Overview  | Apache Edgent 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">-->
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -191,7 +185,7 @@
 <script>
 function SendLinkByMail(href) {
 var subject= "Apache Edgent Documentation feedback";
-var body = "I have some feedback about the Introduction page: ";
+var body = "I have some feedback about the Apache Edgent Overview page: ";
 body += window.location.href;
 body += "";
 var uri = "mailto:?subject=";
@@ -218,7 +212,7 @@ window.location.href = uri;
                             searchInput: document.getElementById('search-input'),
                             resultsContainer: document.getElementById('results-container'),
                             dataSource: '../search.json',
-                            searchResultTemplate: '<li><a href="{url}" title="Introduction">{title}</a></li>',
+                            searchResultTemplate: '<li><a href="{url}" title="Apache Edgent Overview">{title}</a></li>',
                         noResultsText: 'No results found.',
                                 limit: 10,
                                 fuzzy: true,
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li class="active"><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -629,7 +646,7 @@ $('#toc').on('click', 'a', function() {
             <div class="col-md-9">
                 
                 <div class="post-header">
-   <h1 class="post-title-main"> Apache Edgent Documentation </h1>
+   <h1 class="post-title-main">Apache Edgent Overview</h1>
 </div>
 
 <div class="post-content">
@@ -663,9 +680,7 @@ $('#toc').on('click', 'a', function() {
 
     <a target="_blank" href="https://github.com/apache/incubator-edgent-website/blob/master/site/docs/home.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
     
-  <h2 id="apache-edgent-overview">Apache Edgent overview</h2>
-
-<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>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>Edgent 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>
 
@@ -739,22 +754,6 @@ $('#toc').on('click', 'a', function() {
 
 <div class="tags">
     
-    <b>Tags: </b>
-    
-
-
-
-
-
-
-
-
-    
-    
-    <a href="tag_getting_started.html" class="btn btn-default navbar-btn cursorNorm" role="button">getting_started</a>
-    
-    
-    
 </div>
 
 <!-- 
@@ -783,7 +782,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>



[3/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
deleted file mode 100644
index e615628..0000000
--- a/content/docs/samples.html
+++ /dev/null
@@ -1,803 +0,0 @@
-<!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>Sample programs  | Apache Edgent 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 Edgent 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-edgent" target="_blank">Source code</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li><a href="https://github.com/apache/incubator-edgent-website" target="_blank">Website/Documentation</a></li>
-                        
-                        
-                        
-                        
-
-                    </ul>
-                </li>
-                
-                
-
-
-                <li class="dropdown">
-                    
-                    
-                    
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Javadoc<b class="caret"></b></a>
-                    <ul class="dropdown-menu">
-                        
-                        
-                        
-                        <li><a href="..\javadoc\latest">latest</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li><a href="..\javadoc\r1.1.0">1.1.0</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li><a href="..\javadoc\r1.0.0">1.0.0</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li><a href="..\javadoc\r0.4.0">0.4.0</a></li>
-                        
-                        
-                        
-                        
-
-                    </ul>
-                </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">Edgent Resources<b class="caret"></b></a>
-                    <ul class="dropdown-menu">
-                        
-                        
-                        
-                        <li><a href="downloads">Download</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li class="dropdownActive"><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li><a href="faq">FAQ</a></li>
-                        
-                        
-                        
-                        
-                        
-                        <li class="dropdownActive"><a href="/">edgent.apache.org</a></li>
-                        
-                        
-                        
-                        
-
-                    </ul>
-                </li>
-                
-                
-
-
-                <!-- special insertion -->
-
-               
-                <!-- Send feedback function -->
-<script>
-function SendLinkByMail(href) {
-var subject= "Apache Edgent Documentation feedback";
-var body = "I have some feedback about the Sample programs 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@edgent.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="Sample programs">{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: true,
-                    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">Edgent</span>
-            <span class="versionTagline">Version 1.1.0-incubating</span>
-
-            
-            
-            
-                
-            
-            <li><a href="#">Overview</a>
-                <ul>
-                    
-                    
-                    
-                    
-                    <li><a href="../docs/edgent_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/downloads.html">Downloads</a></li>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li><a href="../docs/streaming-concepts.html">Streaming concepts</a></li>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li><a href="../docs/common-edgent-operations.html">Common operations</a></li>
-                    
-
-                    
-
-                    
-                    
-                </ul>
-                
-                
-            
-            <li><a href="#">Edgent Cookbook</a>
-                <ul>
-                    
-                    
-                    
-                    
-                    <li><a href="../recipes/recipe_hello_edgent.html">Hello Edgent!</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>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li><a href="../recipes/recipe_parallel_analytics.html">How can I run analytics on several tuples in parallel?</a></li>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li><a href="../recipes/recipe_concurrent_analytics.html">How can I run several analytics on a tuple concurrently?</a></li>
-                    
-
-                    
-
-                    
-                    
-                    
-                    
-                    
-                    <li><a href="../recipes/recipe_writing_a_connector.html">How do I write a connector?</a></li>
-                    
-
-                    
-
-                    
-                    
-                </ul>
-                
-                
-            
-            <li><a href="#">Sample Programs</a>
-                <ul>
-                    
-                    
-                    
-                    
-                    <li class="active"><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">Sample programs</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-edgent-website/blob/master/site/docs/samples.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
-    
-  <p>The <a href="edgent-getting-started">Getting started guide</a> includes a step-by-step walkthrough of a simple Edgent application.</p>
-
-<p>Edgent also includes a number of sample Java applications that demonstrate different ways that you can use and implement Edgent.</p>
-
-<p>If you are using a released version of Edgent, the samples are already compiled and ready to use. If you downloaded the source or the Git project, the samples are built when you build Edgent.</p>
-
-<h2 id="resources">Resources</h2>
-
-<p>The samples are currently available only for Java 8 environments. To use the samples, you&#39;ll need the resources in the following subdirectories of the Edgent package.:</p>
-
-<ul>
-<li>The <code>java8/samples</code> directory contains the Java code for the samples</li>
-<li>The <code>java8/scripts</code> directory contains the shell scripts that you need to run the samples</li>
-</ul>
-
-<p>If you use any of the samples in your own applications, ensure that you include the related Edgent JAR files in your <code>classpath</code>.</p>
-
-<h2 id="recommended-samples">Recommended samples</h2>
-
-<p>In addition to the sample application in the <a href="edgent-getting-started">Getting started guide</a>, the following samples can help you start developing with Edgent:</p>
-
-<ul>
-<li><strong>HelloEdgent</strong>
-
-<ul>
-<li>This simple program demonstrates the basic mechanics of declaring and executing a topology</li>
-</ul></li>
-<li><strong>PeriodicSource</strong>
-
-<ul>
-<li>This simple program demonstrates how to periodically poll a source for data to create a source stream</li>
-</ul></li>
-<li><strong>SimpleFilterTransform</strong>
-
-<ul>
-<li>This simple program demonstrates a simple analytics pipeline: <code>source -&gt; filter -&gt; transform -&gt; sink</code></li>
-</ul></li>
-<li><strong>SensorAnalytics</strong>
-
-<ul>
-<li>This more complex program demonstrates multiple facets of an Edgent application, including:
-
-<ul>
-<li>Configuration control</li>
-<li>Reading data from a device with multiple sensors</li>
-<li>Running common analytic algorithms</li>
-<li>Publishing results to MQTT server</li>
-<li>Receiving commands</li>
-<li>Logging results locally</li>
-<li>Conditional stream tracing</li>
-</ul></li>
-</ul></li>
-<li><strong>IBM Watson IoT Platform</strong>
-
-<ul>
-<li>Samples that demonstrate how to use IBM Watson IoT Platform as the IoT scale message hub between Edgent and back-end analytic systems:
-
-<ul>
-<li><a href="quickstart">Sample using the no-registration Quickstart service</a></li>
-</ul></li>
-</ul></li>
-</ul>
-
-<p>Additional samples are documented in the <a href="/javadoc/latest/overview-summary.html#overview.description">Edgent Overview</a> section of the Javadoc.</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: May 15, 2017 <br/>
-
-        </div>
-    </div>
-    <br/>
-    <div class="row">
-        <div class="col-md-12">
-            <p class="small">Apache Edgent 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>
-
-    <div class="container">
-        <div class="row">
-        <div>
-            <img class="img-responsive center-block" src="../img/edgent_incubation.png" style="display: block; margin: auto;"alt="">
-        </div>
-    </div>
-</footer>
-
-            </div><!-- /.row -->
-
-    </div>    <!-- /.container -->
-
-</body>
-
-
-</html>
-

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index 50ec6cd..16aba0d 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -686,7 +703,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/streaming-concepts.html
----------------------------------------------------------------------
diff --git a/content/docs/streaming-concepts.html b/content/docs/streaming-concepts.html
index e45010c..6be98c3 100644
--- a/content/docs/streaming-concepts.html
+++ b/content/docs/streaming-concepts.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -1447,7 +1464,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html b/content/docs/tag_collaboration.html
index 7d1a689..e9c5c2c 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html b/content/docs/tag_content_types.html
index 9bae47a..42821ab 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index 9927726..a74c502 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html b/content/docs/tag_getting_started.html
index e2aaeac..6f97ff3 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,13 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-        
-        <tr><td><a href="../docs/home">Introduction</a></td>
-          <td> Apache Edgent overview 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. Edgent... </td>
-        </tr>
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -798,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index 7c1466d..167e24b 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index d796fa2..70f48a0 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index ad1ceb4..3096844 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html b/content/docs/tag_single_sourcing.html
index e8e5b06..86ed2c7 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html b/content/docs/tag_special_layouts.html
index 1e122ff..f2e9394 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -689,8 +706,14 @@ $('#toc').on('click', 'a', function() {
     
    
     
-        
-     
+   
+    
+   
+    
+   
+    
+   
+    
    
     
    
@@ -793,7 +816,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 07a3a54..69c2067 100644
--- a/content/index.html
+++ b/content/index.html
@@ -112,7 +112,6 @@
                       <ul class="dropdown-menu">
                         <li><a href="docs/edgent-getting-started">Getting Started Guide</a></li>
                         <li><a href="docs/downloads">Downloads</a></li>
-                        <li><a href="docs/samples">Sample Programs</a></li>
                         <li><a href="docs/faq">FAQ</a></li>
 
                       </ul>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/prince-file-list.txt
----------------------------------------------------------------------
diff --git a/content/prince-file-list.txt b/content/prince-file-list.txt
index a4d21e9..093f8fb 100644
--- a/content/prince-file-list.txt
+++ b/content/prince-file-list.txt
@@ -32,6 +32,16 @@
                         
                      
                          
+                            http://edgent.incubator.apache.org/docs/home.html
+                                  
+                        
+                     
+                         
+                            http://edgent.incubator.apache.org/docs/power-of-edgent.html
+                                  
+                        
+                     
+                         
                             http://edgent.incubator.apache.org/docs/faq.html
                                   
                         
@@ -51,6 +61,21 @@
                         
                      
                          
+                            http://edgent.incubator.apache.org/docs/edgent-getting-started-samples.html
+                                  
+                        
+                     
+                         
+                            http://edgent.incubator.apache.org/docs/application-development.html
+                                  
+                        
+                     
+                         
+                            http://edgent.incubator.apache.org/docs/quickstart.html
+                                  
+                        
+                     
+                         
                             http://edgent.incubator.apache.org/docs/streaming-concepts.html
                                   
                         
@@ -134,20 +159,6 @@
               
                       
                          
-                            http://edgent.incubator.apache.org/docs/samples.html
-                                  
-                        
-                     
-                         
-                            http://edgent.incubator.apache.org/docs/quickstart.html
-                                  
-                        
-                     
-              
-          
-              
-                      
-                         
                             http://edgent.incubator.apache.org/docs/console.html
                                   
                         

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/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 599ff7c..d680119 100644
--- a/content/recipes/recipe_adaptable_deadtime_filter.html
+++ b/content/recipes/recipe_adaptable_deadtime_filter.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -687,20 +704,20 @@ $('#toc').on('click', 'a', function() {
 </code></pre></div>
 <p>It&#39;s also a good practice to add tags to streams to improve the usability of the development mode Edgent console.</p>
 
-<h2 id="create-a-deadtime-filtered-streaminitially-no-deadtime">Create a deadtime filtered stream&mdash;initially no deadtime</h2>
+<h2 id="create-a-deadtime-filtered-stream-mdash-initially-no-deadtime">Create a deadtime filtered stream&mdash;initially no deadtime</h2>
 
 <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>
 </code></pre></div>
-<h2 id="define-a-set-deadtime-period-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="nf">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>
+<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-set-deadtime-period-command-stream">Process the &quot;set deadtime period&quot; command stream</h2>
+<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 <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>
@@ -738,7 +755,7 @@ $('#toc').on('click', 'a', function() {
      * 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="nf">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="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>
@@ -772,12 +789,12 @@ $('#toc').on('click', 'a', function() {
         <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="nf">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="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="nf">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="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>
@@ -830,7 +847,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>


[5/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/old-edgent-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/old-edgent-getting-started.html b/content/docs/old-edgent-getting-started.html
new file mode 100644
index 0000000..57d44b8
--- /dev/null
+++ b/content/docs/old-edgent-getting-started.html
@@ -0,0 +1,975 @@
+<!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>Getting started with Apache Edgent pre-1.2.0  | Apache Edgent 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 Edgent 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-edgent" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-edgent-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Javadoc<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="..\javadoc\latest">latest</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.1.0">1.1.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.0.0">1.0.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r0.4.0">0.4.0</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </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">Edgent Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="downloads">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li class="dropdownActive"><a href="/">edgent.apache.org</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Edgent Documentation feedback";
+var body = "I have some feedback about the Getting started with Apache Edgent pre-1.2.0 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@edgent.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="Getting started with Apache Edgent pre-1.2.0">{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: true,
+                    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">Edgent</span>
+            <span class="versionTagline">Version 1.1.0-incubating</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/downloads.html">Downloads</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/streaming-concepts.html">Streaming concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-edgent-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Edgent Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_edgent.html">Hello Edgent!</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>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_parallel_analytics.html">How can I run analytics on several tuples in parallel?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_concurrent_analytics.html">How can I run several analytics on a tuple concurrently?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_writing_a_connector.html">How do I write a connector?</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">Getting started with Apache Edgent pre-1.2.0</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-edgent-website/blob/master/site/docs/old-edgent-getting-started.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>This information applies to Edgent releases prior to 1.2.0.  See <a href="edgent-getting-started">Getting Started</a> for current releases.</p>
+
+<h2 id="what-is-apache-edgent">What is Apache Edgent?</h2>
+
+<p>Edgent 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>
+
+<ul>
+<li>Reduce the amount of data that you transmit to your analytics server</li>
+<li>Reduce the amount of data that you store</li>
+</ul>
+
+<p>For more information, see the <a href="home">Edgent overview</a>.</p>
+
+<h3 id="apache-edgent-and-streaming-analytics">Apache Edgent and streaming analytics</h3>
+
+<p>The fundamental building block of an Edgent application is a <strong>stream</strong>: a continuous sequence of tuples (messages, events, sensor readings, and so on).</p>
+
+<p>The Edgent API provides the ability to process or analyze each tuple as it appears on a stream, resulting in a derived stream.</p>
+
+<p>Source streams are streams that originate data for analysis, such as readings from a device&#39;s temperature sensor.</p>
+
+<p>Streams are terminated using sink functions that can perform local device control or send information to centralized analytic systems through a message hub.</p>
+
+<p>Edgent&#39;s 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="samples">Samples</h3>
+
+<p>See <a href="old-samples">samples</a> for information about samples that come with Edgent.</p>
+
+<h3 id="downloading-apache-edgent">Downloading Apache Edgent</h3>
+
+<p>To use Edgent, you need the Edgent JAR files, which you may obtain by completing the following steps.</p>
+
+<ol>
+<li>Locate the Edgent release you would like to use on the <a href="downloads">downloads page</a></li>
+<li>In the Bundles column for the desired release:
+
+<ul>
+<li>Click on the <em>Binary</em> link if you simply want to use Edgent. This is the easiest method is to get up and running as it contains a pre-built version of Edgent.</li>
+<li>Click on the <em>Source</em> link if you would like access to the Edgent source files. If you choose this method, you must manually build Edgent yourself.</li>
+</ul></li>
+<li>Download the .tgz file from one of the mirror sites</li>
+<li>Unpack the downloaded file: <code>tar zxvf apache-edgent-X.X.X-incubating-XXX.tgz</code></li>
+<li>Obtain the JARs
+
+<ul>
+<li>If you are using a binary bundle, then the Java 8 JARs are located in <code>edgent-X.X.X/java8</code></li>
+<li>If you are using a source bundle, build the source code:
+
+<ol>
+<li>Install <a href="https://gradle.org/">Gradle</a> if it is not yet installed</li>
+<li>Navigate to the unpacked directory: <code>cd edgent-X.X.X-src</code></li>
+<li>Run <code>gradle</code> to initialize the Gradle wrapper</li>
+<li>Build the code and Javadoc: <code>./gradlew assemble</code></li>
+<li>The Java 8 JARs are located in <code>edgent-X.X.X-src/build/distributions/java8</code></li>
+</ol></li>
+</ul></li>
+</ol>
+
+<h3 id="setting-up-your-environment">Setting up your environment</h3>
+
+<p>Ensure that you are running a supported environment. For more information, see the <a href="home">Edgent overview</a>. This guide assumes you&#39;re running Java 8. The Edgent Java 8 JAR files are located in either the <code>edgent-X.X.X/java8</code> or <code>edgent-X.X.X-src/build/distributions/java8</code> directory, depending on whether you downloaded a binary or source bundle.</p>
+
+<ol>
+<li><p>Create a new Java project in Eclipse, and specify Java 8 as the execution environment JRE:</p>
+
+<p><img src="images/New_Java_Project.jpg"></p></li>
+<li><p>Include one or more Edgent JARs in your project&#39;s build path depending on what features your application uses:</p>
+
+<ol>
+<li>Include one or more of the topology providers:
+
+<ul>
+<li><code>java8/lib/edgent.providers.development.jar</code> (if using the <a href="/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html">DevelopmentProvider</a>)</li>
+<li><code>java8/lib/edgent.providers.direct.jar</code>(if using the <a href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html">DirectProvider</a>)</li>
+<li><code>java8/lib/edgent.providers.iot.jar</code> (if using the <a href="/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html">IotProvider</a>)</li>
+</ul></li>
+<li>Include the JARs for any Edgent connectors or analytic features you use in <code>java8/connectors</code> and <code>java8/analytics</code>, respectively</li>
+<li>Include the JARs for any Edgent utility features you use:
+
+<ul>
+<li><code>java8/utils/metrics/lib/edgent.utils.metrics.jar</code> (for the <a href="/javadoc/latest/org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> package)</li>
+<li><code>java8/utils/streamscope/lib/edgent.utils.streamscope.jar</code> (for the <a href="/javadoc/latest/org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> package)</li>
+</ul></li>
+<li>Include the JAR for the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html">java.util.logging</a> framework for <a href="https://www.slf4j.org/">SLF4J</a>: <code>java8/ext/slf4j-jdk14-X.X.X.jar</code></li>
+</ol>
+
+<p><img src="images/Build_Path_JARs.jpg"></p></li>
+</ol>
+
+<p>Your environment is set up! You can start writing your first Edgent application.</p>
+
+<h2 id="creating-a-simple-application">Creating a simple application</h2>
+
+<p>If you&#39;re new to Edgent or to writing streaming applications, the best way to get started is to write a simple program.</p>
+
+<p>Edgent is a framework that pushes data analytics and machine learning to <em>edge devices</em>. (Edge devices include things like routers, gateways, machines, equipment, sensors, appliances, or vehicles that are connected to a network.) Edgent enables you to process data locally&mdash;such as, in a car engine, on an Android phone, or on a Raspberry Pi&mdash;before you send data over a network.</p>
+
+<p>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&#39;s define a (simulated) TempSensor class:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">java.util.Random</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">org.apache.edgent.function.Supplier</span><span class="o">;</span>
+
+<span class="cm">/**
+ * Every time get() is called, TempSensor generates a temperature reading.
+ */</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">TempSensor</span> <span class="kd">implements</span> <span class="n">Supplier</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
+    <span class="kt">double</span> <span class="n">currentTemp</span> <span class="o">=</span> <span class="mf">65.0</span><span class="o">;</span>
+    <span class="n">Random</span> <span class="n">rand</span><span class="o">;</span>
+
+    <span class="n">TempSensor</span><span class="o">(){</span>
+        <span class="n">rand</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
+    <span class="o">}</span>
+
+    <span class="nd">@Override</span>
+    <span class="kd">public</span> <span class="n">Double</span> <span class="n">get</span><span class="o">()</span> <span class="o">{</span>
+        <span class="c1">// Change the current temperature some random amount</span>
+        <span class="kt">double</span> <span class="n">newTemp</span> <span class="o">=</span> <span class="n">rand</span><span class="o">.</span><span class="na">nextGaussian</span><span class="o">()</span> <span class="o">+</span> <span class="n">currentTemp</span><span class="o">;</span>
+        <span class="n">currentTemp</span> <span class="o">=</span> <span class="n">newTemp</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="o">}</span>
+</code></pre></div>
+<p>Every time you call <code>TempSensor.get()</code>, it returns a new temperature reading. The continuous temperature readings are a stream of data that an Edgent application can process.</p>
+
+<p>Our sample Edgent application processes this stream by filtering the data and printing the results. Let&#39;s define a TempSensorApplication class for the application:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><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">org.apache.edgent.providers.direct.DirectProvider</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.edgent.topology.TStream</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.edgent.topology.Topology</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">TempSensorApplication</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>
+        <span class="n">TempSensor</span> <span class="n">sensor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TempSensor</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">topology</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="n">TStream</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">tempReadings</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">sensor</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">MILLISECONDS</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">filteredReadings</span> <span class="o">=</span> <span class="n">tempReadings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">reading</span> <span class="o">&lt;</span> <span class="mi">50</span> <span class="o">||</span> <span class="n">reading</span> <span class="o">&gt;</span> <span class="mi">80</span><span class="o">);</span>
+
+        <span class="n">filteredReadings</span><span class="o">.</span><span class="na">print</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">topology</span><span class="o">);</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</code></pre></div>
+<p>To understand how the application processes the stream, let&#39;s review each line.</p>
+
+<h3 id="specifying-a-provider">Specifying a provider</h3>
+
+<p>Your first step when you write an Edgent application is to create a <a href="/javadoc/latest/index.html?org/apache/edgent/providers/direct/DirectProvider.html"><code>DirectProvider</code></a>:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><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>
+</code></pre></div>
+<p>A <code>Provider</code> is an object that contains information on how and where your Edgent application will run. A <code>DirectProvider</code> is a type of Provider that runs your application directly within the current virtual machine when its <a href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-"><code>submit()</code></a> method is called.</p>
+
+<h3 id="creating-a-topology">Creating a topology</h3>
+
+<p>Additionally, a Provider is used to create a <a href="/javadoc/latest/index.html?org/apache/edgent/topology/Topology.html"><code>Topology</code></a> instance:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Topology</span> <span class="n">topology</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="na">newTopology</span><span class="o">();</span>
+</code></pre></div>
+<p>In Edgent, <code>Topology</code> is a container that describes the structure of your application:</p>
+
+<ul>
+<li>Where the streams in the application come from</li>
+<li>How the data in the stream is modified</li>
+</ul>
+
+<p>In the TempSensorApplication class above, we have exactly one data source: the <code>TempSensor</code> object. We define the source stream by calling <a href="/javadoc/latest/org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>topology.poll()</code></a>, which takes both a <a href="/javadoc/latest/index.html?org/apache/edgent/function/Supplier.html"><code>Supplier</code></a> function and a time parameter to indicate how frequently readings should be taken. In our case, we read from the sensor every millisecond:</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">tempReadings</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">sensor</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">MILLISECONDS</span><span class="o">);</span>
+</code></pre></div>
+<h3 id="defining-the-tstream-object">Defining the <code>TStream</code> object</h3>
+
+<p>Calling <code>topology.poll()</code> to define a source stream creates a <code>TStream&lt;Double&gt;</code> instance, which represents the series of readings taken from the temperature sensor.</p>
+
+<p>A streaming application can run indefinitely, so the <a href="/javadoc/latest/index.html?org/apache/edgent/topology/TStream.html"><code>TStream</code></a> might see an arbitrarily large number of readings pass through it. Because a <code>TStream</code> represents the flow of your data, it supports a number of operations which allow you to modify your data.</p>
+
+<h3 id="filtering-a-tstream">Filtering a <code>TStream</code></h3>
+
+<p>In our example, we want to filter the stream of temperature readings, and remove any &quot;uninteresting&quot; or expected readings&mdash;specifically readings which are above 50 degrees and below 80 degrees. To do this, we call the <code>TStream</code>&#39;s <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-"><code>filter</code></a> method and pass in a function that returns <em>true</em> if the data is interesting and <em>false</em> if the data is uninteresting:</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">filteredReadings</span> <span class="o">=</span> <span class="n">tempReadings</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">reading</span> <span class="o">-&gt;</span> <span class="n">reading</span> <span class="o">&lt;</span> <span class="mi">50</span> <span class="o">||</span> <span class="n">reading</span> <span class="o">&gt;</span> <span class="mi">80</span><span class="o">);</span>
+</code></pre></div>
+<p>As you can see, the function that is passed to <code>filter</code> operates on each tuple individually. Unlike data streaming frameworks like <a href="https://spark.apache.org/">Apache Spark</a>, which operate on a collection of data in batch mode, Edgent achieves low latency processing by manipulating each piece of data as soon as it becomes available. Filtering a <code>TStream</code> produces another <code>TStream</code> that contains only the filtered tuples; for example, the <code>filteredReadings</code> stream.</p>
+
+<h3 id="printing-to-output">Printing to output</h3>
+
+<p>When our application detects interesting data (data outside of the expected parameters), we want to print results. You can do this by calling the <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#print--"><code>TStream.print()</code></a> method, which prints using  <code>.toString()</code> on each tuple that passes through the stream:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">filteredReadings</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
+</code></pre></div>
+<p>Unlike <code>TStream.filter()</code>, <code>TStream.print()</code> does not produce another <code>TStream</code>. This is because <code>TStream.print()</code> is a <strong>sink</strong>, which represents the terminus of a stream.</p>
+
+<p>In addition to <code>TStream.print()</code> 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 <a href="/javadoc/latest/org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>TStream.sink()</code></a> and passing in your own function.</p>
+
+<h3 id="submitting-your-application">Submitting your application</h3>
+
+<p>Now that your application has been completely declared, the final step is to run your application.</p>
+
+<p><code>DirectProvider</code> contains a <code>submit()</code> method, which runs your application directly within the current virtual machine:</p>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dp</span><span class="o">.</span><span class="na">submit</span><span class="o">(</span><span class="n">topology</span><span class="o">);</span>
+</code></pre></div>
+<p>After you run your program, you should see output containing only &quot;interesting&quot; data coming from your sensor:</p>
+<div class="highlight"><pre><code class="language-" data-lang="">49.904032311772596
+47.97837504039084
+46.59272336309031
+46.681544551652934
+47.400819234155236
+...
+</code></pre></div>
+<p>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.</p>
+
+<h2 id="further-examples">Further examples</h2>
+
+<p>This example demonstrates a small piece of Edgent&#39;s functionality. Edgent supports more complicated topologies, such as topologies that require merging and splitting data streams, or perform operations which aggregate the last <em>N</em> seconds of data (for example, calculating a moving average).</p>
+
+<p>For more complex examples, see:</p>
+
+<ul>
+<li><a href="old-samples">Edgent sample programs</a></li>
+<li><a href="streaming-concepts">Stream processing concepts</a></li>
+<li><a href="common-edgent-operations">Common Edgent operations</a></li>
+</ul>
+
+
+<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: Dec 15, 2017 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Edgent 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>
+
+    <div class="container">
+        <div class="row">
+        <div>
+            <img class="img-responsive center-block" src="../img/edgent_incubation.png" style="display: block; margin: auto;"alt="">
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/old-samples.html
----------------------------------------------------------------------
diff --git a/content/docs/old-samples.html b/content/docs/old-samples.html
new file mode 100644
index 0000000..487b64a
--- /dev/null
+++ b/content/docs/old-samples.html
@@ -0,0 +1,822 @@
+<!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>Sample programs  | Apache Edgent 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 Edgent 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-edgent" target="_blank">Source code</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="https://github.com/apache/incubator-edgent-website" target="_blank">Website/Documentation</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <li class="dropdown">
+                    
+                    
+                    
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Javadoc<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="..\javadoc\latest">latest</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.1.0">1.1.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r1.0.0">1.0.0</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="..\javadoc\r0.4.0">0.4.0</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </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">Edgent Resources<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        <li><a href="downloads">Download</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li><a href="faq">FAQ</a></li>
+                        
+                        
+                        
+                        
+                        
+                        <li class="dropdownActive"><a href="/">edgent.apache.org</a></li>
+                        
+                        
+                        
+                        
+
+                    </ul>
+                </li>
+                
+                
+
+
+                <!-- special insertion -->
+
+               
+                <!-- Send feedback function -->
+<script>
+function SendLinkByMail(href) {
+var subject= "Apache Edgent Documentation feedback";
+var body = "I have some feedback about the Sample programs 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@edgent.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="Sample programs">{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: true,
+                    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">Edgent</span>
+            <span class="versionTagline">Version 1.1.0-incubating</span>
+
+            
+            
+            
+                
+            
+            <li><a href="#">Overview</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent_index.html">Introduction</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/faq.html">FAQ</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Get Started</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/downloads.html">Downloads</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/streaming-concepts.html">Streaming concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/common-edgent-operations.html">Common operations</a></li>
+                    
+
+                    
+
+                    
+                    
+                </ul>
+                
+                
+            
+            <li><a href="#">Edgent Cookbook</a>
+                <ul>
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_hello_edgent.html">Hello Edgent!</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>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_parallel_analytics.html">How can I run analytics on several tuples in parallel?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_concurrent_analytics.html">How can I run several analytics on a tuple concurrently?</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../recipes/recipe_writing_a_connector.html">How do I write a connector?</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">Sample programs</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-edgent-website/blob/master/site/docs/old-samples.md" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+    
+  <p>This information applies to Edgent releases prior to 1.2.0. See <a href="edgent-getting-started">Getting started guide</a> for current releases.</p>
+
+<p>The <a href="edgent-getting-started">Getting started guide</a> includes a step-by-step walkthrough of a simple Edgent application.</p>
+
+<p>Edgent also includes a number of sample Java applications that demonstrate different ways that you can use and implement Edgent.</p>
+
+<p>If you are using a released version of Edgent, the samples are already compiled and ready to use. If you downloaded the source or the Git project, the samples are built when you build Edgent.</p>
+
+<h2 id="resources">Resources</h2>
+
+<p>The samples are currently available only for Java 8 environments. To use the samples, you&#39;ll need the resources in the following subdirectories of the Edgent package.:</p>
+
+<ul>
+<li>The <code>java8/samples</code> directory contains the Java code for the samples</li>
+<li>The <code>java8/scripts</code> directory contains the shell scripts that you need to run the samples</li>
+</ul>
+
+<p>If you use any of the samples in your own applications, ensure that you include the related Edgent JAR files in your <code>classpath</code>.</p>
+
+<h2 id="recommended-samples">Recommended samples</h2>
+
+<p>In addition to the sample application in the <a href="edgent-getting-started">Getting started guide</a>, the following samples can help you start developing with Edgent:</p>
+
+<ul>
+<li><strong>HelloEdgent</strong>
+
+<ul>
+<li>This simple program demonstrates the basic mechanics of declaring and executing a topology</li>
+</ul></li>
+<li><strong>PeriodicSource</strong>
+
+<ul>
+<li>This simple program demonstrates how to periodically poll a source for data to create a source stream</li>
+</ul></li>
+<li><strong>SimpleFilterTransform</strong>
+
+<ul>
+<li>This simple program demonstrates a simple analytics pipeline: <code>source -&gt; filter -&gt; transform -&gt; sink</code></li>
+</ul></li>
+<li><strong>SensorAnalytics</strong>
+
+<ul>
+<li>This more complex program demonstrates multiple facets of an Edgent application, including:
+
+<ul>
+<li>Configuration control</li>
+<li>Reading data from a device with multiple sensors</li>
+<li>Running common analytic algorithms</li>
+<li>Publishing results to MQTT server</li>
+<li>Receiving commands</li>
+<li>Logging results locally</li>
+<li>Conditional stream tracing</li>
+</ul></li>
+</ul></li>
+<li><strong>IBM Watson IoT Platform</strong>
+
+<ul>
+<li>Samples that demonstrate how to use IBM Watson IoT Platform as the IoT scale message hub between Edgent and back-end analytic systems:
+
+<ul>
+<li><a href="quickstart">Sample using the no-registration Quickstart service</a></li>
+</ul></li>
+</ul></li>
+</ul>
+
+<p>Additional samples are documented in the <a href="/javadoc/latest/overview-summary.html#overview.description">Edgent Overview</a> section of the Javadoc.</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: Dec 15, 2017 <br/>
+
+        </div>
+    </div>
+    <br/>
+    <div class="row">
+        <div class="col-md-12">
+            <p class="small">Apache Edgent 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>
+
+    <div class="container">
+        <div class="row">
+        <div>
+            <img class="img-responsive center-block" src="../img/edgent_incubation.png" style="display: block; margin: auto;"alt="">
+        </div>
+    </div>
+</footer>
+
+            </div><!-- /.row -->
+
+    </div>    <!-- /.container -->
+
+</body>
+
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 931485e..e3682df 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -768,7 +785,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>


[9/9] incubator-edgent-website git commit: from cbdf09ba624b43bb0b1e04b3dfa92822074a1327

Posted by dl...@apache.org.
from cbdf09ba624b43bb0b1e04b3dfa92822074a1327


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

Branch: refs/heads/asf-site
Commit: 9b42cd733260ae776de6ee9cfe745a6006207e4e
Parents: 090e07c
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Fri Dec 15 11:44:23 2017 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Fri Dec 15 11:44:23 2017 -0500

----------------------------------------------------------------------
 content/404.html                                |   87 +-
 content/Gemfile.lock                            |  207 ----
 content/algolia_search.json                     |   90 +-
 content/docs/application-development.html       |  922 +++++++++++++++
 content/docs/committers.html                    |   87 +-
 content/docs/common-edgent-operations.html      |   91 +-
 content/docs/community.html                     |   87 +-
 content/docs/console.html                       |   93 +-
 content/docs/downloads.html                     |  150 ++-
 .../docs/edgent-getting-started-samples.html    |  810 +++++++++++++
 content/docs/edgent-getting-started.html        |  305 +++--
 content/docs/edgent_index.html                  |   87 +-
 content/docs/faq.html                           |  138 ++-
 content/docs/home.html                          |  117 +-
 content/docs/old-edgent-getting-started.html    |  975 ++++++++++++++++
 content/docs/old-samples.html                   |  822 +++++++++++++
 content/docs/overview.html                      |   87 +-
 content/docs/power-of-edgent.html               | 1092 ++++++++++++++++++
 content/docs/quickstart.html                    |   87 +-
 content/docs/samples.html                       |  803 -------------
 content/docs/search.html                        |   87 +-
 content/docs/streaming-concepts.html            |   87 +-
 content/docs/tag_collaboration.html             |   97 +-
 content/docs/tag_content_types.html             |   97 +-
 content/docs/tag_formatting.html                |   97 +-
 content/docs/tag_getting_started.html           |  102 +-
 content/docs/tag_mobile.html                    |   97 +-
 content/docs/tag_navigation.html                |   97 +-
 content/docs/tag_publishing.html                |   97 +-
 content/docs/tag_single_sourcing.html           |   97 +-
 content/docs/tag_special_layouts.html           |   97 +-
 content/index.html                              |    1 -
 content/prince-file-list.txt                    |   39 +-
 .../recipe_adaptable_deadtime_filter.html       |  101 +-
 .../recipes/recipe_adaptable_filter_range.html  |   93 +-
 .../recipe_adaptable_polling_source.html        |   99 +-
 ...pe_combining_streams_processing_results.html |   95 +-
 .../recipes/recipe_concurrent_analytics.html    |  101 +-
 ...ipe_different_processing_against_stream.html |   91 +-
 .../recipe_dynamic_analytic_control.html        |   87 +-
 .../recipes/recipe_external_filter_range.html   |   93 +-
 content/recipes/recipe_hello_edgent.html        |   95 +-
 content/recipes/recipe_parallel_analytics.html  |   97 +-
 content/recipes/recipe_source_function.html     |   95 +-
 content/recipes/recipe_value_out_of_range.html  |   91 +-
 content/recipes/recipe_writing_a_connector.html |   87 +-
 content/search.json                             |   70 +-
 content/title-checker.html                      |  448 +++++++
 content/titlepage.html                          |   89 +-
 content/tocpage.html                            |  139 ++-
 content/urls_mydoc.txt                          |   62 +-
 51 files changed, 7622 insertions(+), 2640 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index dcbb43f..def9d92 100644
--- a/content/404.html
+++ b/content/404.html
@@ -160,12 +160,6 @@
                         
                         
                         
-                        <li><a href="samples">Samples</a></li>
-                        
-                        
-                        
-                        
-                        
                         <li><a href="faq">FAQ</a></li>
                         
                         
@@ -315,6 +309,26 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/home.html">Edgent Overview</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/power-of-edgent.html">The Power of Edgent</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/faq.html">FAQ</a></li>
                     
 
@@ -342,7 +356,37 @@ window.location.href = uri;
                     
                     
                     
-                    <li><a href="../docs/edgent-getting-started.html">Getting started guide</a></li>
+                    <li><a href="../docs/edgent-getting-started.html">Getting Started Guide</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/edgent-getting-started-samples.html">Quickstart with Edgent Samples</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/application-development.html">Understanding App Development</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
+                    <li><a href="../docs/quickstart.html">Quickstart IBM Watson IoT Platform</a></li>
                     
 
                     
@@ -510,33 +554,6 @@ window.location.href = uri;
                 
                 
             
-            <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>
                     
@@ -696,7 +713,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: May 15, 2017 <br/>
+            generated: Dec 15, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/9b42cd73/content/Gemfile.lock
----------------------------------------------------------------------
diff --git a/content/Gemfile.lock b/content/Gemfile.lock
deleted file mode 100644
index 77f3a55..0000000
--- a/content/Gemfile.lock
+++ /dev/null
@@ -1,207 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    activesupport (4.2.7)
-      i18n (~> 0.7)
-      json (~> 1.7, >= 1.7.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
-      tzinfo (~> 1.1)
-    addressable (2.5.0)
-      public_suffix (~> 2.0, >= 2.0.2)
-    coffee-script (2.4.1)
-      coffee-script-source
-      execjs
-    coffee-script-source (1.12.2)
-    colorator (1.1.0)
-    ethon (0.10.1)
-      ffi (>= 1.3.0)
-    execjs (2.7.0)
-    faraday (0.10.1)
-      multipart-post (>= 1.2, < 3)
-    ffi (1.9.14)
-    forwardable-extended (2.6.0)
-    gemoji (2.1.0)
-    github-pages (112)
-      activesupport (= 4.2.7)
-      github-pages-health-check (= 1.3.0)
-      jekyll (= 3.3.1)
-      jekyll-avatar (= 0.4.2)
-      jekyll-coffeescript (= 1.0.1)
-      jekyll-default-layout (= 0.1.4)
-      jekyll-feed (= 0.8.0)
-      jekyll-gist (= 1.4.0)
-      jekyll-github-metadata (= 2.2.0)
-      jekyll-mentions (= 1.2.0)
-      jekyll-optional-front-matter (= 0.1.2)
-      jekyll-paginate (= 1.1.0)
-      jekyll-readme-index (= 0.0.3)
-      jekyll-redirect-from (= 0.11.0)
-      jekyll-relative-links (= 0.2.1)
-      jekyll-sass-converter (= 1.3.0)
-      jekyll-seo-tag (= 2.1.0)
-      jekyll-sitemap (= 0.12.0)
-      jekyll-swiss (= 0.4.0)
-      jekyll-theme-architect (= 0.0.3)
-      jekyll-theme-cayman (= 0.0.3)
-      jekyll-theme-dinky (= 0.0.3)
-      jekyll-theme-hacker (= 0.0.3)
-      jekyll-theme-leap-day (= 0.0.3)
-      jekyll-theme-merlot (= 0.0.3)
-      jekyll-theme-midnight (= 0.0.3)
-      jekyll-theme-minimal (= 0.0.3)
-      jekyll-theme-modernist (= 0.0.3)
-      jekyll-theme-primer (= 0.1.5)
-      jekyll-theme-slate (= 0.0.3)
-      jekyll-theme-tactile (= 0.0.3)
-      jekyll-theme-time-machine (= 0.0.3)
-      jekyll-titles-from-headings (= 0.1.3)
-      jemoji (= 0.7.0)
-      kramdown (= 1.11.1)
-      liquid (= 3.0.6)
-      listen (= 3.0.6)
-      mercenary (~> 0.3)
-      minima (= 2.0.0)
-      rouge (= 1.11.1)
-      terminal-table (~> 1.4)
-    github-pages-health-check (1.3.0)
-      addressable (~> 2.3)
-      net-dns (~> 0.8)
-      octokit (~> 4.0)
-      public_suffix (~> 2.0)
-      typhoeus (~> 0.7)
-    html-pipeline (2.4.2)
-      activesupport (>= 2)
-      nokogiri (>= 1.4)
-    i18n (0.7.0)
-    jekyll (3.3.1)
-      addressable (~> 2.4)
-      colorator (~> 1.0)
-      jekyll-sass-converter (~> 1.0)
-      jekyll-watch (~> 1.1)
-      kramdown (~> 1.3)
-      liquid (~> 3.0)
-      mercenary (~> 0.3.3)
-      pathutil (~> 0.9)
-      rouge (~> 1.7)
-      safe_yaml (~> 1.0)
-    jekyll-avatar (0.4.2)
-      jekyll (~> 3.0)
-    jekyll-coffeescript (1.0.1)
-      coffee-script (~> 2.2)
-    jekyll-default-layout (0.1.4)
-      jekyll (~> 3.0)
-    jekyll-feed (0.8.0)
-      jekyll (~> 3.3)
-    jekyll-gist (1.4.0)
-      octokit (~> 4.2)
-    jekyll-github-metadata (2.2.0)
-      jekyll (~> 3.1)
-      octokit (~> 4.0, != 4.4.0)
-    jekyll-mentions (1.2.0)
-      activesupport (~> 4.0)
-      html-pipeline (~> 2.3)
-      jekyll (~> 3.0)
-    jekyll-optional-front-matter (0.1.2)
-      jekyll (~> 3.0)
-    jekyll-paginate (1.1.0)
-    jekyll-readme-index (0.0.3)
-      jekyll (~> 3.0)
-    jekyll-redirect-from (0.11.0)
-      jekyll (>= 2.0)
-    jekyll-relative-links (0.2.1)
-      jekyll (~> 3.3)
-    jekyll-sass-converter (1.3.0)
-      sass (~> 3.2)
-    jekyll-seo-tag (2.1.0)
-      jekyll (~> 3.3)
-    jekyll-sitemap (0.12.0)
-      jekyll (~> 3.3)
-    jekyll-swiss (0.4.0)
-    jekyll-theme-architect (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-cayman (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-dinky (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-hacker (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-leap-day (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-merlot (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-midnight (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-minimal (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-modernist (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-primer (0.1.5)
-      jekyll (~> 3.3)
-    jekyll-theme-slate (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-tactile (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-theme-time-machine (0.0.3)
-      jekyll (~> 3.3)
-    jekyll-titles-from-headings (0.1.3)
-      jekyll (~> 3.3)
-    jekyll-watch (1.5.0)
-      listen (~> 3.0, < 3.1)
-    jemoji (0.7.0)
-      activesupport (~> 4.0)
-      gemoji (~> 2.0)
-      html-pipeline (~> 2.2)
-      jekyll (>= 3.0)
-    json (1.8.3)
-    kramdown (1.11.1)
-    liquid (3.0.6)
-    listen (3.0.6)
-      rb-fsevent (>= 0.9.3)
-      rb-inotify (>= 0.9.7)
-    mercenary (0.3.6)
-    mini_portile2 (2.1.0)
-    minima (2.0.0)
-    minitest (5.10.1)
-    multi_json (1.12.1)
-    multipart-post (2.0.0)
-    net-dns (0.8.0)
-    nokogiri (1.7.0.1)
-      mini_portile2 (~> 2.1.0)
-    octokit (4.6.2)
-      sawyer (~> 0.8.0, >= 0.5.3)
-    pathutil (0.14.0)
-      forwardable-extended (~> 2.6)
-    public_suffix (2.0.5)
-    pygments.rb (1.1.1)
-      multi_json (>= 1.0.0)
-    rb-fsevent (0.9.8)
-    rb-inotify (0.9.7)
-      ffi (>= 0.5.0)
-    redcarpet (3.4.0)
-    rouge (1.11.1)
-    safe_yaml (1.0.4)
-    sass (3.4.23)
-    sawyer (0.8.1)
-      addressable (>= 2.3.5, < 2.6)
-      faraday (~> 0.8, < 1.0)
-    terminal-table (1.7.3)
-      unicode-display_width (~> 1.1.1)
-    thread_safe (0.3.5)
-    typhoeus (0.8.0)
-      ethon (>= 0.8.0)
-    tzinfo (1.2.2)
-      thread_safe (~> 0.1)
-    unicode-display_width (1.1.2)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  github-pages
-  jekyll
-  pygments.rb
-  redcarpet
-
-BUNDLED WITH
-   1.13.7