You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by al...@apache.org on 2019/02/22 01:03:50 UTC

svn commit: r1854109 [48/50] - in /nifi/site/trunk/docs/nifi-docs: ./ components/org.apache.nifi/nifi-ambari-nar/1.9.0/ components/org.apache.nifi/nifi-ambari-nar/1.9.0/org.apache.nifi.reporting.ambari.AmbariReportingTask/ components/org.apache.nifi/ni...

Modified: nifi/site/trunk/docs/nifi-docs/html/user-guide.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/user-guide.html?rev=1854109&r1=1854108&r2=1854109&view=diff
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/html/user-guide.html (original)
+++ nifi/site/trunk/docs/nifi-docs/html/user-guide.html Fri Feb 22 01:03:44 2019
@@ -721,7 +721,7 @@ UI may become unavailable.</p>
 <div class="ulist">
 <ul>
 <li>
-<p><strong>uuid</strong>: A unique identifier for the FlowFile</p>
+<p><strong>uuid</strong>: A Universally Unique Identifier that distinguishes the FlowFile from other FlowFiles in the system.</p>
 </li>
 <li>
 <p><strong>filename</strong>: A human-readable filename that may be used when storing the data to disk or in an external service</p>
@@ -787,13 +787,13 @@ UI may become unavailable.</p>
 	These templates can also be exported as XML and imported into another NiFi instance, allowing these building blocks to be shared.</p>
 </div>
 <div class="paragraph">
-<p><strong>flow.xml.gz</strong>: Everything the DFM puts onto the NiFi User Interface canvas is written, in real time, to one file called the flow.xml.gz. This file is located in the nifi/conf directory by default.
-	Any change made on the canvas is automatically saved to this file, without the user needing to click a "save" button.
+<p><strong>flow.xml.gz</strong>: Everything the DFM puts onto the NiFi User Interface canvas is written, in real time, to one file called the <em>flow.xml.gz</em>. This file is located in the <code>nifi/conf</code> directory by default.
+	Any change made on the canvas is automatically saved to this file, without the user needing to click a "Save" button.
 	In addition, NiFi automatically creates a backup copy of this file in the archive directory when it is updated.
-	You can use these archived files to rollback flow configuration. To do so, stop NiFi, replace flow.xml.gz with a desired backup copy, then restart NiFi.
-	In a clustered environment, stop the entire NiFi cluster, replace the flow.xml.gz of one of nodes, and restart the node. Remove flow.xml.gz from other nodes.
+	You can use these archived files to rollback flow configuration. To do so, stop NiFi, replace <em>flow.xml.gz</em> with a desired backup copy, then restart NiFi.
+	In a clustered environment, stop the entire NiFi cluster, replace the <em>flow.xml.gz</em> of one of nodes, and restart the node. Remove <em>flow.xml.gz</em> from other nodes.
 	Once you confirmed the node starts up as a one-node cluster, start the other nodes. The replaced flow configuration will be synchronized across the cluster.
-	The name and location of flow.xml.gz, and auto archive behavior are configurable. See the <a href="administration-guide.html#core-properties-br">System Administrator’s Guide</a> for further details.</p>
+	The name and location of <em>flow.xml.gz</em>, and auto archive behavior are configurable. See the <a href="administration-guide.html#core-properties-br">System Administrator’s Guide</a> for further details.</p>
 </div>
 </div>
 </div>
@@ -1369,7 +1369,7 @@ icon, indicating that there is more info
 <strong>Label</strong>: Labels are used to provide documentation to parts of a dataflow. When a Label is dropped onto the canvas,
 it is created with a default size. The Label can then be resized by dragging the handle in the bottom-right corner.
 The Label has no text when initially created. The text of the Label can be added by right-clicking on the Label and
-choosing <code>Configure</code></p>
+choosing <code>Configure</code>.</p>
 </div>
 </div>
 <div class="sect2">
@@ -1540,19 +1540,19 @@ data may be processable at a later time.
 prevent the FlowFile from being Processed for some period of time. For example, if the Processor is to push the data
 to a remote service, but the remote service already has a file with the same name as the filename that the Processor
 is specifying, the Processor may penalize the FlowFile. The 'Penalty Duration' allows the DFM to specify how long the
-FlowFile should be penalized. The default value is 30 seconds.</p>
+FlowFile should be penalized. The default value is <code>30 seconds</code>.</p>
 </div>
 <div class="paragraph">
 <p>Similarly, the Processor may determine that some situation exists such that the Processor can no longer make any progress,
 regardless of the data that it is processing. For example, if a Processor is to push data to a remote service and that
 service is not responding, the Processor cannot make any progress. As a result, the Processor should 'yield', which will
 prevent the Processor from being scheduled to run for some period of time. That period of time is specified by setting
