You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jp...@apache.org on 2016/07/12 22:30:27 UTC

svn commit: r1752357 [1/3] - in /nifi/site/trunk/docs/nifi-docs/html: ./ images/

Author: jpercivall
Date: Tue Jul 12 22:30:27 2016
New Revision: 1752357

URL: http://svn.apache.org/viewvc?rev=1752357&view=rev
Log:
Updating documentation for 0.7.0

Added:
    nifi/site/trunk/docs/nifi-docs/html/images/CopyOnWrite.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/images/DataIngress.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/images/Funnels.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/images/NiFiArchitecture.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/images/PassByReference.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/images/UpdatingAttributes.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/images/WebCrawler.png   (with props)
    nifi/site/trunk/docs/nifi-docs/html/nifi-in-depth.html
Modified:
    nifi/site/trunk/docs/nifi-docs/html/administration-guide.html
    nifi/site/trunk/docs/nifi-docs/html/developer-guide.html
    nifi/site/trunk/docs/nifi-docs/html/expression-language-guide.html
    nifi/site/trunk/docs/nifi-docs/html/getting-started.html
    nifi/site/trunk/docs/nifi-docs/html/overview.html
    nifi/site/trunk/docs/nifi-docs/html/user-guide.html

Modified: nifi/site/trunk/docs/nifi-docs/html/administration-guide.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/administration-guide.html?rev=1752357&r1=1752356&r2=1752357&view=diff
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/html/administration-guide.html (original)
+++ nifi/site/trunk/docs/nifi-docs/html/administration-guide.html Tue Jul 12 22:30:27 2016
@@ -1,20 +1,4 @@
-<!--
-                        Licensed to the Apache Software Foundation (ASF) under one or more
-                        contributor license agreements.  See the NOTICE file distributed with
-                        this work for additional information regarding copyright ownership.
-                        The ASF licenses this file to You under the Apache License, Version 2.0
-                        (the "License"); you may not use this file except in compliance with
-                        the License.  You may obtain a copy of the License at
-
-                        http://www.apache.org/licenses/LICENSE-2.0
-
-                        Unless required by applicable law or agreed to in writing, software
-                        distributed under the License is distributed on an "AS IS" BASIS,
-                        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-                        See the License for the specific language governing permissions and
-                        limitations under the License.
-                        -->
-                        <!DOCTYPE html>
+<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="UTF-8">
@@ -2757,7 +2741,7 @@ Providing three total locations, includi
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.processor.scheduling.timeout</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Time to wait for a Processor&#8217;s life-cycle operation (@OnScheduled and @OnUnscheduled) to finish before other life-cycle operation (e.g., stop) could be invoked. Default is infinite.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Time to wait for a Processor&#8217;s life-cycle operation (@OnScheduled and @OnUnscheduled) to finish before other life-cycle operation (e.g., stop) could be invoked. Default is 1 minute.</p></td>
 </tr>
 </tbody>
 </table>
@@ -2846,7 +2830,7 @@ to configure it on a separate drive if a
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.flowfile.repository.implementation</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The FlowFile Repository implementation. The default value is org.apache.nifi.controller.repository.WriteAheadFlowFileRepository and should not be changed.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The FlowFile Repository implementation. The default value is org.apache.nifi.controller.repository.WriteAheadFlowFileRepository and should only be changed with caution. To store flowfiles in memory instead of on disk (at the risk of data loss in the event of power/machine failure), set this property to org.apache.nifi.controller.repository.VolatileFlowFileRepository.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.flowfile.repository.directory*</p></td>
@@ -2933,7 +2917,26 @@ FlowFile Repository, if also on that dis
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.content.repository.implementation</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The Content Repository implementation. The default value is org.apache.nifi.controller.repository.FileSystemRepository and should not be changed.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Content Repository implementation. The default value is org.apache.nifi.controller.repository.FileSystemRepository and should only be changed with caution. To store flowfile content in memory instead of on disk (at the risk of data loss in the event of power/machine failure), set this property to org.apache.nifi.controller.repository.VolatileContentRepository.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><strong>File System Content Repository Properties</strong><br></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Property</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.content.repository.implementation</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Content Repository implementation. The default value is org.apache.nifi.controller.repository.FileSystemRepository and should only be changed with caution. To store flowfile content in memory instead of on disk (at the risk of data loss in the event of power/machine failure), set this property to org.apache.nifi.controller.repository.VolatileContentRepository.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.content.claim.max.appendable.size</p></td>
@@ -2980,6 +2983,29 @@ this property specifies the maximum amou
 </tbody>
 </table>
 <div class="paragraph">
+<p><strong>Volatile Content Repository Properties</strong><br></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Property</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.volatile.content.repository.max.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Content Repository maximum size in memory. The default value is 100MB.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.volatile.content.repository.block.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Content Repository block size. The default value is 32KB.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
 <p><strong>Provenance Repository</strong><br></p>
 </div>
 <div class="paragraph">
