zeppelin-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From k..@apache.org
Subject svn commit: r1800236 [18/23] - in /zeppelin/site/docs/0.8.0-SNAPSHOT: ./ interpreter/ quickstart/ setup/ setup/basics/ setup/deployment/ setup/operation/ setup/security/ setup/storage/ usage/ usage/display_system/ usage/dynamic_form/ usage/interpreter/...
Date Thu, 29 Jun 2017 07:02:52 GMT
Added: zeppelin/site/docs/0.8.0-SNAPSHOT/usage/dynamic_form/intro.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.0-SNAPSHOT/usage/dynamic_form/intro.html?rev=1800236&view=auto
==============================================================================
--- zeppelin/site/docs/0.8.0-SNAPSHOT/usage/dynamic_form/intro.html (added)
+++ zeppelin/site/docs/0.8.0-SNAPSHOT/usage/dynamic_form/intro.html Thu Jun 29 07:02:49 2017
@@ -0,0 +1,447 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.8.0-SNAPSHOT Documentation: Dynamic Form in Apache Zeppelin</title>
+    <meta name="description" content="Apache Zeppelin dynamically creates input forms. Depending on language backend, there're two different ways to create dynamic form.">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href=""
+                 style="font-size: 15px; color: white;"> 0.8.0-SNAPSHOT
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/quickstart/install.html">Install</a></li>
+                <li><a href="/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/usage/display_system/basic.html#network">Network</a></li>
+                <li><a href="/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/interpreter/spark.html">Spark</a></li>
+                <li><a href="/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/interpreter/python.html">Python</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/interpreter/beam.html">Beam</a></li>
+                <li><a href="/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/interpreter/flink.html">Flink</a></li>
+                <li><a href="/interpreter/geode.html">Geode</a></li>
+                <li><a href="/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/interpreter/hive.html">Hive</a></li>
+                <li><a href="/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/interpreter/lens.html">Lens</a></li>
+                <li><a href="/interpreter/livy.html">Livy</a></li>
+                <li><a href="/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/interpreter/pig.html">Pig</a></li>
+                <li><a href="/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/interpreter/r.html">R</a></li>
+                <li><a href="/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/interpreter/scio.html">Scio</a></li>
+                <li><a href="/interpreter/shell.html">Shell</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/development/helium/overview.html">Overview</a></li>
+                <li><a href="/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/development/helium/writing_visualization_basics.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="">Mailing List</a></li>
+                <li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Dynamic Form in Apache Zeppelin">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed 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.
+-->
+
+<h1>What is Dynamic Form?</h1>
+
+<div id="toc"></div>
+
+<p>Apache Zeppelin dynamically creates input forms. Depending on language backend, there&#39;re two different ways to create dynamic form.
+Custom language backend can select which type of form creation it wants to use.</p>
+
+<h2>Using form Templates</h2>
+
+<p>This mode creates form using simple template language. It&#39;s simple and easy to use. For example Markdown, Shell, Spark SQL language backend uses it.</p>
+
+<h3>Text input form</h3>
+
+<p>To create text input form, use <code>${formName}</code> templates.</p>
+
+<p>for example</p>
+
+<p><img class="img-responsive" src="/assets/themes/zeppelin/img/screenshots/form_input.png" width="450px" /></p>
+
+<p>Also you can provide default value, using <code>${formName=defaultValue}</code>.</p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_input_default.png" /></p>
+
+<h3>Select form</h3>
+
+<p>To create select form, use <code>${formName=defaultValue,option1|option2...}</code></p>
+
+<p>for example</p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_select.png" /></p>
+
+<p>Also you can separate option&#39;s display name and value, using <code>${formName=defaultValue,option1(DisplayName)|option2(DisplayName)...}</code></p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_select_displayname.png" /></p>
+
+<p>The paragraph will be automatically run after you change your selection by default.
+But in case you have multiple types dynamic form in one paragraph, you might want to run the paragraph after changing all the selections.
+You can control this by unchecking the below <strong>Run on selection change</strong> option in the setting menu.</p>
+
+<p>Even if you uncheck this option, still you can run it by pressing <code>Enter</code>.</p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/selectForm-checkbox.png" /></p>
+
+<h3>Checkbox form</h3>
+
+<p>For multi-selection, you can create a checkbox form using <code>${checkbox:formName=defaultValue1|defaultValue2...,option1|option2...}</code>. The variable will be substituted by a comma-separated string based on the selected items. For example:</p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_checkbox.png"></p>
+
+<p>You can specify the delimiter using <code>${checkbox(delimiter):formName=...}</code>:</p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_checkbox_delimiter.png"></p>
+
+<p>Like <a href="#select-form">select form</a>, the paragraph will be automatically run after you change your selection by default.
+But in case you have multiple types dynamic form in one paragraph, you might want to run the paragraph after changing all the selections.
+You can control this by unchecking the below <strong>Run on selection change</strong> option in the setting menu.</p>
+
+<p>Even if you uncheck this option, still you can run it by pressing <code>Enter</code>.</p>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/selectForm-checkbox.png" /></p>
+
+<h2>Creates Programmatically</h2>
+
+<p>Some language backends can programmatically create forms. For example <a href="../../interpreter/spark.html#zeppelincontext">ZeppelinContext</a> provides a form creation API</p>
+
+<p>Here are some examples:</p>
+
+<h3>Text input form</h3>
+
+<div class="codetabs">
+    <div data-lang="scala" markdown="1">
+
+
+<div class="highlight"><pre><code class="scala"><span class="o">%</span><span class="n">spark</span>
+<span class="n">println</span><span class="o">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">input</span><span class="o">(</span><span class="s">&quot;name&quot;</span><span class="o">))</span>
+</code></pre></div>
+
+
+    </div>
+    <div data-lang="python" markdown="1">
+
+
+<div class="highlight"><pre><code class="python"><span class="o">%</span><span class="n">pyspark</span>
+<span class="k">print</span><span class="p">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">))</span>
+</code></pre></div>
+
+
+    </div>
+</div>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_input_prog.png" /></p>
+
+<h3>Text input form with default value</h3>
+
+<div class="codetabs">
+    <div data-lang="scala" markdown="1">
+
+
+<div class="highlight"><pre><code class="scala"><span class="o">%</span><span class="n">spark</span>
+<span class="n">println</span><span class="o">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">input</span><span class="o">(</span><span class="s">&quot;name&quot;</span><span class="o">,</span> <span class="s">&quot;sun&quot;</span><span class="o">))</span> 
+</code></pre></div>
+
+
+    </div>
+    <div data-lang="python" markdown="1">
+
+
+<div class="highlight"><pre><code class="python"><span class="o">%</span><span class="n">pyspark</span>
+<span class="k">print</span><span class="p">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;sun&quot;</span><span class="p">))</span>
+</code></pre></div>
+
+
+    </div>
+</div>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_input_default_prog.png" /></p>
+
+<h3>Select form</h3>
+
+<div class="codetabs">
+    <div data-lang="scala" markdown="1">
+
+
+<div class="highlight"><pre><code class="scala"><span class="o">%</span><span class="n">spark</span>
+<span class="n">println</span><span class="o">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">select</span><span class="o">(</span><span class="s">&quot;day&quot;</span><span class="o">,</span> <span class="nc">Seq</span><span class="o">((</span><span class="s">&quot;1&quot;</span><span class="o">,</span><span class="s">&quot;mon&quot;</span><span class="o">),</span>
+                                    <span class="o">(</span><span class="s">&quot;2&quot;</span><span class="o">,</span><span class="s">&quot;tue&quot;</span><span class="o">),</span>
+                                    <span class="o">(</span><span class="s">&quot;3&quot;</span><span class="o">,</span><span class="s">&quot;wed&quot;</span><span class="o">),</span>
+                                    <span class="o">(</span><span class="s">&quot;4&quot;</span><span class="o">,</span><span class="s">&quot;thurs&quot;</span><span class="o">),</span>
+                                    <span class="o">(</span><span class="s">&quot;5&quot;</span><span class="o">,</span><span class="s">&quot;fri&quot;</span><span class="o">),</span>
+                                    <span class="o">(</span><span class="s">&quot;6&quot;</span><span class="o">,</span><span class="s">&quot;sat&quot;</span><span class="o">),</span>
+                                    <span class="o">(</span><span class="s">&quot;7&quot;</span><span class="o">,</span><span class="s">&quot;sun&quot;</span><span class="o">))))</span>
+</code></pre></div>
+
+
+    </div>
+    <div data-lang="python" markdown="1">
+
+
+<div class="highlight"><pre><code class="python"><span class="o">%</span><span class="n">pyspark</span>
+<span class="k">print</span><span class="p">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s">&quot;day&quot;</span><span class="p">,</span> <span class="p">[(</span><span class="s">&quot;1&quot;</span><span class="p">,</span><span class="s">&quot;mon&quot;</span><span class="p">),</span>
+                                <span class="p">(</span><span class="s">&quot;2&quot;</span><span class="p">,</span><span class="s">&quot;tue&quot;</span><span class="p">),</span>
+                                <span class="p">(</span><span class="s">&quot;3&quot;</span><span class="p">,</span><span class="s">&quot;wed&quot;</span><span class="p">),</span>
+                                <span class="p">(</span><span class="s">&quot;4&quot;</span><span class="p">,</span><span class="s">&quot;thurs&quot;</span><span class="p">),</span>
+                                <span class="p">(</span><span class="s">&quot;5&quot;</span><span class="p">,</span><span class="s">&quot;fri&quot;</span><span class="p">),</span>
+                                <span class="p">(</span><span class="s">&quot;6&quot;</span><span class="p">,</span><span class="s">&quot;sat&quot;</span><span class="p">),</span>
+                                <span class="p">(</span><span class="s">&quot;7&quot;</span><span class="p">,</span><span class="s">&quot;sun&quot;</span><span class="p">)]))</span>
+</code></pre></div>
+
+
+    </div>
+</div>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_select_prog.png" /></p>
+
+<h4>Checkbox form</h4>
+
+<div class="codetabs">
+    <div data-lang="scala" markdown="1">
+
+
+<div class="highlight"><pre><code class="scala"><span class="o">%</span><span class="n">spark</span>
+<span class="k">val</span> <span class="n">options</span> <span class="k">=</span> <span class="nc">Seq</span><span class="o">((</span><span class="s">&quot;apple&quot;</span><span class="o">,</span><span class="s">&quot;Apple&quot;</span><span class="o">),</span> <span class="o">(</span><span class="s">&quot;banana&quot;</span><span class="o">,</span><span class="s">&quot;Banana&quot;</span><span class="o">),</span> <span class="o">(</span><span class="s">&quot;orange&quot;</span><span class="o">,</span><span class="s">&quot;Orange&quot;</span><span class="o">))</span>
+<span class="n">println</span><span class="o">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span><span class="n">z</span><span class="o">.</span><span class="n">checkbox</span><span class="o">(</span><span class="s">&quot;fruit&quot;</span><span class="o">,</span> <span class="n">options</span><span class="o">).</span><span class="n">mkString</span><span class="o">(</span><span class="s">&quot; and &quot;</span><span class="o">))</span>
+</code></pre></div>
+
+
+    </div>
+    <div data-lang="python" markdown="1">
+
+
+<div class="highlight"><pre><code class="python"><span class="o">%</span><span class="n">pyspark</span>
+<span class="n">options</span> <span class="o">=</span> <span class="p">[(</span><span class="s">&quot;apple&quot;</span><span class="p">,</span><span class="s">&quot;Apple&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;banana&quot;</span><span class="p">,</span><span class="s">&quot;Banana&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;orange&quot;</span><span class="p">,</span><span class="s">&quot;Orange&quot;</span><span class="p">)]</span>
+<span class="k">print</span><span class="p">(</span><span class="s">&quot;Hello &quot;</span><span class="o">+</span> <span class="s">&quot; and &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">checkbox</span><span class="p">(</span><span class="s">&quot;fruit&quot;</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="p">[</span><span class="s">&quot;apple&quot;</span><span class="p">])))</span>
+</code></pre></div>
+
+
+    </div>
+</div>
+
+<p><img src="/assets/themes/zeppelin/img/screenshots/form_checkbox_prog.png" /></p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2017 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dependency_management.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dependency_management.html?rev=1800236&view=auto
==============================================================================
--- zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dependency_management.html (added)
+++ zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dependency_management.html Thu Jun 29 07:02:49 2017
@@ -0,0 +1,325 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.8.0-SNAPSHOT Documentation: Dependency Management for Interpreter</title>
+    <meta name="description" content="Include external libraries to Apache Spark Interpreter by setting dependencies in interpreter menu.">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href=""
+                 style="font-size: 15px; color: white;"> 0.8.0-SNAPSHOT
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/quickstart/install.html">Install</a></li>
+                <li><a href="/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/usage/display_system/basic.html#network">Network</a></li>
+                <li><a href="/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/interpreter/spark.html">Spark</a></li>
+                <li><a href="/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/interpreter/python.html">Python</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/interpreter/beam.html">Beam</a></li>
+                <li><a href="/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/interpreter/flink.html">Flink</a></li>
+                <li><a href="/interpreter/geode.html">Geode</a></li>
+                <li><a href="/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/interpreter/hive.html">Hive</a></li>
+                <li><a href="/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/interpreter/lens.html">Lens</a></li>
+                <li><a href="/interpreter/livy.html">Livy</a></li>
+                <li><a href="/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/interpreter/pig.html">Pig</a></li>
+                <li><a href="/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/interpreter/r.html">R</a></li>
+                <li><a href="/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/interpreter/scio.html">Scio</a></li>
+                <li><a href="/interpreter/shell.html">Shell</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/development/helium/overview.html">Overview</a></li>
+                <li><a href="/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/development/helium/writing_visualization_basics.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="">Mailing List</a></li>
+                <li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Dependency Management for Interpreter">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed 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.
+-->
+
+<h2>Dependency Management for Interpreter</h2>
+
+<p>You can include external libraries to interpreter by setting dependencies in interpreter menu.</p>
+
+<p>When your code requires external library, instead of doing download/copy/restart Zeppelin, you can easily do following jobs in this menu.</p>
+
+<ul>
+<li>Load libraries recursively from Maven repository</li>
+<li>Load libraries from local filesystem</li>
+<li>Add additional maven repository</li>
+<li>Automatically add libraries to SparkCluster</li>
+</ul>
+
+<hr>
+
+<div class="row">
+  <div class="col-md-6">
+    <a data-lightbox="compiler" href="/assets/themes/zeppelin/img/docs-img/interpreter-dependency-loading.png">
+      <img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/interpreter-dependency-loading.png" />
+    </a>
+  </div>
+  <div class="col-md-6" style="padding-top:30px">
+    <b> Load Dependencies to Interpreter </b>
+    <br /><br />
+    <ol>
+      <li> Click 'Interpreter' menu in navigation bar. </li>
+      <li> Click 'edit' button of the interpreter which you want to load dependencies to. </li>
+      <li> Fill artifact and exclude field to your needs.
+           You can enter not only groupId:artifactId:version but also local file in artifact field. </li>
+      <li> Press 'Save' to restart the interpreter with loaded libraries. </li>
+    </ol>
+  </div>
+</div>
+
+<hr>
+
+<div class="row">
+  <div class="col-md-6">
+    <a data-lightbox="compiler" href="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo1.png">
+      <img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo1.png" />
+    </a>
+    <a data-lightbox="compiler" href="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo2.png">
+      <img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo2.png" />
+    </a>
+  </div>
+  <div class="col-md-6" style="padding-top:30px">
+    <b> Add repository for dependency resolving </b>
+    <br /><br />
+    <ol>
+      <li> Press <i class="fa fa-cog"></i> icon in 'Interpreter' menu on the top right side.
+           It will show you available repository lists.</li>
+      <li> If you need to resolve dependencies from other than central maven repository or
+       local ~/.m2 repository, hit <i class="fa fa-plus"></i> icon next to repository lists. </li>
+      <li> Fill out the form and click 'Add' button, then you will be able to see that new repository is added. </li>
+      <li> Optionally, if you are behind a corporate firewall, you can specify also all proxy settings so that Zeppelin can download the dependencies using the given credentials</li>
+    </ol>
+  </div>
+</div>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2017 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dynamic_loading.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dynamic_loading.html?rev=1800236&view=auto
==============================================================================
--- zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dynamic_loading.html (added)
+++ zeppelin/site/docs/0.8.0-SNAPSHOT/usage/interpreter/dynamic_loading.html Thu Jun 29 07:02:49 2017
@@ -0,0 +1,363 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.8.0-SNAPSHOT Documentation: Dynamic Interpreter Loading using REST API</title>
+    <meta name="description" content="Apache Zeppelin provides pluggable interpreter architecture which results in a wide and variety of the supported backend system. In this page, we will introduce dynamic interpreter loading using REST API.">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href=""
+                 style="font-size: 15px; color: white;"> 0.8.0-SNAPSHOT
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/quickstart/install.html">Install</a></li>
+                <li><a href="/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/usage/display_system/basic.html#network">Network</a></li>
+                <li><a href="/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/interpreter/spark.html">Spark</a></li>
+                <li><a href="/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/interpreter/python.html">Python</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/interpreter/beam.html">Beam</a></li>
+                <li><a href="/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/interpreter/flink.html">Flink</a></li>
+                <li><a href="/interpreter/geode.html">Geode</a></li>
+                <li><a href="/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/interpreter/hive.html">Hive</a></li>
+                <li><a href="/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/interpreter/lens.html">Lens</a></li>
+                <li><a href="/interpreter/livy.html">Livy</a></li>
+                <li><a href="/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/interpreter/pig.html">Pig</a></li>
+                <li><a href="/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/interpreter/r.html">R</a></li>
+                <li><a href="/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/interpreter/scio.html">Scio</a></li>
+                <li><a href="/interpreter/shell.html">Shell</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/development/helium/overview.html">Overview</a></li>
+                <li><a href="/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/development/helium/writing_visualization_basics.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="">Mailing List</a></li>
+                <li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Dynamic Interpreter Loading using REST API">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed 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.
+-->
+
+<h1>Dynamic Interpreter Loading using REST API</h1>
+
+<div id="toc"></div>
+
+<p>Apache Zeppelin provides pluggable interpreter architecture which results in a wide and variety of the supported backend system. In this section, we will introduce <strong>Dynamic interpreter loading</strong> using <strong>REST API</strong>. This concept actually comes from <a href="https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal">Zeppelin Helium Proposal</a>.
+Before we start, if you are not familiar with the concept of <strong>Zeppelin interpreter</strong>, you can check out <a href="./overview.html">Overview: Zeppelin Interpreter</a> first.</p>
+
+<h2>Overview</h2>
+
+<p>In the past, Zeppelin was loading interpreter binaries from <code>/interpreter/[interpreter_name]</code> directory. They were configured by <code>zeppelin.interpreters</code> property in <code>conf/zeppelin-site.xml</code> or <code>ZEPPELIN_INTERPRETERS</code> env variables in <code>conf/zeppelin-env.sh</code>. They were loaded on Zeppelin server startup and stayed alive until the server was stopped.
+In order to simplify using 3rd party interpreters, we changed this way to <strong>dynamically</strong> load interpreters from <strong>Maven Repository</strong> using <strong>REST API</strong>. Hopefully, the picture below will help you to understand the process. 
+<center><img src="/assets/themes/zeppelin/img/docs-img/zeppelin_user.png" height="85%" width="85%"></center></p>
+
+<h2>Load &amp; Unload Interpreters Using REST API</h2>
+
+<h3>Load</h3>
+
+<p>You can <strong>load</strong> interpreters located in Maven repository using REST API, like this:</p>
+
+<p>(Maybe, you are unfamiliar with <code>[interpreter_group_name]</code> or <code>[interpreter_name]</code>. If so, please checkout <a href="./overview.html">Overview: Zeppelin Interpreter</a> again.)</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">http://[zeppelin-server]:[zeppelin-port]/api/interpreter/load/[interpreter_group_name]/[interpreter_name]
+</code></pre></div>
+<p>The Restful method will be <code><strong>POST</strong></code>. And the parameters you need are:</p>
+
+<ol>
+<li><p><strong>Artifact:</strong> Maven artifact ( groupId:artifactId:version ) </p></li>
+<li><p><strong>Class Name:</strong> Package name + Interpreter class name</p></li>
+<li><p><strong>Repository ( optional ):</strong> Additional maven repository address</p></li>
+</ol>
+
+<p>For example, if you want to load <code>markdown</code> interpreter to your Zeppelin, the parameters and URL you need may look like:</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">http://127.0.0.1:8080/api/interpreter/load/md/markdown
+</code></pre></div><div class="highlight"><pre><code class="text language-text" data-lang="text">{
+  &quot;artifact&quot;: &quot;org.apache.zeppelin:zeppelin-markdown:0.6.0-SNAPSHOT&quot;,
+  &quot;className&quot;: &quot;org.apache.zeppelin.markdown.Markdown&quot;,
+  &quot;repository&quot;: {
+    &quot;url&quot;: &quot;http://dl.bintray.com/spark-packages/maven&quot;,
+    &quot;snapshot&quot;: false
+  }
+}
+</code></pre></div>
+<p>The meaning of each parameters is: </p>
+
+<ol>
+<li><strong>Artifact</strong></li>
+<li>groupId: org.apache.zeppelin</li>
+<li>artifactId: zeppelin-markdown</li>
+<li><p>version: 0.6.0-SNAPSHOT</p></li>
+<li><p><strong>Class Name</strong></p></li>
+<li><p>Package Name: org.apache.zeppelin</p></li>
+<li><p>Interpreter Class Name: markdown.Markdown</p></li>
+<li><p><strong>Repository ( optional )</strong></p></li>
+<li><p>Url: http://dl.bintray.com/spark-packages/maven</p></li>
+<li><p>Snapshot: false</p></li>
+</ol>
+
+<blockquote>
+<p><b>Please note: </b>The interpreters you downloaded need to be <strong>reload</strong>, when your Zeppelin server is down. </p>
+</blockquote>
+
+<h3>Unload</h3>
+
+<p>If you want to <strong>unload</strong> the interpreters using REST API, </p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">http://[zeppelin-server]:[zeppelin-port]/api/interpreter/unload/[interpreter_group_name]/[interpreter_name]
+</code></pre></div>
+<p>In this case, the Restful method will be <code><strong>DELETE</strong></code>.</p>
+
+<p><br/></p>
+
+<h2>What is the next step after Loading ?</h2>
+
+<h3>Q1. Where is the location of interpreters you downloaded ?</h3>
+
+<p>Actually, the answer about this question is in the above picture. Once the REST API is called, the <code>.jar</code> files of interpreters you get are saved under <code>ZEPPELIN_HOME/local-repo</code> first. Then, they will be copied to <code>ZEPPELIN_HOME/interpreter</code> directory. So, please checkout your <code>ZEPPELIN_HOME/interpreter</code>.</p>
+
+<h3>Q2. Then, how can I use this interpreter ?</h3>
+
+<p>After loading an interpreter, you can use it by creating and configuring it in Zeppelin&#39;s <strong>Interpreter tab</strong>.</p>
+
+<p>Oh, you don&#39;t need to restart your Zeppelin server. Because it is <strong>Dynamic Loading</strong>, you can configure and load it <strong>at runtime</strong> !</p>
+
+<ol>
+<li><p>After Zeppelin server up, browse Zeppelin home and click <strong>Interpreter tab</strong>.
+<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_setting_1.png" height="85%" width="85%"></center></p></li>
+<li><p>At the <strong>Interpreter</strong> section, click <strong>+Create</strong> button. 
+<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_setting_2.png" height="85%" width="85%"></center></p></li>
+<li><p>Then, you can verify the interpreter list that you loaded.
+<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_setting_3.png" height="85%" width="85%"></center></p></li>
+<li><p>After choosing an interpreter, you can configure and use it. Don&#39;t forget to save it.</p></li>
+<li><p>Create a new notebook in the <strong>Notebook</strong> section, then you can bind the interpreters from your interpreter list. Just drag and drop !
+<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_binding_1.png" height="85%" width="85%"></center>
+<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_binding_2.png" height="85%" width="85%"></center></p></li>
+<li><p>At last, you can use your interpreter !</p></li>
+</ol>
+
+<p>If you want to get the specific information about respective interpreters, please checkout each interpreter documentation. </p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2017 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+  </body>
+</html>
+



Mime
View raw message