-the 'Yield Duration'. The default value is 1 second.</p>
+the 'Yield Duration'. The default value is <code>1 second</code>.</p>
 </div>
 <div class="paragraph">
 <p>The last configurable option on the left-hand side of the Settings tab is the Bulletin level. Whenever the Processor writes
 to its log, the Processor also will generate a Bulletin. This setting indicates the lowest level of Bulletin that should be
-shown in the User Interface. By default, the Bulletin level is set to WARN, which means it will display all warning and error-level
+shown in the User Interface. By default, the Bulletin level is set to <code>WARN</code>, which means it will display all warning and error-level
 bulletins.</p>
 </div>
 <div class="paragraph">
@@ -1877,7 +1877,7 @@ so that it is not overridden by existing
 <p>In the NiFi UI via the Variables window</p>
 </li>
 <li>
-<p>Referencing custom properties via 'nifi.properties'</p>
+<p>Referencing custom properties via <em>nifi.properties</em></p>
 </li>
 </ul>
 </div>
@@ -1913,7 +1913,7 @@ so that it is not overridden by existing
 <div class="sect4">
 <h5 id="creating-a-variable"><a class="anchor" href="user-guide.html#creating-a-variable"></a>Creating a Variable</h5>
 <div class="paragraph">
-<p>In the Variables window, click the "+" button to create a new variable.  Add a name:</p>
+<p>In the Variables window, click the <code>+</code> button to create a new variable.  Add a name:</p>
 </div>
 <div class="imageblock">
 <div class="content">
@@ -2044,7 +2044,7 @@ so that it is not overridden by existing
 </div>
 <div class="paragraph">
 <p>Once the new custom properties have been added, ensure that the <code>nifi.variable.registry.properties</code>
-field in the 'nifi.properties' file is updated with the custom properties location.</p>
+field in the <em>nifi.properties</em> file is updated with the custom properties location.</p>
 </div>
 <div class="admonitionblock note">
 <table>
@@ -2107,7 +2107,7 @@ If your NiFi instance is secured, your a
 <p><span class="image"><img src="images/settings-general-tab.png" alt="Controller Settings General Tab"></span></p>
 </div>
 <div class="paragraph">
-<p>To the right of the General tab is the Reporting Task Controller Services tab. From this tab, the DFM may click the "+" button in the upper-right corner to create a new Controller Service.</p>
+<p>To the right of the General tab is the Reporting Task Controller Services tab. From this tab, the DFM may click the <code>+</code> button in the upper-right corner to create a new Controller Service.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/controller-services-tab.png" alt="Controller Services Tab"></span></p>
@@ -2119,20 +2119,20 @@ If your NiFi instance is secured, your a
 <p><span class="image"><img src="images/add-controller-service-window.png" alt="Add Controller Service Window"></span></p>
 </div>
 <div class="paragraph">
-<p>Once you have added a Controller Service, you can configure it by clicking the Configure button in the
-far-right column. Other buttons in this column include Enable, Remove and Access Policies.</p>
+<p>Once you have added a Controller Service, you can configure it by clicking the <code>Configure</code> button in the
+far-right column. Other buttons in this column include <code>Enable</code>, <code>Remove</code> and <code>Access Policies</code>.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/controller-services-configure-buttons.png" alt="Controller Services Buttons"></span></p>
 </div>
 <div class="paragraph">
-<p>You can obtain information about Controller Services by clicking the Usage and Alerts buttons in the left-hand column.</p>
+<p>You can obtain information about Controller Services by clicking the <code>Usage</code> and <code>Alerts</code> buttons in the left-hand column.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/controller-services-info-buttons.png" alt="Controller Services Information Buttons"></span></p>
 </div>
 <div class="paragraph">
-<p>When the DFM clicks the Configure button, a Configure Controller Service window opens. It has three tabs: Settings, Properties,and Comments. This window is similar to the Configure Processor window. The Settings tab provides a place for the DFM to give the Controller Service a unique name (if desired). It also lists the UUID, Type, Bundle and Support information for the service and provides a list of other components (reporting tasks or other controller services) that reference the service.</p>
+<p>When the DFM clicks the <code>Configure</code> button, a Configure Controller Service window opens. It has three tabs: Settings, Properties,and Comments. This window is similar to the Configure Processor window. The Settings tab provides a place for the DFM to give the Controller Service a unique name (if desired). It also lists the UUID, Type, Bundle and Support information for the service and provides a list of other components (reporting tasks or other controller services) that reference the service.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/configure-controller-service-settings.png" alt="Configure Controller Service Settings"></span></p>
@@ -2144,7 +2144,7 @@ far-right column. Other buttons in this
 <p><span class="image"><img src="images/configure-controller-service-properties.png" alt="Configure Controller Service Properties"></span></p>
 </div>
 <div class="paragraph">