@@ -2997,7 +3023,7 @@ this property specifies the maximum amou
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.provenance.repository.implementation</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The Provenance Repository implementation. The default value is org.apache.nifi.provenance.PersistentProvenanceRepository and should not be changed.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Provenance Repository implementation. The default value is org.apache.nifi.provenance.PersistentProvenanceRepository and should only be changed with caution. To store provenance events in memory instead of on disk (at the risk of data loss in the event of power/machine failure), set this property to org.apache.nifi.provenance.VolatileProvenanceRepository.</p></td>
 </tr>
 </tbody>
 </table>
@@ -3544,7 +3570,7 @@ If multicast is used, the following nifi
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2016-04-12 21:55:56 -04:00
+Last updated 2016-07-09 13:42:04 -04:00
 </div>
 </div>
 </body>

Modified: nifi/site/trunk/docs/nifi-docs/html/developer-guide.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/developer-guide.html?rev=1752357&r1=1752356&r2=1752357&view=diff
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/html/developer-guide.html (original)
+++ nifi/site/trunk/docs/nifi-docs/html/developer-guide.html Tue Jul 12 22:30:27 2016
@@ -1,20 +1,4 @@
-<!--
-                        Licensed to the Apache Software Foundation (ASF) under one or more
-                        contributor license agreements.  See the NOTICE file distributed with
-                        this work for additional information regarding copyright ownership.
-                        The ASF licenses this file to You under the Apache License, Version 2.0
-                        (the "License"); you may not use this file except in compliance with
-                        the License.  You may obtain a copy of the License at
-
-                        http://www.apache.org/licenses/LICENSE-2.0
-
-                        Unless required by applicable law or agreed to in writing, software
-                        distributed under the License is distributed on an "AS IS" BASIS,
-                        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-                        See the License for the specific language governing permissions and
-                        limitations under the License.
-                        -->
-                        <!DOCTYPE html>
+<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="UTF-8">
@@ -3184,7 +3168,7 @@ worry about bothering us. Just ping the
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2016-04-12 21:55:56 -04:00
+Last updated 2016-07-09 13:42:04 -04:00
 </div>
 </div>
 </body>

Modified: nifi/site/trunk/docs/nifi-docs/html/expression-language-guide.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/expression-language-guide.html?rev=1752357&r1=1752356&r2=1752357&view=diff
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/html/expression-language-guide.html (original)
+++ nifi/site/trunk/docs/nifi-docs/html/expression-language-guide.html Tue Jul 12 22:30:27 2016
@@ -1,20 +1,4 @@
-<!--
-                        Licensed to the Apache Software Foundation (ASF) under one or more
-                        contributor license agreements.  See the NOTICE file distributed with
-                        this work for additional information regarding copyright ownership.
-                        The ASF licenses this file to You under the Apache License, Version 2.0
-                        (the "License"); you may not use this file except in compliance with
-                        the License.  You may obtain a copy of the License at
-
-                        http://www.apache.org/licenses/LICENSE-2.0
-
-                        Unless required by applicable law or agreed to in writing, software
-                        distributed under the License is distributed on an "AS IS" BASIS,
-                        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-                        See the License for the specific language governing permissions and
-                        limitations under the License.
-                        -->
-                        <!DOCTYPE html>
+<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="UTF-8">
@@ -499,6 +483,7 @@ body.book #toc,body.book #preamble,body.
 <li><a href="#append">append</a></li>
 <li><a href="#prepend">prepend</a></li>
 <li><a href="#replace">replace</a></li>
+<li><a href="#replacefirst">replaceFirst</a></li>
 <li><a href="#replaceall">replaceAll</a></li>
 <li><a href="#replacenull">replaceNull</a></li>
 <li><a href="#replaceempty">replaceEmpty</a></li>
@@ -510,10 +495,12 @@ body.book #toc,body.book #preamble,body.
 <li><a href="#startswith">startsWith</a></li>
 <li><a href="#endswith">endsWith</a></li>
 <li><a href="#contains">contains</a></li>
+<li><a href="#in">in</a></li>
 <li><a href="#find">find</a></li>
 <li><a href="#matches">matches</a></li>
 <li><a href="#indexof">indexOf</a></li>
 <li><a href="#lastindexof">lastIndexOf</a></li>
+<li><a href="#jsonpath">jsonPath</a></li>
 </ul>
 </li>
 <li><a href="#numbers">Mathematical Operations and Numeric Manipulation</a>
@@ -524,6 +511,7 @@ body.book #toc,body.book #preamble,body.
 <li><a href="#divide">divide</a></li>
 <li><a href="#mod">mod</a></li>
 <li><a href="#toradix">toRadix</a></li>
+<li><a href="#random">random</a></li>
 </ul>
 </li>
 <li><a href="#dates">Date Manipulation</a>
@@ -1699,7 +1687,7 @@ or <code>false</code>.</span></p>
 <div class="sect2 function">
 <h3 id="replace"><a class="anchor" href="#replace"></a>replace</h3>
 <div class="paragraph">
-<p><strong>Description</strong>: <span class="description">Replaces occurrences of one String within the Subject with another String.</span></p>
+<p><strong>Description</strong>: <span class="description">Replaces <strong>all</strong> occurrences of one literal String within the Subject with another String.</span></p>
 </div>
 <div class="paragraph">
 <p><strong>Subject Type</strong>: <span class="subject">String</span></p>