-<p>The Comments tab is just an open-text field, where the DFM may include comments about the service. After configuring a Controller Service, click the Apply button to apply the configuration and close the window, or click the Cancel button to cancel the changes and close the window.</p>
+<p>The Comments tab is just an open-text field, where the DFM may include comments about the service. After configuring a Controller Service, click the <code>Apply</code> button to apply the configuration and close the window, or click the <code>Cancel</code> button to cancel the changes and close the window.</p>
 </div>
 </div>
 <div class="sect3">
@@ -2178,7 +2178,7 @@ far-right column. Other buttons in this
 <p>From the Process Group Configuration page, select the Controller Services tab.</p>
 </li>
 <li>
-<p>Click the "+" button to display the Add Controller Service dialog.</p>
+<p>Click the <code>+</code> button to display the Add Controller Service dialog.</p>
 </li>
 <li>
 <p>Select the Controller Service desired, and click Add.</p>
@@ -2192,7 +2192,7 @@ far-right column. Other buttons in this
 <div class="sect3">
 <h4 id="Enabling_Disabling_Controller_Services"><a class="anchor" href="user-guide.html#Enabling_Disabling_Controller_Services"></a>Enabling/Disabling Controller Services</h4>
 <div class="paragraph">
-<p>After a Controller Service has been configured, it must be enabled in order to run. Do this using the Enable button (<span class="image"><img src="images/iconEnable.png" alt="Enable Button"></span>) in the far-right column of the Controller Services tab. In order to modify an existing/running controller service, the DFM needs to stop/disable it (as well as all referencing reporting tasks and controller services). Do this using the Disable button (<span class="image"><img src="images/iconDisable.png" alt="Disable Button"></span>). Rather than having to hunt down each component that is referenced by that controller service, the DFM has the ability to stop/disable them when disabling the controller service in question. When enabling a controller service, the DFM has the option to either start/enable the controller service and all referencing components or start/enable only the controller service itself.</p>
+<p>After a Controller Service has been configured, it must be enabled in order to run. Do this using the <code>Enable</code> button (<span class="image"><img src="images/iconEnable.png" alt="Enable Button"></span>) in the far-right column of the Controller Services tab. In order to modify an existing/running controller service, the DFM needs to stop/disable it (as well as all referencing reporting tasks and controller services). Do this using the <code>Disable</code> button (<span class="image"><img src="images/iconDisable.png" alt="Disable Button"></span>). Rather than having to hunt down each component that is referenced by that controller service, the DFM has the ability to stop/disable them when disabling the controller service in question. When enabling a controller service, the DFM has the option to either start/enable the controller service and all referencing components or start/enable only the controller service itself.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/enable-controller-service-scope.png" alt="Enable Controller Service Scope"></span></p>
@@ -2208,7 +2208,7 @@ far-right column. Other buttons in this
 <p><span class="image"><img src="images/controller-settings-selection.png" alt="Global Menu - Controller Settings"></span></p>
 </div>
 <div class="paragraph">
-<p>This displays the NiFi Settings window. Select the Reporting Tasks tab and click the "+" button in the upper-right corner to create a new Reporting Task.</p>
+<p>This displays the NiFi Settings window. Select the Reporting Tasks tab and click the <code>+</code> button in the upper-right corner to create a new Reporting Task.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/reporting-tasks-tab.png" alt="Reporting Tasks Tab"></span></p>
@@ -2220,19 +2220,19 @@ far-right column. Other buttons in this
 <p><span class="image"><img src="images/add-reporting-task-window.png" alt="Add Reporting Task Window"></span></p>
 </div>
 <div class="paragraph">
-<p>Once a Reporting Task has been added, the DFM may configure it by clicking the Edit button in the far-right column. Other buttons in this column include Start, Remove, State and Access Policies.</p>
+<p>Once a Reporting Task has been added, the DFM may configure it by clicking the <code>Edit</code> button in the far-right column. Other buttons in this column include <code>Start</code>, <code>Remove</code>, <code>State</code> and <code>Access Policies</code>.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/reporting-tasks-edit-buttons.png" alt="Reporting Tasks Edit Buttons"></span></p>
 </div>
 <div class="paragraph">
-<p>You can obtain information about Reporting Tasks by clicking the View Details, Usage, and Alerts buttons in the left-hand column.</p>
+<p>You can obtain information about Reporting Tasks by clicking the <code>View Details</code>, <code>Usage</code>, and <code>Alerts</code> buttons in the left-hand column.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/reporting-tasks-info-buttons.png" alt="Reporting Tasks Information Buttons"></span></p>
 </div>
 <div class="paragraph">
-<p>When the DFM clicks the Edit button, a Configure Reporting Task window opens. It has three tabs: Settings, Properties, and Comments. This window is similar to the Configure Processor window. The Settings tab provides a place for the DFM to give the Reporting Task a unique name (if desired). It also lists the UUID, Type, and Bundle information for the task and provides settings for the task&#8217;s Scheduling Strategy and Run Schedule (similar to the same settings in a processor). The DFM may hover the mouse over the question mark icons to see more information about each setting.</p>
+<p>When the DFM clicks the <code>Edit</code> button, a Configure Reporting Task window opens. It has three tabs: Settings, Properties, and Comments. This window is similar to the Configure Processor window. The Settings tab provides a place for the DFM to give the Reporting Task a unique name (if desired). It also lists the UUID, Type, and Bundle information for the task and provides settings for the task&#8217;s Scheduling Strategy and Run Schedule (similar to the same settings in a processor). The DFM may hover the mouse over the question mark icons to see more information about each setting.</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="images/configure-reporting-task-settings.png" alt="Configure Reporting Task Settings"></span></p>
@@ -2244,10 +2244,10 @@ far-right column. Other buttons in this
 <p><span class="image"><img src="images/configure-reporting-task-properties.png" alt="Configure Reporting Task Properties"></span></p>
 </div>
 <div class="paragraph">
-<p>The Comments tab is just an open-text field, where the DFM may include comments about the task. After configuring the Reporting Task, click the Apply button to apply the configuration and close the window, or click the Cancel button to cancel the changes and close the window.</p>
+<p>The Comments tab is just an open-text field, where the DFM may include comments about the task. After configuring the Reporting Task, click the <code>Apply</code> button to apply the configuration and close the window, or click the <code>Cancel</code> button to cancel the changes and close the window.</p>
 </div>
 <div class="paragraph">
-<p>When you want to run the Reporting Task, click the Start button (<span class="image"><img src="images/iconStart.png" alt="Start Button"></span>).</p>
+<p>When you want to run the Reporting Task, click the <code>Start</code> button (<span class="image"><img src="images/iconStart.png" alt="Start Button"></span>).</p>
 </div>
 </div>
 <div class="sect2">
@@ -2341,8 +2341,8 @@ kilobytes, <code>MB</code> for megabytes
 <i class="fa icon-note" title="Note"></i>
 </td>
 <td class="content">
-By default each new connection added will have a default Back Pressure Object Threshold of 10,000 objects and Back Pressure Data Size Threshold of 1 GB.
-These defaults can be changed by modifying the appropriate properties in the <code>nifi.properties</code> file.
+By default each new connection added will have a default Back Pressure Object Threshold of <code>10,000 objects</code> and Back Pressure Data Size Threshold of <code>1 GB</code>.
+These defaults can be changed by modifying the appropriate properties in the <em>nifi.properties</em> file.
 </td>
 </tr>
 </table>
@@ -2501,7 +2501,23 @@ prioritizers' list to the 'Available pri
 <p><strong>OldestFlowFileFirstPrioritizer</strong>: Given two FlowFiles, the one that is oldest in the dataflow will be processed first. 'This is the default scheme that is used if no prioritizers are selected'.</p>
 </li>
 <li>
-<p><strong>PriorityAttributePrioritizer</strong>: Given two FlowFiles that both have a "priority" attribute, the one that has the highest priority value will be processed first. Note that an UpdateAttribute processor should be used to add the "priority" attribute to the FlowFiles before they reach a connection that has this prioritizer set. Values for the "priority" attribute may be alphanumeric, where "a" is a higher priority than "z", and "1" is a higher priority than "9", for example.</p>
+<p><strong>PriorityAttributePrioritizer</strong>: Given two FlowFiles, an attribute called “priority” will be extracted. The one that has the lowest priority value will be processed first.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Note that an UpdateAttribute processor should be used to add the "priority" attribute to the FlowFiles before they reach a connection that has this prioritizer set.</p>
+</li>
+<li>
+<p>If only one has that attribute it will go first.</p>
+</li>
+<li>
+<p>Values for the "priority" attribute can be alphanumeric, where "a" will come before "z" and "1" before "9"</p>
+</li>
+<li>
+<p>If "priority" attribute cannot be parsed as a long, unicode string ordering will be used. For example: "99" and "100" will be ordered so the flowfile with "99" comes first, but "A-99" and "A-100" will sort so the flowfile with "A-100" comes first.</p>
+</li>
+</ul>
+</div>
 </li>
 </ul>
 </div>
@@ -2820,7 +2836,7 @@ to build a quick flow for demonstration
 <p>On the Scheduling tab, set Run schedule to: 5 sec. Note that the GenerateFlowFile processor can create many FlowFiles very quickly; that&#8217;s why setting the Run schedule is important so that this flow does not overwhelm the system NiFi is running on.</p>
 </li>
 <li>
-<p>On the Properties tab, set File Size to: 10 kb</p>
+<p>On the Properties tab, set File Size to: 10 KB</p>
 </li>
 </ul>
 </div>
@@ -2888,7 +2904,7 @@ sections under <a href="user-guide.html#
 </ul>
 </div>
 <div class="paragraph">
-<p>Components can be started by selecting all of the components to start and then clicking the Start button (
+<p>Components can be started by selecting all of the components to start and then clicking the <code>Start</code> button (
 <span class="image"><img src="images/buttonStart.png" alt="Start"></span>
 ) in the
 Operate Palette or by right-clicking a single component and choosing Start from the context menu.</p>
@@ -2907,7 +2923,7 @@ be started, with the exception of those
 <h3 id="stopping-a-component"><a class="anchor" href="user-guide.html#stopping-a-component"></a>Stopping a Component</h3>
 <div class="paragraph">
 <p>A component can be stopped any time that it is running. A component is stopped by right-clicking on the component
-and clicking Stop from the context menu, or by selecting the component and clicking the Stop button (
+and clicking Stop from the context menu, or by selecting the component and clicking the <code>Stop</code> button (
 <span class="image"><img src="images/buttonStop.png" alt="Stop"></span>
 ) in the Operate Palette.</p>
 </div>
@@ -2937,7 +2953,7 @@ configuration) and inadvertently were ne
 </div>
 <div class="paragraph">
 <p>When it is desirable to re-enable a component, it can be enabled by selecting the component and
-clicking the Enable button (
+clicking the <code>Enable</code> button (
 <span class="image"><img src="images/buttonEnable.png" alt="Enable"></span>
 ) in the Operate Palette. This is available only when the selected component or components are disabled.
 Alternatively, a component can be enabled by checking the checkbox next  to the "Enabled" option in
@@ -2951,7 +2967,7 @@ the Settings tab of the Processor config
 ), depending on whether or not the component is valid.</p>
 </div>
 <div class="paragraph">
-<p>A component is then disabled by selecting the component and clicking the Disable button (
+<p>A component is then disabled by selecting the component and clicking the <code>Disable</code> button (
 <span class="image"><img src="images/buttonDisable.png" alt="Disable"></span>
 ) in the Operate Palette, or by clearing the checkbox next to the "Enabled" option in the Settings tab
 of the Processor configuration dialog or the configuration dialog for a Port.</p>
@@ -3430,10 +3446,8 @@ a Connection&#8217;s context menu. The l
 configured priority. The listing can be performed even if the source and destination are actively running.</p>
 </div>
 <div class="paragraph">
-<p>Additionally, details for a Flowfile in the listing can be viewed by clicking on the Details icon (
-<span class="image"><img src="images/iconDetails.png" alt="Details"></span>
-) in the left most column. From here, the FlowFile details and attributes are available as well buttons for
-downloading or viewing the content. Viewing the content is only available if the nifi.content.viewer.url has been configured.
+<p>Additionally, details for a Flowfile in the listing can be viewed by clicking the <code>Details</code> button (<span class="image"><img src="images/iconDetails.png" alt="Details"></span>) in the left most column. From here, the FlowFile details and attributes are available as well as buttons for
+downloading or viewing the content. Viewing the content is only available if the <code>nifi.content.viewer.url</code> has been configured.
 If the source or destination of the Connection are actively running, there is a chance that the desired FlowFile will
 no longer be in the active queue.</p>
 </div>
@@ -3501,8 +3515,8 @@ in a new browser tab or window (by click
 are rendered for this component. See the section <a href="user-guide.html#Status_History">Historical Statistics of a Component</a> for more information.</p>
 </li>
 <li>
-<p><strong>Refresh</strong>: The Refresh button allows the user to refresh the information displayed without closing the dialog and opening it
-again. The time at which the information was last refreshed is shown just to the right of the Refresh button. The information
+<p><strong>Refresh</strong>: The <code>Refresh</code> button allows the user to refresh the information displayed without closing the dialog and opening it
+again. The time at which the information was last refreshed is shown just to the right of the <code>Refresh</code> button. The information
 on the page is not automatically refreshed.</p>
 </li>
 <li>
@@ -3515,9 +3529,9 @@ entries exist in the table.</p>
 </li>
 <li>
 <p><strong>Pop-Out</strong>: When monitoring a flow, it is helpful to be able to open the Summary table in a separate browser tab or window. The
-Pop-Out button, next to the Close button, will cause the entire Summary dialog to be opened in a new browser tab or window
+"Pop Out" button, next to the <code>Close</code> button, will cause the entire Summary dialog to be opened in a new browser tab or window
 (depending on the configuration of the browser). Once the page is "popped out", the dialog is closed in the original
-browser tab/window. In the new tab/window, the Pop-Out button and the Go-To button will no longer be available.</p>
+browser tab/window. In the new tab/window, the "Pop Out" button and the "Go To" button will no longer be available.</p>
 </li>
 <li>
 <p><strong>System Diagnostics</strong>: The System Diagnostics window provides information about how the system is performing with respect to
@@ -3537,7 +3551,7 @@ by right-clicking on a component and cho
 for more information).</p>
 </div>
 <div class="paragraph">
-<p>The amount of historical information that is stored is configurable in the NiFi properties but defaults to 24 hours. For specific
+<p>The amount of historical information that is stored is configurable in the NiFi properties but defaults to <code>24 hours</code>. For specific
 configuration information reference the Component Status Repository of the <a href="administration-guide.html">System Administrator’s Guide</a>.
 When the Status History dialog is opened, it provides a graph of historical statistics:</p>
 </div>
@@ -3616,7 +3630,7 @@ will remove the selection.</p>
 </div>
 </div>
 <div class="paragraph">
-<p>This displays the NiFi Settings window. Select the Registry Clients tab and click the "+" button in the upper-right corner to register a new Registry client.</p>
+<p>This displays the NiFi Settings window. Select the Registry Clients tab and click the <code>+</code> button in the upper-right corner to register a new Registry client.</p>
 </div>
 <div class="imageblock">
 <div class="content">
@@ -3834,10 +3848,22 @@ The root process group can not be placed
 <p>updating a processor that was referencing a non-existent controller service to reference an externally available controller service</p>
 </li>
 <li>
-<p>modifying variables</p>
+<p>creating, modifying or deleting variables</p>
 </li>
 </ul>
 </div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Creating a variable does not trigger a local change because creating a variable on its own has not changed anything about what the flow processes. A component will have to be created or modified that uses the new variable, which will trigger a local change. Modifying a variable does not trigger a local change because variable values are intended to be different in each environment. When a versioned flow is imported, it is assumed there is a one-time operation required to set those variables specific for the given environment. Deleting a variable does not trigger a local change because the component that references that variable will need need to be modified, which will trigger a local change.
+</td>
+</tr>
+</table>
+</div>
 <div class="admonitionblock warning">
 <table>
 <tr>
@@ -4247,7 +4273,7 @@ received from others can then be importe
 <h3 id="Create_Template"><a class="anchor" href="user-guide.html#Create_Template"></a>Creating a Template</h3>
 <div class="paragraph">
 <p>To create a Template, select the components that are to be a part of the template, and then click the
-"Create Template" (
+<code>Create Template</code> (
 <span class="image"><img src="images/iconNewTemplate.png" alt="Create Template"></span>
 ) button in the Operate Palette (See <a href="user-guide.html#User_Interface">NiFi User Interface</a> for more information on the Operate Palette).</p>
 </div>
@@ -4258,7 +4284,7 @@ will create a single Template that conta
 </div>
 <div class="paragraph">
 <p>After clicking this button, the user is prompted to provide a name and an optional description for the template.
-Each template must have a unique name. After entering the name and optional description, clicking the Create button
+Each template must have a unique name. After entering the name and optional description, clicking the <code>Create</code> button
 will generate the template and notify the user that the template was successfully created, or provide an appropriate
 error message if unable to create the template for some reason.</p>
 </div>
@@ -4287,12 +4313,12 @@ the template into this instance of NiFi.
 authorization.</p>
 </div>
 <div class="paragraph">
-<p>From the Operate Palette, click the "Upload Template" (
+<p>From the Operate Palette, click the <code>Upload Template</code> (
 <span class="image"><img src="images/iconUploadTemplate.png" alt="Upload Template"></span>
 )  button (see <a href="user-guide.html#User_Interface">NiFi User Interface</a> for more information on the Operate Palette).  This will display the Upload Template
 dialog.  Click the find icon and use the File Selection dialog to choose which template file to upload.
 Select the file and click Open.
-Clicking the "Upload" button will attempt to import the Template into this instance of NiFi.
+Clicking the <code>Upload</code> button will attempt to import the Template into this instance of NiFi.
 The Upload Template dialog will update to show "Success" or an error message if there was a problem importing the template.</p>
 </div>
 </div>
@@ -4306,7 +4332,7 @@ instantiated, or added to the canvas. Th
 </div>
 <div class="paragraph">
 <p>This will present a dialog to choose which Template to add to the canvas. After choosing the Template to add, simply
-click the "Add" button. The Template will be added to the canvas with the upper-left-hand side of the Template
+click the <code>Add</code> button. The Template will be added to the canvas with the upper-left-hand side of the Template
 being placed wherever the user dropped the Template icon.</p>
 </div>
 <div class="paragraph">
@@ -4328,8 +4354,8 @@ filter the templates to see only those o
 <div class="paragraph">
 <p>Once a Template has been created, it can be shared with others in the Template Management page.
 To export a Template, locate the Template in the table. The Filter in the top-right corner
-can be used to help find the appropriate Template if several are available. Then click the Export or Download button (
-<span class="image"><img src="images/iconExport.png" alt="Export"></span>
+can be used to help find the appropriate Template if several are available. Then click the <code>Download</code> button (
+<span class="image"><img src="images/iconDownloadTemplate.png" alt="Export"></span>
 ). This will download the template as an XML file to your computer. This XML file can then be sent to others and imported
 into other instances of NiFi (see <a href="user-guide.html#Import_Template">Importing a Template</a>).</p>
 </div>
@@ -4338,7 +4364,7 @@ into other instances of NiFi (see <a hre
 <h4 id="removing-a-template"><a class="anchor" href="user-guide.html#removing-a-template"></a>Removing a Template</h4>
 <div class="paragraph">
 <p>Once it is decided that a Template is no longer needed, it can be easily removed from the Template Management page. To delete a Template, locate it in the table (the Filter in the top-right corner
-may be used to find the appropriate Template if several are available) and click the Delete button (
+may be used to find the appropriate Template if several are available) and click the <code>Delete</code> button (
 <span class="image"><img src="images/iconDelete.png" alt="Delete"></span>
 ). This will prompt for confirmation. After confirming the deletion, the Template will be removed from this table
 and will no longer be available to add to the canvas.</p>
@@ -4358,8 +4384,7 @@ like dataflow compliance and optimizatio
 is configurable.</p>
 </div>
 <div class="paragraph">
-<p>To access the Data Provenance page, select  Data Provenance from the Global Menu. Clicking this button opens a dialog window t
-hat allows the user to see the most recent Data Provenance information available,
+<p>To access the Data Provenance page, select "Data Provenance" from the Global Menu. This opens a dialog window that allows the user to see the most recent Data Provenance information available,
 search the information for specific items, and filter the search results. It is also possible to open additional dialog windows to see event details,
 replay data at any point within the dataflow, and see a graphical representation of the data&#8217;s lineage, or path through the flow.
 (These features are described in depth below.)</p>
@@ -4485,7 +4510,7 @@ image could be performed:</p>
 <div class="sect2">
 <h3 id="event_details"><a class="anchor" href="user-guide.html#event_details"></a>Details of an Event</h3>
 <div class="paragraph">
-<p>In the far-left column of the Data Provenance page, there is a View Details icon for each event (<span class="image"><img src="images/iconDetails.png" alt="Details"></span>).
+<p>In the far-left column of the Data Provenance page, there is a <code>View Details</code> icon for each event (<span class="image"><img src="images/iconDetails.png" alt="Details"></span>).
 Clicking this button opens a dialog window with three tabs: Details, Attributes, and Content.</p>
 </div>
 <div class="paragraph">
@@ -4567,7 +4592,7 @@ lineage graph and select "Find parents"
 <div class="sect2">
 <h3 id="writeahead-provenance"><a class="anchor" href="user-guide.html#writeahead-provenance"></a>Write Ahead Provenance Repository</h3>
 <div class="paragraph">
-<p>By default, the Provenance Repository is implemented in a Persistent Provenance configuration. In Apache NiFi 1.2.0, the Write Ahead configuration was introduced to provide the same capabilities as Persistent Provenance, but with far better performance. Migrating to the Write Ahead configuration is easy to accomplish. Simply change the setting for the <code>nifi.provenance.repository.implementation</code> system property in the <code>nifi.properties</code> file from the default value of <code>org.apache.nifi.provenance.PersistentProvenanceRepository</code> to <code>org.apache.nifi.provenance.WriteAheadProvenanceRepository</code> and restart NiFi.</p>
+<p>By default, the Provenance Repository is implemented in a Persistent Provenance configuration. In Apache NiFi 1.2.0, the Write Ahead configuration was introduced to provide the same capabilities as Persistent Provenance, but with far better performance. Migrating to the Write Ahead configuration is easy to accomplish. Simply change the setting for the <code>nifi.provenance.repository.implementation</code> system property in the <em>nifi.properties</em> file from the default value of <code>org.apache.nifi.provenance.PersistentProvenanceRepository</code> to <code>org.apache.nifi.provenance.WriteAheadProvenanceRepository</code> and restart NiFi.</p>
 </div>
 <div class="paragraph">
 <p>However, to increase the chances of a successful migration consider the following factors and recommended actions.</p>
@@ -4587,7 +4612,7 @@ lineage graph and select "Find parents"
 <div class="sect3">
 <h4 id="bootstrap-conf"><a class="anchor" href="user-guide.html#bootstrap-conf"></a>Bootstrap.conf</h4>
 <div class="paragraph">
-<p>While better performance is achieved with the G1 garbage collector, Java 8 bugs may surface more frequently in the Write Ahead configuration.  It is recommended that the following line is commented out in the <code>bootstrap.conf</code> file in the <code>conf</code> directory:</p>
+<p>While better performance is achieved with the G1 garbage collector, Java 8 bugs may surface more frequently in the Write Ahead configuration.  It is recommended that the following line is commented out in the <em>bootstrap.conf</em> file in the <code>conf</code> directory:</p>
 </div>
 <div class="literalblock">
 <div class="content">
@@ -4671,12 +4696,12 @@ lineage graph and select "Find parents"
 <p>The <code>WriteAheadProvenanceRepository</code> was introduced in NiFi 1.2.0 and provided a refactored and much faster provenance repository implementation than the previous <code>PersistentProvenanceRepository</code>. The encrypted version wraps that implementation with a record writer and reader which encrypt and decrypt the serialized bytes respectively.</p>
 </div>
 <div class="paragraph">
-<p>The fully qualified class <code>org.apache.nifi.provenance.EncryptedWriteAheadProvenanceRepository</code> is specified as the provenance repository implementation in <code>nifi.properties</code> as the value of <code>nifi.provenance.repository.implementation</code>. In addition, <a href="administration-guide.html#encrypted-write-ahead-provenance-repository-properties">new properties</a> must be populated to allow successful initialization.</p>
+<p>The fully qualified class <code>org.apache.nifi.provenance.EncryptedWriteAheadProvenanceRepository</code> is specified as the provenance repository implementation in <em>nifi.properties</em> as the value of <code>nifi.provenance.repository.implementation</code>. In addition, <a href="administration-guide.html#encrypted-write-ahead-provenance-repository-properties">new properties</a> must be populated to allow successful initialization.</p>
 </div>
 <div class="sect4">
 <h5 id="statickeyprovider"><a class="anchor" href="user-guide.html#statickeyprovider"></a>StaticKeyProvider</h5>
 <div class="paragraph">
-<p>The <code>StaticKeyProvider</code> implementation defines keys directly in <code>nifi.properties</code>. Individual keys are provided in hexadecimal encoding. The keys can also be encrypted like any other sensitive property in <code>nifi.properties</code> using the <a href="administration-guide.html#encrypt-config_tool"><code>./encrypt-config.sh</code></a> tool in the NiFi Toolkit.</p>
+<p>The <code>StaticKeyProvider</code> implementation defines keys directly in <em>nifi.properties</em>. Individual keys are provided in hexadecimal encoding. The keys can also be encrypted like any other sensitive property in <em>nifi.properties</em> using the <a href="administration-guide.html#encrypt-config_tool"><code>./encrypt-config.sh</code></a> tool in the NiFi Toolkit.</p>
 </div>
 <div class="paragraph">
 <p>The following configuration section would result in a key provider with two available keys, "Key1" (active) and "AnotherKey".</p>
@@ -4705,13 +4730,13 @@ key5=c6FzfnKm7UR7xqI2NFpZ+fEKBfSU7+1NvRw
 </div>
 </div>
 <div class="paragraph">
-<p>Each line defines a key ID and then the Base64-encoded cipher text of a 16 byte IV and wrapped AES-128, AES-192, or AES-256 key depending on the JCE policies available. The individual keys are wrapped by AES/GCM encryption using the <strong>master key</strong> defined by <code>nifi.bootstrap.sensitive.key</code> in <code>conf/bootstrap.conf</code>.</p>
+<p>Each line defines a key ID and then the Base64-encoded cipher text of a 16 byte IV and wrapped AES-128, AES-192, or AES-256 key depending on the JCE policies available. The individual keys are wrapped by AES/GCM encryption using the <strong>master key</strong> defined by <code>nifi.bootstrap.sensitive.key</code> in <em>conf/bootstrap.conf</em>.</p>
 </div>
 </div>
 <div class="sect4">
 <h5 id="key-rotation"><a class="anchor" href="user-guide.html#key-rotation"></a>Key Rotation</h5>
 <div class="paragraph">
-<p>Simply update <code>nifi.properties</code> to reference a new key ID in <code>nifi.provenance.repository.encryption.key.id</code>. Previously-encrypted events can still be decrypted as long as that key is still available in the key definition file or <code>nifi.provenance.repository.encryption.key.id.&lt;OldKeyID&gt;</code> as the key ID is serialized alongside the encrypted record.</p>
+<p>Simply update <em>nifi.properties</em> to reference a new key ID in <code>nifi.provenance.repository.encryption.key.id</code>. Previously-encrypted events can still be decrypted as long as that key is still available in the key definition file or <code>nifi.provenance.repository.encryption.key.id.&lt;OldKeyID&gt;</code> as the key ID is serialized alongside the encrypted record.</p>
 </div>
 </div>
 </div>
@@ -4806,7 +4831,7 @@ the <a href="administration-guide.html">
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2018-10-23 13:35:55 -04:00
+Last updated 2019-02-19 19:16:22 -08:00
 </div>
 </div>
 </body>