@@ -1755,9 +1743,67 @@ Expressions will provide the following r
 </table>
 </div>
 <div class="sect2 function">
+<h3 id="replacefirst"><a class="anchor" href="#replacefirst"></a>replaceFirst</h3>
+<div class="paragraph">
+<p><strong>Description</strong>: <span class="description">Replaces <strong>the first</strong> occurrence of one literal String or regular expression within the Subject with another String.</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Subject Type</strong>: <span class="subject">String</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Arguments</strong>:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><span class="argName"><em>Search String</em></span> : <span class="argDesc">The String (literal or regular expression pattern) to find within the Subject</span></p>
+</li>
+<li>
+<p><span class="argName"><em>Replacement</em></span> : <span class="argDesc">The value to replace <em>Search String</em> with</span></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><strong>Return Type</strong>: <span class="returnType">String</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Examples</strong>: If the "filename" attribute has the value "a brand new filename.txt", then the following
+Expressions will provide the following results:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 8. ReplaceFirst Examples</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Expression</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Value</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${filename:replaceFirst('a', 'the')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>the brand new filename.txt</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${filename:replaceFirst('[br]', 'g')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>a grand new filename.txt</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${filename:replaceFirst('XYZ', 'ZZZ')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>a brand new filename.txt</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${filename:replaceFirst('\w{8}', 'book')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>a brand new book.txt</code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2 function">
 <h3 id="replaceall"><a class="anchor" href="#replaceall"></a>replaceAll</h3>
 <div class="paragraph">
-<p><strong>Description</strong>: <span class="description">The <code>replaceAll</code> function takes two String arguments: a Regular Expression (NiFi uses the Java Pattern
+<p><strong>Description</strong>: <span class="description">The <code>replaceAll</code> function takes two String arguments: a literal String or Regular Expression (NiFi uses the Java Pattern
 	syntax), and a replacement string. The return value is the result of substituting the replacement string for
 	all patterns within the Subject that match the Regular Expression.</span></p>
 </div>
@@ -1789,7 +1835,7 @@ argument uses Capturing Groups, back ref
 Expressions will provide the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 8. replaceAll Examples</caption>
+<caption class="title">Table 9. ReplaceAll Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -1987,6 +2033,36 @@ Expressions will provide the following r
 </div>
 </div>
 <div class="sect2 function">
+<h3 id="in"><a class="anchor" href="#in"></a>in</h3>
+<div class="paragraph">
+<p><strong>Description</strong>: <span class="description">Returns <code>true</code> if the Subject is matching one of the provided arguments.</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Subject Type</strong>: <span class="subject">String</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Arguments</strong>:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><span class="argName"><em>value1</em></span> : <span class="argDesc">First possible matching value</span></p>
+</li>
+<li>
+<p><span class="argName"><em>valueN</em></span> : <span class="argDesc">Nth possible matching value</span></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><strong>Return Type</strong>: <span class="returnType">Boolean</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Examples</strong>: If the "myEnum" attribute has the value "JOHN", then the Expression
+	<code>${myEnum:in("PAUL", "JOHN", "MIKE")}</code> will return <code>true</code>. <code>${myEnum:in("RED", "GREEN", "BLUE")}</code> will
+	return <code>false</code>.</p>
+</div>
+</div>
+<div class="sect2 function">
 <h3 id="find"><a class="anchor" href="#find"></a>find</h3>
 <div class="paragraph">
 <p><strong>Description</strong>: <span class="description">Returns <code>true</code> if the Subject contains any sequence of characters that matches the
@@ -2016,7 +2092,7 @@ Expressions will provide the following r
 Expressions will provide the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 9. find Examples</caption>
+<caption class="title">Table 10. find Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2070,7 +2146,7 @@ Expressions will provide the following r
 Expressions will provide the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 10. matches Examples</caption>
+<caption class="title">Table 11. matches Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2125,7 +2201,7 @@ Expressions will provide the following r
 Expressions will provide the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 11. indexOf Examples</caption>
+<caption class="title">Table 12. indexOf Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2184,7 +2260,7 @@ Expressions will provide the following r
 Expressions will provide the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 12. lastIndexOf Examples</caption>
+<caption class="title">Table 13. lastIndexOf Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2213,6 +2289,97 @@ Expressions will provide the following r
 </tbody>
 </table>
 </div>
+<div class="sect2 function">
+<h3 id="jsonpath"><a class="anchor" href="#jsonpath"></a>jsonPath</h3>
+<div class="paragraph">
+<p><strong>Description</strong>: <span class="description">The <code>jsonPath</code> function generates a string by evaluating the Subject as JSON and applying a JSON
+  path expression. An empty string is generated if the Subject does not contain valid JSON, the <em>jsonPath</em> is invalid, or the path
+	does not exist in the Subject.  If the evaluation results in a scalar value, the string representation of scalar value is
+	generated.  Otherwise a string representation of the JSON result is generated.  A JSON array of length 1 is special cased
+	when <code>[0]</code> is a scalar, the string representation of <code>[0]</code> is generated.<sup>1</sup></span></p>
+</div>
+<div class="paragraph">
+<p><strong>Subject Type</strong>: <span class="subject">String</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Arguments</strong>:
+	 <span class="argName"><em>jsonPath</em></span> : <span class="argDesc">the JSON path expression used to evaluate the Subject.</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Return Type</strong>: <span class="returnType">String</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Examples</strong>: If the "myJson" attribute is</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>{
+  "firstName": "John",
+  "lastName": "Smith",
+  "isAlive": true,
+  "age": 25,
+  "address": {
+    "streetAddress": "21 2nd Street",
+    "city": "New York",
+    "state": "NY",
+    "postalCode": "10021-3100"
+  },
+  "phoneNumbers": [
+    {
+      "type": "home",
+      "number": "212 555-1234"
+    },
+    {
+      "type": "office",
+      "number": "646 555-4567"
+    }
+  ],
+  "children": [],
+  "spouse": null
+}</pre>
+</div>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 14. jsonPath Examples</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Expression</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Value</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${myJson:jsonPath('$.firstName')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>John</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${myJson:jsonPath('$.address.postalCode')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>10021-3100</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${myJson:jsonPath('$.phoneNumbers[?(@.type=="home")].number')}</code><sup>1</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>212 555-1234</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${myJson:jsonPath('$.phoneNumbers')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"}]</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${myJson:jsonPath('$.missing-path')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><em>empty</em></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${myJson:jsonPath('$.bad-json-path..')}</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><em>exception bulletin</em></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>An empty subject value or a subject value with an invalid JSON document results in an exception bulletin.</p>
+</div>
+</div>
 </div>
 </div>
 <div class="sect1">
@@ -2381,7 +2548,7 @@ Expressions will provide the following r
 	the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 13. toRadix Examples</caption>
+<caption class="title">Table 15. toRadix Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2422,6 +2589,24 @@ Expressions will provide the following r
 </tbody>
 </table>
 </div>
+<div class="sect2 function">
+<h3 id="random"><a class="anchor" href="#random"></a>random</h3>
+<div class="paragraph">
+<p><strong>Description</strong>: <span class="description">Returns a random number ( 0 to 2^63 - 1) using an insecure random number generator.</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Subject Type</strong>: <span class="subjectless">No subject</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Arguments</strong>: No arguments</p>
+</div>
+<div class="paragraph">
+<p><strong>Return Type</strong>: <span class="returnType">Number</span></p>
+</div>
+<div class="paragraph">
+<p><strong>Examples</strong>: ${random():mod(10):plus(1)} returns random number between 1 and 10 inclusive.</p>
+</div>
+</div>
 </div>
 </div>
 <div class="sect1">
@@ -2455,7 +2640,7 @@ Expressions will provide the following r
 	the following results:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 14. format Examples</caption>
+<caption class="title">Table 16. format Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2546,7 +2731,7 @@ was run then it would output <code>14538
 manipulate the value.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 15. now Examples</caption>
+<caption class="title">Table 17. now Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2794,7 +2979,7 @@ provides several functions for evaluatin
 	and "filename" contains "file.txt" consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 16. anyAttribute Examples</caption>
+<caption class="title">Table 18. anyAttribute Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2844,7 +3029,7 @@ provides several functions for evaluatin
 	and "filename" contains "file.txt" consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 17. allAttributes Example</caption>
+<caption class="title">Table 19. allAttributes Example</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2895,7 +3080,7 @@ provides several functions for evaluatin
 	and "filename" contains "file.txt" consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 18. anyMatchingAttribute Example</caption>
+<caption class="title">Table 20. anyMatchingAttribute Example</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -2943,7 +3128,7 @@ provides several functions for evaluatin
 	and "filename" contains "file.txt" consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 19. anyMatchingAttributes Examples</caption>
+<caption class="title">Table 21. anyMatchingAttributes Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -3000,7 +3185,7 @@ though it does not have to be.</span></p
 	consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 20. anyDelineatedValue Examples</caption>
+<caption class="title">Table 22. anyDelineatedValue Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -3053,7 +3238,7 @@ an embedded Expression, though it does n
 	consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 21. allDelineatedValues Examples</caption>
+<caption class="title">Table 23. allDelineatedValues Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -3110,7 +3295,7 @@ an embedded Expression, though it does n
 	and "filename" contains "file.txt" consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 22. join Examples</caption>
+<caption class="title">Table 24. join Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -3153,7 +3338,7 @@ an embedded Expression, though it does n
 	and "number_list" contains "1,2,3,4,5" consider the following examples:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 23. count Examples</caption>
+<caption class="title">Table 25. count Examples</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -3191,7 +3376,7 @@ an embedded Expression, though it does n
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2016-04-12 21:55:56 -04:00
+Last updated 2016-07-09 13:42:04 -04:00
 </div>
 </div>
 </body>

Modified: nifi/site/trunk/docs/nifi-docs/html/getting-started.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/getting-started.html?rev=1752357&r1=1752356&r2=1752357&view=diff
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/html/getting-started.html (original)
+++ nifi/site/trunk/docs/nifi-docs/html/getting-started.html Tue Jul 12 22:30:27 2016
@@ -1,20 +1,4 @@
-<!--
-                        Licensed to the Apache Software Foundation (ASF) under one or more
-                        contributor license agreements.  See the NOTICE file distributed with
-                        this work for additional information regarding copyright ownership.
-                        The ASF licenses this file to You under the Apache License, Version 2.0
-                        (the "License"); you may not use this file except in compliance with
-                        the License.  You may obtain a copy of the License at
-
-                        http://www.apache.org/licenses/LICENSE-2.0
-
-                        Unless required by applicable law or agreed to in writing, software
-                        distributed under the License is distributed on an "AS IS" BASIS,
-                        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-                        See the License for the specific language governing permissions and
-                        limitations under the License.
-                        -->
-                        <!DOCTYPE html>
+<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="UTF-8">
@@ -652,7 +636,7 @@ editing the <code>nifi.properties</code>
 <h3 id="adding-a-processor"><a class="anchor" href="#adding-a-processor"></a>Adding a Processor</h3>
 <div class="paragraph">
 <p>We can now begin creating our dataflow by adding a Processor to our canvas. To do this, drag the Processor icon
-<span class="image"><img src="./images/iconProcessor.png" alt="Processor"></span> from the top-left of the screen into the middle of the canvas (the graph paper-like
+(<span class="image"><img src="./images/iconProcessor.png" alt="Processor"></span>) from the top-left of the screen into the middle of the canvas (the graph paper-like
 background) and drop it there. This will give us a dialog that allows us to choose which Processor we want to add:</p>
 </div>
 <div class="paragraph">
@@ -684,17 +668,17 @@ for each type. Properties that are in bo
 properties have been configured. The most important property to configure for GetFile is the directory from which
 to pick up files. If we set the directory name to <code>./data-in</code>, this will cause the Processor to start picking up
 any data in the <code>data-in</code> subdirectory of the NiFi Home directory. We can choose to configure several different
-Properties for this Processor. If unsure what a particular Property does, we can hover over the help icon (
+Properties for this Processor. If unsure what a particular Property does, we can hover over the Help icon (
 <span class="image"><img src="./images/iconInfo.png" alt="Help"></span>
 )
 next to the Property Name with the mouse in order to read a description of the property. Additionally, the
-tooltip that is displayed when hovering over the help icon will provide the default value for that property,
+tooltip that is displayed when hovering over the Help icon will provide the default value for that property,
 if one exists, information about whether or not the property supports the Expression Language (see the
 <a href="#ExpressionLanguage">Expression Language / Using Attributes in Property Values</a> section below), and previously configured values for that property.</p>
 </div>
 <div class="paragraph">
 <p>In order for this property to be valid, create a directory named <code>data-in</code> in the NiFi home directory and then
-click the <code>OK</code> button to close the dialog.</p>
+click the <code>Ok</code> button to close the dialog.</p>
 </div>
 </div>
 <div class="sect2">
@@ -702,10 +686,10 @@ click the <code>OK</code> button to clos
 <div class="paragraph">
 <p>Each Processor has a set of defined "Relationships" that it is able to send data to. When a Processor finishes handling
 a FlowFile, it transfers it to one of these Relationships. This allows a user to configure how to handle FlowFiles based
-on the result of Processing. For example, many Processor define two Relationships: <code>success</code> and <code>failure</code>. Users are
+on the result of Processing. For example, many Processors define two Relationships: <code>success</code> and <code>failure</code>. Users are
 then able to configure data to be routed through the flow one way if the Processor is able to successfully process
-the data and route the data through the flow in a completely different many if the Processor cannot process the
-data for some reason. Or, depending on the use case, the may simply route both relationships to the same route through
+the data and route the data through the flow in a completely different manner if the Processor cannot process the
+data for some reason. Or, depending on the use case, it may simply route both relationships to the same route through
 the flow.</p>
 </div>
 <div class="paragraph">
@@ -756,7 +740,7 @@ will be evaluated first and if two FlowF
 will be used.</p>
 </div>
 <div class="paragraph">
-<p>For the sake of this discuss, we can simply click <code>Add</code>. to add the Connection to our graph. We should now see that the Alert
+<p>For the sake of this discussion, we can simply click <code>Add</code>. to add the Connection to our graph. We should now see that the Alert
 icon has changed to a Stopped icon (
 <span class="image"><img src="./images/iconStop.png" alt="Stopped"></span>
 ). The LogAttribute Processor, however, is now invalid because its <code>success</code> Relationship has not been connected to
@@ -776,9 +760,8 @@ right-click and choose the <code>Start</
 then click the Start icon in the toolbar at the top of the screen.</p>
 </div>
 <div class="paragraph">
-<p>Once started, the icon in the top-left corner of the Processors will change from a stopped icon to a Running icon. We can then
-stop the Processors in the same manner that we started them but using the Stop icon in the toolbar or the Stop menu item
-as opposed to the Start button.</p>
+<p>Once started, the icon in the top-left corner of the Processors will change from a stopped icon to a running icon. We can then
+stop the Processors by using the Stop icon in the toolbar or the <code>Stop</code> menu item.</p>
 </div>
 <div class="paragraph">
 <p>Once a Processor has started, we are not able to configure it anymore. Instead, when we right-click on the Processor, we are
@@ -842,6 +825,9 @@ categorizing them by their functions.</p
 <li>
 <p><strong>TransformXml</strong>: Apply an XSLT transform to XML Content</p>
 </li>
+<li>
+<p><strong>TransformJSON</strong>: Apply a JOLT specification to transform JSON Content</p>
+</li>
 </ul>
 </div>
 </div>
@@ -898,6 +884,12 @@ is valid according to the user-defined X
 <li>
 <p><strong>PutSQL</strong>: Updates a database by executing the SQL DDM statement defined by the FlowFile&#8217;s content</p>
 </li>
+<li>
+<p><strong>SelectHiveQL</strong>: Executes a user-defined HiveQL SELECT command against an Apache Hive database, writing the results to a FlowFile in Avro or CSV format</p>
+</li>
+<li>
+<p><strong>PutHiveQL</strong>: Updates a Hive database by executing the HiveQL DDM statement defined by the FlowFile&#8217;s content</p>
+</li>
 </ul>
 </div>
 </div>
@@ -1166,11 +1158,11 @@ a message from SQS, perform some process
 <div class="paragraph">
 <p>Each FlowFile is created with several Attributes, and these Attributes will change over the life of
 the FlowFile. The concept of a FlowFile is extremely powerful and provides three primary benefits.
-First, it allows the user to make routing decisions in the flow so that FlowFiles that meeting some criteria
+First, it allows the user to make routing decisions in the flow so that FlowFiles that meet some criteria
 can be handled differently than other FlowFiles. This is done using the RouteOnAttribute and similar Processors.</p>
 </div>
 <div class="paragraph">
-<p>Secondly, Attributes are used in order to configure Processors in such a way that the configurationg of the
+<p>Secondly, Attributes are used in order to configure Processors in such a way that the configuration of the
 Processor is dependent on the data itself. For instance, the PutFile Processor is able to use the Attributes in order
 to know where to store each FlowFile, while the directory and filename Attributes may be different for each FlowFile.</p>
 </div>
@@ -1233,7 +1225,7 @@ process the data.</p>
 <p>In addition to having Processors that are able to extract particular pieces of information from FlowFile content into Attributes,
 it is also common for users to want to add their own user-defined Attributes to each FlowFile at a particular place in the flow.
 The UpdateAttribute Processor is designed specifically for this purpose. Users are able to add a new property to the Processor
-in the Configure dialog by clicking the "New Property" button in the top-right corner of the Properties tab. The user is then
+in the Configure dialog by clicking the "+" button in the top-right corner of the Properties tab. The user is then
 prompted to enter the name of the property and then a value. For each FlowFile that is processed by this UpdateAttribute
 Processor, an Attribute will be added for each user-defined property. The name of the Attribute will be the same as the name of
 the property that was added. The value of the Attribute will be the same as the value of the property.</p>
@@ -1248,7 +1240,7 @@ here.</p>
 <div class="paragraph">
 <p>In addition to always adding a defined set of Attributes, the UpdateAttribute Processor has an Advanced UI that allows the user
 to configure a set of rules for which Attributes should be added when. To access this capability, in the Configure dialog&#8217;s
-Properties tab, click the <code>Advanced...</code> button at the bottom of the dialog. This will provide a UI that is tailored specifically
+Properties tab, click the <code>Advanced</code> button at the bottom of the dialog. This will provide a UI that is tailored specifically
 to this Processor, rather than the simple Properties table that is provided for all Processors. Within this UI, the user is able
 to configure a rules engine, essentially, specifying rules that must match in order to have the configured Attributes added
 to the FlowFile.</p>
@@ -1259,7 +1251,7 @@ to the FlowFile.</p>
 <div class="paragraph">
 <p>One of the most powerful features of NiFi is the ability to route FlowFiles based on their Attributes. The primary mechanism
 for doing this is the RouteOnAttribute Processor. This Processor, like UpdateAttribute, is configured by adding user-defined properties.
-Any number of properties can be added by clicking the "New Property" icon in the top-right corner of the Properties tab in the
+Any number of properties can be added by clicking the "+" button in the top-right corner of the Properties tab in the
 Processor&#8217;s Configure dialog.</p>
 </div>
 <div class="paragraph">
@@ -1283,14 +1275,14 @@ to that Relationship. All other FlowFile
 we have some mechanism by which we can use them. The NiFi Expression Language allows us to access and manipulate FlowFile Attribute
 values as we configure our flows. Not all Processor properties allow the Expression Language to be used, but many do. In order to
 determine whether or not a property supports the Expression Language, a user can hover over the Help icon (
-<span class="icon"><i class="fa fa-iconInfo.png fa-Help Icon"></i></span>
+<span class="icon"><i class="fa fa-iconInfo.png fa-Help"></i></span>
 ) in the Properties tab of the Processor Configure dialog. This will provide a tooltip that shows a description of the property, the
 default value, if any, and whether or not the property supports the Expression Language.</p>
 </div>
 <div class="paragraph">
 <p>For properties that do support the Expression Language, it is used by adding an expression within the opening <code>${</code> tag and the closing
 <code>}</code> tag. An expression can be as simple as an attribute name. For example, to reference the <code>uuid</code> Attribute, we can simply use the
-value <code>${uuid}</code>. If the Attribute name begins with any character other than a letter, or if it contians a character other than
+value <code>${uuid}</code>. If the Attribute name begins with any character other than a letter, or if it contains a character other than
 a number, a letter, a period (.), or an underscore (_), the Attribute name will need to be quoted. For example, <code>${My Attribute Name}</code>
 will be invalid, but <code>${'My Attribute Name'}</code> will refer to the Attribute <code>My Attribute Name</code>.</p>
 </div>
@@ -1315,8 +1307,8 @@ and comparing values. A full explanation
 <div class="paragraph">
 <p>In addition, this Expression Language guide is built in to the application so that users are able to easily see which functions are available
 and see their documentation while typing. When setting the value of a property that supports the Expression Language, if the cursor is within
-the Expression Language start and end tags, pressing Ctrl + Space on the keyword will provide a popup of all of the available functions and
-will provide auto-complete functionality. Clicking on or using the keyboard to navigate to one of the functions listed in the popup will
+the Expression Language start and end tags, pressing Ctrl + Space on the keyword will provide a pop-up of all of the available functions and
+will provide auto-complete functionality. Clicking on or using the keyboard to navigate to one of the functions listed in the pop-up will
 cause a tooltip to show, which explains what the function does, the arguments that it expects, and the return type of the function.</p>
 </div>
 </div>
@@ -1339,21 +1331,21 @@ the Shift key while selecting additional
 </li>
 <li>
 <p>Select the Create Template Icon (
-<span class="image"><img src="./images/iconTemplate.png" alt="Template Icon"></span>
+<span class="image"><img src="./images/iconNewTemplate.png" alt="New Template Icon"></span>
 ) from the middle toolbar at the top of the screen.</p>
 </li>
 <li>
 <p>Provide a name and optionally comments about the template.</p>
 </li>
 <li>
-<p>Click the Create button.</p>
+<p>Click the <code>Create</code> button.</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
 <p>Once we have created a template, we can now use it as a building block in our flow, just as we would a Processor. To do this, we will
 click and drag the Template icon from the left-most toolbar onto our canvas. We can then choose the template that we would like to add
-or our canvas and click the Add button.</p>
+or our canvas and click the <code>Add</code> button.</p>
 </div>
 <div class="paragraph">
 <p>Finally, we have the ability to manage our templates by using the Template Management dialog. To access this dialog, click the Template
@@ -1362,16 +1354,22 @@ On the right-hand side of the table is i
 that they can use your template.</p>
 </div>
 <div class="paragraph">
-<p>To import a template into your NiFi instance, click the Browse button in the top-right corner of the dialog and navigate to the file on
-your computer. Then click the Import button. The template will now show up in your table, and you can drag it onto your canvas as you would
+<p>To import a template into your NiFi instance, click the <code>Browse</code> button in the top-right corner of the dialog and navigate to the file on
+your computer. Then click the <code>Import</code> button. The template will now show up in your table, and you can drag it onto your canvas as you would
 any other template that you have created.</p>
 </div>
 <div class="paragraph">
-<p>There are a few important notes to remember when working with templates:
-- Any properties that are identified as being Sensitive Properties (such as a password that is configured in a Processor) will not be added
-  to the template. These sensitive properties will have to be populated each time that the template is added to the canvas.
-- If a component that is included in the template references a Controller Service, the Controller Service will also be added to the template.
-  This means that each time that the template is added to the graph, it will create a copy of the Controller Service.</p>
+<p>There are a few important notes to remember when working with templates:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Any properties that are identified as being Sensitive Properties (such as a password that is configured in a Processor) will not be added to the template. These sensitive properties will have to be populated each time that the template is added to the canvas.</p>
+</li>
+<li>
+<p>If a component that is included in the template references a Controller Service, the Controller Service will also be added to the template. This means that each time that the template is added to the graph, it will create a copy of the Controller Service.</p>
+</li>
+</ul>
 </div>
 </div>
 </div>
@@ -1408,7 +1406,7 @@ that have been emitted by the Processor.
 </div>
 <div class="paragraph">
 <p>It may also be valuable to see historical values for these metrics and, if clustered, how the different nodes compare to one another.
-In order to see this information, we can right-click on a component and choose the Status menu item. This will show us a graph that spans
+In order to see this information, we can right-click on a component and choose the <code>Stats</code> menu item. This will show us a graph that spans
 the time since NiFi was started, or up to 24 hours, whichever is less. The amount of time that is shown here can be extended or reduced
 by changing the configuration in the properties file.</p>
 </div>
@@ -1420,7 +1418,7 @@ user to select a smaller portion of the
 <div class="sect2">
 <h3 id="bulletins"><a class="anchor" href="#bulletins"></a>Bulletins</h3>
 <div class="paragraph">
-<p>In addition to the statistics provided by each component, as a user we will want to know if any problems occur. While we could monitor the
+<p>In addition to the statistics provided by each component, a user will want to know if any problems occur. While we could monitor the
 logs for anything interesting, it is much more convenient to have notifications pop up on the screen. If a Processor logs
 anything as a WARNING or ERROR, we will see a "Bulletin Indicator" show up in the top-left-hand corner of the Processor. This indicator
 looks like a sticky note and will be shown for five minutes after the event occurs. Hovering over the bulletin provides information about
@@ -1451,7 +1449,7 @@ the Provenance events that we have searc
 </div>
 <div class="paragraph">
 <p>Initially, this table is populated with the most recent 1,000 Provenance Events that have occurred (though it may take a few
-seconds for the information to be processed after the events occur). From this dialog, there is a Search button that allows the
+seconds for the information to be processed after the events occur). From this dialog, there is a <code>Search</code> button that allows the
 user to search for events that happened by a particular Processor, for a particular FlowFile by filename or UUID, or several other
 fields. The <code>nifi.properties</code> file provides the ability to configure which of these properties are indexed, or made searchable.
 Additionally, the properties file also allows you to choose specific FlowFile Attributes that will be indexed. As a result, you can
@@ -1462,7 +1460,7 @@ choose which Attributes will be importan
 <div class="paragraph">
 <p>Once we have performed our search, our table will be populated only with the events that match the search criteria. From here, we
 can choose the Info icon (
-<span class="image"><img src="./images/iconInfo.png" alt="Info Icon"></span>
+<span class="image"><img src="./images/iconDetails.png" alt="Details Icon"></span>
 ) on the left-hand side of the table to view the details of that event:</p>
 </div>
 <div class="paragraph">
@@ -1485,7 +1483,7 @@ corner is a checkbox that allows the use
 only a handful of Attributes, but can be very helpful when a FlowFile has hundreds of Attributes.</p>
 </div>
 <div class="paragraph">
-<p>This is very important, because it allows the user to understand the exactly context in which the FlowFile was processed. This is very helpful
+<p>This is very important because it allows the user to understand the exact context in which the FlowFile was processed. It is helpful
 to understand <em>why</em> the FlowFile was processed the way that it was, especially when the Processor was configured using the Expression Language.</p>
 </div>
 <div class="paragraph">
@@ -1500,7 +1498,7 @@ of the FlowFile, we will see the <em>bef
 content within NiFi itself, if the data format is one that NiFi understands how to render.</p>
 </div>
 <div class="paragraph">
-<p>Additionally, there is <em>Replay</em> button that allows the user to re-insert the FlowFile into the flow and re-process it from exactly the point
+<p>Additionally, in the Replay section of the tab, there is a <em>Submit</em> button that allows the user to re-insert the FlowFile into the flow and re-process it from exactly the point
 at which the event happened. This provides a very powerful mechanism, as we are able to modify our flow in real time, re-process a FlowFile,
 and then view the results. If they are not as expected, we can modify the flow again, and re-process the FlowFile again. We are able to perform
 this iterative development of the flow until it is processing the data exactly as intended.</p>
@@ -1520,8 +1518,8 @@ this iterative development of the flow u
 <p><span class="image"><img src="./images/lineage-graph-annotated.png" alt="Lineage Graph"></span></p>
 </div>
 <div class="paragraph">
-<p>From here, we can right-click on any of the events represented and click the "View Details" menu item to see the <a href="#EventDetails">Event Details</a>.
-This graphical representation shows us exactly which events occurred to the data. There are a view "special" event types to be
+<p>From here, we can right-click on any of the events represented and click the <code>View Details</code> menu item to see the <a href="#EventDetails">Event Details</a>.
+This graphical representation shows us exactly which events occurred to the data. There are a few "special" event types to be
 aware of. If we see a JOIN, FORK, or CLONE event, we can right-click and choose to Find Parents or Expand. This allows us to
 see the lineage of parent FlowFiles and children FlowFiles that were created as well.</p>
 </div>
@@ -1592,7 +1590,7 @@ work back to the Apache NiFi community s
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2016-04-12 21:55:56 -04:00
+Last updated 2016-07-09 13:42:04 -04:00
 </div>
 </div>
 </body>

Added: nifi/site/trunk/docs/nifi-docs/html/images/CopyOnWrite.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/CopyOnWrite.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/CopyOnWrite.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: nifi/site/trunk/docs/nifi-docs/html/images/DataIngress.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/DataIngress.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/DataIngress.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: nifi/site/trunk/docs/nifi-docs/html/images/Funnels.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/Funnels.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/Funnels.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: nifi/site/trunk/docs/nifi-docs/html/images/NiFiArchitecture.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/NiFiArchitecture.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/NiFiArchitecture.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: nifi/site/trunk/docs/nifi-docs/html/images/PassByReference.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/PassByReference.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/PassByReference.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: nifi/site/trunk/docs/nifi-docs/html/images/UpdatingAttributes.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/UpdatingAttributes.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/UpdatingAttributes.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: nifi/site/trunk/docs/nifi-docs/html/images/WebCrawler.png
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/images/WebCrawler.png?rev=1752357&view=auto
==============================================================================
Binary file - no diff available.

Propchange: nifi/site/trunk/docs/nifi-docs/html/images/WebCrawler.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream