You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mi...@apache.org on 2017/09/21 20:34:02 UTC

svn commit: r1809223 [7/30] - in /zeppelin/site: ./ contribution/ contribution/zeppelinweb/ docs/0.7.3/ docs/0.7.3/assets/ docs/0.7.3/assets/themes/ docs/0.7.3/assets/themes/zeppelin/ docs/0.7.3/assets/themes/zeppelin/bootstrap/ docs/0.7.3/assets/theme...

Added: zeppelin/site/docs/0.7.3/development/howtocontributewebsite.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.7.3/development/howtocontributewebsite.html?rev=1809223&view=auto
==============================================================================
--- zeppelin/site/docs/0.7.3/development/howtocontributewebsite.html (added)
+++ zeppelin/site/docs/0.7.3/development/howtocontributewebsite.html Thu Sep 21 20:33:57 2017
@@ -0,0 +1,300 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.7.3 Documentation: Contributing to Apache Zeppelin (Website)</title>
+    <meta name="description" content="How can you contribute to Apache Zeppelin project website? This document covers from building Zeppelin documentation site to making a pull request on Github.">
+    <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="/docs/0.7.3/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.7.3/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.7.3/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="/docs/0.7.3/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.7.3/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.7.3/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">
+        <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" alt="I'm zeppelin">
+              <span style="vertical-align:middle">Zeppelin</span>
+            </a>
+            <a class="navbar-brand-version" href="/docs/0.7.3">
+              <span><small>0.7.3</small></span>
+            </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><a href="/docs/0.7.3/index.html">What is Apache Zeppelin ?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Getting Started</b><span></li>
+                <li><a href="/docs/0.7.3/install/install.html">Install</a></li>
+                <li><a href="/docs/0.7.3/install/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.7.3/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+                <li><a href="/docs/0.7.3/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Basic Feature Guide</b><span></li>
+                <li><a href="/docs/0.7.3/manual/dynamicform.html">Dynamic Form</a></li>
+                <li><a href="/docs/0.7.3/manual/publish.html">Publish your Paragraph</a></li>
+                <li><a href="/docs/0.7.3/manual/notebookashomepage.html">Customize Zeppelin Homepage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>More</b><span></li>
+                <li><a href="/docs/0.7.3/install/upgrade.html">Upgrade Zeppelin Version</a></li>
+                <li><a href="/docs/0.7.3/install/build.html">Build from source</a></li>
+                <li><a href="/docs/0.7.3/quickstart/install_with_flink_and_spark_cluster.html">Install Zeppelin with Flink and Spark Clusters Tutorial</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><a href="/docs/0.7.3/manual/interpreters.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Usage</b><span></li>
+                <li><a href="/docs/0.7.3/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+                <!--<li><a href="/docs/0.7.3/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+                <li><a href="/docs/0.7.3/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+                <li><a href="/docs/0.7.3/manual/userimpersonation.html">Interpreter User Impersonation</a></li>
+                <li><a href="/docs/0.7.3/manual/interpreterexechooks.html">Interpreter Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Available Interpreters</b><span></li>
+                <li><a href="/docs/0.7.3/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.7.3/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.7.3/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.7.3/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.7.3/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.7.3/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.7.3/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.7.3/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.7.3/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.7.3/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.7.3/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.7.3/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.7.3/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.7.3/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.7.3/interpreter/python.html">Python</a></li>
+                <li><a href="/docs/0.7.3/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.7.3/interpreter/r.html">R</a></li>
+                <li><a href="/docs/0.7.3/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.7.3/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.7.3/interpreter/shell.html">Shell</a></li>
+                <li><a href="/docs/0.7.3/interpreter/spark.html">Spark</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Display System <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span><b>Basic Display System</b><span></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Angular API</b><span></li>
+                <li><a href="/docs/0.7.3/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/front-end-angular.html">Angular (frontend API)</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><b>Notebook Storage</b><span></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>REST API</b><span></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-notebookRepo.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-credential.html">Credential API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-helium.html">Helium API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Security</b><span></li>
+                <li><a href="/docs/0.7.3/security/shiroauthentication.html">Shiro Authentication</a></li>                
+                <li><a href="/docs/0.7.3/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.7.3/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.7.3/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li><a href="/docs/0.7.3/security/helium_authorization.html">Helium Authorization</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Advanced</b><span></li>
+                <li><a href="/docs/0.7.3/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-standalone-mode">Zeppelin on Spark Cluster Mode (Standalone)</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-yarn-mode">Zeppelin on Spark Cluster Mode (YARN)</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-mesos-mode">Zeppelin on Spark Cluster Mode (Mesos)</a></li>
+                <li><a href="/docs/0.7.3/install/cdh.html">Zeppelin on CDH</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Contibute</b><span></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelinvisualization.html">Writing Zeppelin Visualization (Experimental)</a></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelinapplication.html">Writing Zeppelin Application (Experimental)</a></li>
+                <li><a href="/docs/0.7.3/development/howtocontribute.html">How to contribute (code)</a></li>
+                <li><a href="/docs/0.7.3/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.7.3/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 Contributing to Apache Zeppelin (Website)">
+  <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>Contributing to Apache Zeppelin ( Website )</h1>
+
+<div id="toc"></div>
+
+<p>This page will give you an overview of how to build and contribute to the documentation of Apache Zeppelin.
+The online documentation at <a href="https://zeppelin.apache.org/docs/latest/">zeppelin.apache.org</a> is also generated from the files found here.</p>
+
+<blockquote>
+<p><strong>NOTE :</strong> Apache Zeppelin is an <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache2 License</a> Software.
+Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.</p>
+</blockquote>
+
+<h2>Getting the source code</h2>
+
+<p>First of all, you need Zeppelin source code. The official location of Zeppelin is <a href="http://git.apache.org/zeppelin.git">http://git.apache.org/zeppelin.git</a>.
+Documentation website is hosted in &#39;master&#39; branch under <code>/docs/</code> dir.</p>
+
+<h3>git access</h3>
+
+<p>First of all, you need the website source code. The official location of mirror for Zeppelin is <a href="http://git.apache.org/zeppelin.git">http://git.apache.org/zeppelin.git</a>.
+Get the source code on your development machine using git.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">git clone git://git.apache.org/zeppelin.git
+cd docs
+</code></pre></div>
+<p>Apache Zeppelin follows <a href="https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request">Fork &amp; Pull</a> as a source control workflow.
+If you want to not only build Zeppelin but also make any changes, then you need to fork <a href="https://github.com/apache/zeppelin">Zeppelin github mirror repository</a> and make a pull request.</p>
+
+<h3>Build</h3>
+
+<p>You&#39;ll need to install some prerequisites to build the code. Please check <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md#build-documentation">Build documentation</a> section in <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md">docs/README.md</a>.</p>
+
+<h3>Run website in development mode</h3>
+
+<p>While you&#39;re modifying website, you might want to see preview of it. Please check <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md#run-website">Run website</a> section in <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md">docs/README.md</a>.
+Then you&#39;ll be able to access it on <a href="http://localhost:4000">http://localhost:4000</a> with your web browser.</p>
+
+<h3>Making a Pull Request</h3>
+
+<p>When you are ready, just make a pull-request.</p>
+
+<h2>Alternative way</h2>
+
+<p>You can directly edit <code>.md</code> files in <code>/docs/</code> directory at the web interface of github and make pull-request immediately.</p>
+
+<h2>Stay involved</h2>
+
+<p>Contributors should join the Zeppelin mailing lists.</p>
+
+<ul>
+<li><a href="http://mail-archives.apache.org/mod_mbox/zeppelin-dev/">dev@zeppelin.apache.org</a> is for people who want to contribute code to Zeppelin. <a href="mailto:dev-subscribe@zeppelin.apache.org?subject=send%20this%20email%20to%20subscribe">subscribe</a>, <a href="mailto:dev-unsubscribe@zeppelin.apache.org?subject=send%20this%20email%20to%20unsubscribe">unsubscribe</a>, <a href="http://mail-archives.apache.org/mod_mbox/zeppelin-dev/">archives</a></li>
+</ul>
+
+<p>If you have any issues, create a ticket in <a href="https://issues.apache.org/jira/browse/ZEPPELIN">JIRA</a>.</p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2017 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.7.3/development/writingzeppelinapplication.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.7.3/development/writingzeppelinapplication.html?rev=1809223&view=auto
==============================================================================
--- zeppelin/site/docs/0.7.3/development/writingzeppelinapplication.html (added)
+++ zeppelin/site/docs/0.7.3/development/writingzeppelinapplication.html Thu Sep 21 20:33:57 2017
@@ -0,0 +1,376 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.7.3 Documentation: Writing a new Application(Experimental)</title>
+    <meta name="description" content="Apache Zeppelin Application is a package that runs on Interpreter process and displays it's output inside of the notebook. Make your own Application in Apache Zeppelin is quite easy.">
+    <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="/docs/0.7.3/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.7.3/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.7.3/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="/docs/0.7.3/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.7.3/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.7.3/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">
+        <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" alt="I'm zeppelin">
+              <span style="vertical-align:middle">Zeppelin</span>
+            </a>
+            <a class="navbar-brand-version" href="/docs/0.7.3">
+              <span><small>0.7.3</small></span>
+            </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><a href="/docs/0.7.3/index.html">What is Apache Zeppelin ?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Getting Started</b><span></li>
+                <li><a href="/docs/0.7.3/install/install.html">Install</a></li>
+                <li><a href="/docs/0.7.3/install/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.7.3/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+                <li><a href="/docs/0.7.3/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Basic Feature Guide</b><span></li>
+                <li><a href="/docs/0.7.3/manual/dynamicform.html">Dynamic Form</a></li>
+                <li><a href="/docs/0.7.3/manual/publish.html">Publish your Paragraph</a></li>
+                <li><a href="/docs/0.7.3/manual/notebookashomepage.html">Customize Zeppelin Homepage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>More</b><span></li>
+                <li><a href="/docs/0.7.3/install/upgrade.html">Upgrade Zeppelin Version</a></li>
+                <li><a href="/docs/0.7.3/install/build.html">Build from source</a></li>
+                <li><a href="/docs/0.7.3/quickstart/install_with_flink_and_spark_cluster.html">Install Zeppelin with Flink and Spark Clusters Tutorial</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><a href="/docs/0.7.3/manual/interpreters.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Usage</b><span></li>
+                <li><a href="/docs/0.7.3/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+                <!--<li><a href="/docs/0.7.3/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+                <li><a href="/docs/0.7.3/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+                <li><a href="/docs/0.7.3/manual/userimpersonation.html">Interpreter User Impersonation</a></li>
+                <li><a href="/docs/0.7.3/manual/interpreterexechooks.html">Interpreter Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Available Interpreters</b><span></li>
+                <li><a href="/docs/0.7.3/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.7.3/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.7.3/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.7.3/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.7.3/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.7.3/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.7.3/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.7.3/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.7.3/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.7.3/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.7.3/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.7.3/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.7.3/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.7.3/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.7.3/interpreter/python.html">Python</a></li>
+                <li><a href="/docs/0.7.3/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.7.3/interpreter/r.html">R</a></li>
+                <li><a href="/docs/0.7.3/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.7.3/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.7.3/interpreter/shell.html">Shell</a></li>
+                <li><a href="/docs/0.7.3/interpreter/spark.html">Spark</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Display System <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span><b>Basic Display System</b><span></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Angular API</b><span></li>
+                <li><a href="/docs/0.7.3/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/front-end-angular.html">Angular (frontend API)</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><b>Notebook Storage</b><span></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>REST API</b><span></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-notebookRepo.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-credential.html">Credential API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-helium.html">Helium API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Security</b><span></li>
+                <li><a href="/docs/0.7.3/security/shiroauthentication.html">Shiro Authentication</a></li>                
+                <li><a href="/docs/0.7.3/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.7.3/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.7.3/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li><a href="/docs/0.7.3/security/helium_authorization.html">Helium Authorization</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Advanced</b><span></li>
+                <li><a href="/docs/0.7.3/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-standalone-mode">Zeppelin on Spark Cluster Mode (Standalone)</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-yarn-mode">Zeppelin on Spark Cluster Mode (YARN)</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-mesos-mode">Zeppelin on Spark Cluster Mode (Mesos)</a></li>
+                <li><a href="/docs/0.7.3/install/cdh.html">Zeppelin on CDH</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Contibute</b><span></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelinvisualization.html">Writing Zeppelin Visualization (Experimental)</a></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelinapplication.html">Writing Zeppelin Application (Experimental)</a></li>
+                <li><a href="/docs/0.7.3/development/howtocontribute.html">How to contribute (code)</a></li>
+                <li><a href="/docs/0.7.3/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.7.3/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 Writing a new Application(Experimental)">
+  <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>Writing a new Application (Experimental)</h1>
+
+<div id="toc"></div>
+
+<h2>What is Apache Zeppelin Application</h2>
+
+<p>Apache Zeppelin Application is a package that runs on Interpreter process and displays it&#39;s output inside of the notebook. While application runs on Interpreter process, it&#39;s able to access resources provided by Interpreter through ResourcePool. Output is always rendered by AngularDisplaySystem. Therefore application provides all the possiblities of making interactive graphical application that uses data and processing power of any Interpreter.</p>
+
+<h2>Make your own Application</h2>
+
+<p>Writing Application means extending <code>org.apache.zeppelin.helium.Application</code>. You can use your favorite IDE and language while Java class files are packaged into jar. <code>Application</code> class looks like</p>
+<div class="highlight"><pre><code class="java language-java" data-lang="java"><span class="cm">/**</span>
+<span class="cm"> * Constructor. Invoked when application is loaded</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="nf">Application</span><span class="o">(</span><span class="n">ApplicationContext</span> <span class="n">context</span><span class="o">);</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Invoked when there&#39;re (possible) updates in required resource set.</span>
+<span class="cm"> * i.e. invoked after application load and after paragraph finishes.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kd">abstract</span> <span class="kt">void</span> <span class="nf">run</span><span class="o">(</span><span class="n">ResourceSet</span> <span class="n">args</span><span class="o">);</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Invoked before application unload.</span>
+<span class="cm"> * Application is automatically unloaded with paragraph/notebook removal</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kd">abstract</span> <span class="kt">void</span> <span class="nf">unload</span><span class="o">();</span>
+</code></pre></div>
+<p>You can check example applications under <a href="https://github.com/apache/incubator-zeppelin/tree/master/zeppelin-examples">./zeppelin-examples</a> directory.</p>
+
+<h2>Development mode</h2>
+
+<p>In the development mode, you can run your Application in your IDE as a normal java application and see the result inside of Zeppelin notebook.</p>
+
+<p><code>org.apache.zeppelin.helium.ZeppelinApplicationDevServer</code> can run Zeppelin Application in development mode.</p>
+<div class="highlight"><pre><code class="java language-java" data-lang="java"><span class="c1">// entry point for development mode</span>
+<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+
+  <span class="c1">// add resources for development mode</span>
+  <span class="n">LocalResourcePool</span> <span class="n">pool</span> <span class="o">=</span> <span class="k">new</span> <span class="n">LocalResourcePool</span><span class="o">(</span><span class="s">&quot;dev&quot;</span><span class="o">);</span>
+  <span class="n">pool</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">&quot;date&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">Date</span><span class="o">());</span>
+
+  <span class="c1">// run application in devlopment mode with given resource</span>
+  <span class="c1">// in this case, Clock.class.getName() will be the application class name  </span>
+  <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">zeppelin</span><span class="o">.</span><span class="na">helium</span><span class="o">.</span><span class="na">ZeppelinApplicationDevServer</span> <span class="n">devServer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">zeppelin</span><span class="o">.</span><span class="na">helium</span><span class="o">.</span><span class="na">ZeppelinApplicationDevServer</span><span class="o">(</span>
+    <span class="n">Clock</span><span class="o">.</span><span class="na">class</span><span class="o">.</span><span class="na">getName</span><span class="o">(),</span> <span class="n">pool</span><span class="o">.</span><span class="na">getAll</span><span class="o">());</span>
+
+  <span class="c1">// start development mode</span>
+  <span class="n">devServer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
+  <span class="n">devServer</span><span class="o">.</span><span class="na">join</span><span class="o">();</span>
+<span class="o">}</span>
+</code></pre></div>
+<p>In the Zeppelin notebook, run <code>%dev run</code> will connect to application running in development mode.</p>
+
+<h2>Package file</h2>
+
+<p>Package file is a json file that provides information about the application.
+Json file contains the following information</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">{
+  name : &quot;[organization].[name]&quot;,
+  description : &quot;Description&quot;,
+  artifact : &quot;groupId:artifactId:version&quot;,
+  className : &quot;your.package.name.YourApplicationClass&quot;,
+  resources : [
+    [&quot;resource.name&quot;, &quot;:resource.class.name&quot;],
+    [&quot;alternative.resource.name&quot;, &quot;:alternative.class.name&quot;]
+  ],
+  icon : &quot;&lt;i class=&quot;icon&quot;&gt;&lt;/i&gt;&quot;
+}
+</code></pre></div>
+<h4>name</h4>
+
+<p>Name is a string in <code>[group].[name]</code> format.
+<code>[group]</code> and <code>[name]</code> allow only <code>[A-Za-z0-9_]</code>.
+Group is normally the name of an organization who creates this application.</p>
+
+<h4>description</h4>
+
+<p>A short description about the application</p>
+
+<h4>artifact</h4>
+
+<p>Location of the jar artifact.
+<code>&quot;groupId:artifactId:version&quot;</code> will load artifact from maven repository.
+If jar exists in the local filesystem, absolute/relative can be used.</p>
+
+<p>e.g.</p>
+
+<p>When artifact exists in Maven repository</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">artifact: &quot;org.apache.zeppelin:zeppelin-examples:0.6.0&quot;
+</code></pre></div>
+<p>When artifact exists in the local filesystem</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">artifact: &quot;zeppelin-example/target/zeppelin-example-0.6.0.jar&quot;
+</code></pre></div>
+<h4>className</h4>
+
+<p>Entry point. Class that extends <code>org.apache.zeppelin.helium.Application</code></p>
+
+<h4>resources</h4>
+
+<p>Two dimensional array that defines required resources by name or by className. Helium Application launcher will compare resources in the ResourcePool with the information in this field and suggest application only when all required resources are available in the ResourcePool.</p>
+
+<p>Resouce name is a string which will be compared with the name of objects in the ResourcePool. className is a string with &quot;:&quot; prepended, which will be compared with className of the objects in the ResourcePool.</p>
+
+<p>Application may require two or more resources. Required resources can be listed inside of the json array. For example, if the application requires object &quot;name1&quot;, &quot;name2&quot; and &quot;className1&quot; type of object to run, resources field can be</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">resources: [
+  [ &quot;name1&quot;, &quot;name2&quot;, &quot;:className1&quot;, ...]
+]
+</code></pre></div>
+<p>If Application can handle alternative combination of required resources, alternative set can be listed as below.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">resources: [
+  [ &quot;name&quot;, &quot;:className&quot;],
+  [ &quot;altName&quot;, &quot;:altClassName1&quot;],
+  ...
+]
+</code></pre></div>
+<p>Easier way to understand this scheme is</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">resources: [
+   [ &#39;resource&#39; AND &#39;resource&#39; AND ... ] OR
+   [ &#39;resource&#39; AND &#39;resource&#39; AND ... ] OR
+   ...
+]
+</code></pre></div>
+<h4>icon</h4>
+
+<p>Icon to be used on the application button. String in this field will be rendered as a HTML tag.</p>
+
+<p>e.g.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">icon: &quot;&lt;i class=&#39;fa fa-clock-o&#39;&gt;&lt;/i&gt;&quot;
+</code></pre></div>
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2017 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.7.3/development/writingzeppelininterpreter.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.7.3/development/writingzeppelininterpreter.html?rev=1809223&view=auto
==============================================================================
--- zeppelin/site/docs/0.7.3/development/writingzeppelininterpreter.html (added)
+++ zeppelin/site/docs/0.7.3/development/writingzeppelininterpreter.html Thu Sep 21 20:33:57 2017
@@ -0,0 +1,436 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.7.3 Documentation: Writing a New Interpreter</title>
+    <meta name="description" content="Apache Zeppelin Interpreter is a language backend. Every Interpreters belongs to an InterpreterGroup. Interpreters in the same InterpreterGroup can reference each other.">
+    <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="/docs/0.7.3/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.7.3/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.7.3/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="/docs/0.7.3/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.7.3/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.7.3/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.7.3/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">
+        <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" alt="I'm zeppelin">
+              <span style="vertical-align:middle">Zeppelin</span>
+            </a>
+            <a class="navbar-brand-version" href="/docs/0.7.3">
+              <span><small>0.7.3</small></span>
+            </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><a href="/docs/0.7.3/index.html">What is Apache Zeppelin ?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Getting Started</b><span></li>
+                <li><a href="/docs/0.7.3/install/install.html">Install</a></li>
+                <li><a href="/docs/0.7.3/install/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.7.3/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+                <li><a href="/docs/0.7.3/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Basic Feature Guide</b><span></li>
+                <li><a href="/docs/0.7.3/manual/dynamicform.html">Dynamic Form</a></li>
+                <li><a href="/docs/0.7.3/manual/publish.html">Publish your Paragraph</a></li>
+                <li><a href="/docs/0.7.3/manual/notebookashomepage.html">Customize Zeppelin Homepage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>More</b><span></li>
+                <li><a href="/docs/0.7.3/install/upgrade.html">Upgrade Zeppelin Version</a></li>
+                <li><a href="/docs/0.7.3/install/build.html">Build from source</a></li>
+                <li><a href="/docs/0.7.3/quickstart/install_with_flink_and_spark_cluster.html">Install Zeppelin with Flink and Spark Clusters Tutorial</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><a href="/docs/0.7.3/manual/interpreters.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Usage</b><span></li>
+                <li><a href="/docs/0.7.3/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+                <!--<li><a href="/docs/0.7.3/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+                <li><a href="/docs/0.7.3/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+                <li><a href="/docs/0.7.3/manual/userimpersonation.html">Interpreter User Impersonation</a></li>
+                <li><a href="/docs/0.7.3/manual/interpreterexechooks.html">Interpreter Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Available Interpreters</b><span></li>
+                <li><a href="/docs/0.7.3/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.7.3/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.7.3/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.7.3/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.7.3/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.7.3/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.7.3/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.7.3/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.7.3/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.7.3/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.7.3/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.7.3/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.7.3/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.7.3/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.7.3/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.7.3/interpreter/python.html">Python</a></li>
+                <li><a href="/docs/0.7.3/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.7.3/interpreter/r.html">R</a></li>
+                <li><a href="/docs/0.7.3/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.7.3/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.7.3/interpreter/shell.html">Shell</a></li>
+                <li><a href="/docs/0.7.3/interpreter/spark.html">Spark</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Display System <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span><b>Basic Display System</b><span></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Angular API</b><span></li>
+                <li><a href="/docs/0.7.3/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+                <li><a href="/docs/0.7.3/displaysystem/front-end-angular.html">Angular (frontend API)</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><b>Notebook Storage</b><span></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.7.3/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>REST API</b><span></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-notebookRepo.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-credential.html">Credential API</a></li>
+                <li><a href="/docs/0.7.3/rest-api/rest-helium.html">Helium API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Security</b><span></li>
+                <li><a href="/docs/0.7.3/security/shiroauthentication.html">Shiro Authentication</a></li>                
+                <li><a href="/docs/0.7.3/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.7.3/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.7.3/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li><a href="/docs/0.7.3/security/helium_authorization.html">Helium Authorization</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Advanced</b><span></li>
+                <li><a href="/docs/0.7.3/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-standalone-mode">Zeppelin on Spark Cluster Mode (Standalone)</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-yarn-mode">Zeppelin on Spark Cluster Mode (YARN)</a></li>
+                <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-mesos-mode">Zeppelin on Spark Cluster Mode (Mesos)</a></li>
+                <li><a href="/docs/0.7.3/install/cdh.html">Zeppelin on CDH</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span><b>Contibute</b><span></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelinvisualization.html">Writing Zeppelin Visualization (Experimental)</a></li>
+                <li><a href="/docs/0.7.3/development/writingzeppelinapplication.html">Writing Zeppelin Application (Experimental)</a></li>
+                <li><a href="/docs/0.7.3/development/howtocontribute.html">How to contribute (code)</a></li>
+                <li><a href="/docs/0.7.3/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.7.3/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 Writing a New 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.
+-->
+
+<h1>Writing a New Interpreter</h1>
+
+<div id="toc"></div>
+
+<h2>What is Apache Zeppelin Interpreter</h2>
+
+<p>Apache Zeppelin Interpreter is a language backend. For example to use scala code in Zeppelin, you need a scala interpreter.
+Every Interpreters belongs to an <strong>InterpreterGroup</strong>.
+Interpreters in the same InterpreterGroup can reference each other. For example, SparkSqlInterpreter can reference SparkInterpreter to get SparkContext from it while they&#39;re in the same group.</p>
+
+<p><img class="img-responsive" style="width:50%; border: 1px solid #ecf0f1;" height="auto" src="/assets/themes/zeppelin/img/interpreter.png" /></p>
+
+<p><a href="https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java">InterpreterSetting</a> is configuration of a given <a href="https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterGroup.java">InterpreterGroup</a> and a unit of start/stop interpreter.
+All Interpreters in the same InterpreterSetting are launched in a single, separate JVM process. The Interpreter communicates with Zeppelin engine via <strong><a href="https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift">Thrift</a></strong>.</p>
+
+<p>In &#39;Separate Interpreter(scoped / isolated) for each note&#39; mode which you can see at the <strong>Interpreter Setting</strong> menu when you create a new interpreter, new interpreter instance will be created per note. But it still runs on the same JVM while they&#39;re in the same InterpreterSettings.</p>
+
+<h2>Make your own Interpreter</h2>
+
+<p>Creating a new interpreter is quite simple. Just extend <a href="https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java">org.apache.zeppelin.interpreter</a> abstract class and implement some methods.
+You can include <code>org.apache.zeppelin:zeppelin-interpreter:[VERSION]</code> artifact in your build system. And you should put your jars under your interpreter directory with a specific directory name. Zeppelin server reads interpreter directories recursively and initializes interpreters including your own interpreter.</p>
+
+<p>There are three locations where you can store your interpreter group, name and other information. Zeppelin server tries to find the location below. Next, Zeppelin tries to find <code>interpreter-setting.json</code> in your interpreter jar.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">{ZEPPELIN_INTERPRETER_DIR}/{YOUR_OWN_INTERPRETER_DIR}/interpreter-setting.json
+</code></pre></div>
+<p>Here is an example of <code>interpreter-setting.json</code> on your own interpreter.</p>
+<div class="highlight"><pre><code class="json language-json" data-lang="json"><span class="p">[</span>
+  <span class="p">{</span>
+    <span class="nt">&quot;group&quot;</span><span class="p">:</span> <span class="s2">&quot;your-group&quot;</span><span class="p">,</span>
+    <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;your-name&quot;</span><span class="p">,</span>
+    <span class="nt">&quot;className&quot;</span><span class="p">:</span> <span class="s2">&quot;your.own.interpreter.class&quot;</span><span class="p">,</span>
+    <span class="nt">&quot;properties&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="nt">&quot;properties1&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="nt">&quot;envName&quot;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
+        <span class="nt">&quot;propertyName&quot;</span><span class="p">:</span> <span class="s2">&quot;property.1.name&quot;</span><span class="p">,</span>
+        <span class="nt">&quot;defaultValue&quot;</span><span class="p">:</span> <span class="s2">&quot;propertyDefaultValue&quot;</span><span class="p">,</span>
+        <span class="nt">&quot;description&quot;</span><span class="p">:</span> <span class="s2">&quot;Property description&quot;</span>
+      <span class="p">},</span>
+      <span class="nt">&quot;properties2&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="nt">&quot;envName&quot;</span><span class="p">:</span> <span class="err">PROPERTIES_</span><span class="mi">2</span><span class="p">,</span>
+        <span class="nt">&quot;propertyName&quot;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
+        <span class="nt">&quot;defaultValue&quot;</span><span class="p">:</span> <span class="s2">&quot;property2DefaultValue&quot;</span><span class="p">,</span>
+        <span class="nt">&quot;description&quot;</span><span class="p">:</span> <span class="s2">&quot;Property 2 description&quot;</span>
+      <span class="p">},</span> <span class="err">...</span>
+    <span class="p">},</span>
+    <span class="nt">&quot;editor&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="nt">&quot;language&quot;</span><span class="p">:</span> <span class="s2">&quot;your-syntax-highlight-language&quot;</span><span class="p">,</span>
+      <span class="nt">&quot;editOnDblClick&quot;</span><span class="p">:</span> <span class="kc">false</span>
+    <span class="p">}</span>
+  <span class="p">},</span>
+  <span class="p">{</span>
+    <span class="err">...</span>
+  <span class="p">}</span>
+<span class="p">]</span>
+</code></pre></div>
+<p>Finally, Zeppelin uses static initialization with the following:</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">static {
+  Interpreter.register(&quot;MyInterpreterName&quot;, MyClassName.class.getName());
+}
+</code></pre></div>
+<p><strong>Static initialization is deprecated and will be supported until 0.6.0.</strong></p>
+
+<p>The name will appear later in the interpreter name option box during the interpreter configuration process.
+The name of the interpreter is what you later write to identify a paragraph which should be interpreted using this interpreter.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%MyInterpreterName
+some interpreter specific code...
+</code></pre></div>
+<h2>Editor setting for Interpreter</h2>
+
+<p>You can add <code>editor</code> object to <code>interpreter-setting.json</code> file to specify paragraph editor settings.</p>
+
+<h3>Language</h3>
+
+<p>If the interpreter uses a specific programming language (like Scala, Python, SQL), it is generally recommended to add a syntax highlighting supported for that to the note paragraph editor.</p>
+
+<p>To check out the list of languages supported, see the <code>mode-*.js</code> files under <code>zeppelin-web/bower_components/ace-builds/src-noconflict</code> or from <a href="https://github.com/ajaxorg/ace-builds/tree/master/src-noconflict">github.com/ajaxorg/ace-builds</a>.</p>
+
+<p>If you want to add a new set of syntax highlighting,  </p>
+
+<ol>
+<li>Add the <code>mode-*.js</code> file to <code><a href="https://github.com/apache/zeppelin/blob/master/zeppelin-web/bower.json">zeppelin-web/bower.json</a></code> (when built, <code><a href="https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/index.html">zeppelin-web/src/index.html</a></code> will be changed automatically).</li>
+<li><p>Add <code>language</code> field to <code>editor</code> object. Note that if you don&#39;t specify language field, your interpreter will use plain text mode for syntax highlighting. Let&#39;s say you want to set your language to <code>java</code>, then add:</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">&quot;editor&quot;: {
+  &quot;language&quot;: &quot;java&quot;
+}
+</code></pre></div></li>
+</ol>
+
+<h3>Edit on double click</h3>
+
+<p>If your interpreter uses mark-up language such as markdown or HTML, set <code>editOnDblClick</code> to <code>true</code> so that text editor opens on pargraph double click and closes on paragraph run. Otherwise set it to <code>false</code>.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">&quot;editor&quot;: {
+  &quot;editOnDblClick&quot;: false
+}
+</code></pre></div>
+<h2>Install your interpreter binary</h2>
+
+<p>Once you have built your interpreter, you can place it under the interpreter directory with all its dependencies.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">[ZEPPELIN_HOME]/interpreter/[INTERPRETER_NAME]/
+</code></pre></div>
+<h2>Configure your interpreter</h2>
+
+<p>To configure your interpreter you need to follow these steps:</p>
+
+<ol>
+<li><p>Add your interpreter class name to the zeppelin.interpreters property in <code>conf/zeppelin-site.xml</code>.</p>
+
+<p>Property value is comma separated [INTERPRETER_CLASS_NAME].
+For example,</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">&lt;property&gt;
+&lt;name&gt;zeppelin.interpreters&lt;/name&gt;
+&lt;value&gt;org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.hive.HiveInterpreter,com.me.MyNewInterpreter&lt;/value&gt;
+&lt;/property&gt;
+</code></pre></div></li>
+<li><p>Add your interpreter to the <a href="https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L397">default configuration</a> which is used when there is no <code>zeppelin-site.xml</code>.</p></li>
+<li><p>Start Zeppelin by running <code>./bin/zeppelin-daemon.sh start</code>.</p></li>
+<li><p>In the interpreter page, click the <code>+Create</code> button and configure your interpreter properties.
+Now you are done and ready to use your interpreter.</p></li>
+</ol>
+
+<blockquote>
+<p><strong>Note :</strong> Interpreters released with zeppelin have a <a href="https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L397">default configuration</a> which is used when there is no <code>conf/zeppelin-site.xml</code>.</p>
+</blockquote>
+
+<h2>Use your interpreter</h2>
+
+<h3>0.5.0</h3>
+
+<p>Inside of a note, <code>%[INTERPRETER_NAME]</code> directive will call your interpreter.
+Note that the first interpreter configuration in zeppelin.interpreters will be the default one.</p>
+
+<p>For example,</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%myintp
+
+val a = &quot;My interpreter&quot;
+println(a)
+</code></pre></div>
+<h3>0.6.0 and later</h3>
+
+<p>Inside of a note, <code>%[INTERPRETER_GROUP].[INTERPRETER_NAME]</code> directive will call your interpreter.</p>
+
+<p>You can omit either [INTERPRETER_GROUP] or [INTERPRETER_NAME]. If you omit [INTERPRETER_NAME], then first available interpreter will be selected in the [INTERPRETER_GROUP].
+Likewise, if you skip [INTERPRETER_GROUP], then [INTERPRETER_NAME] will be chosen from default interpreter group.</p>
+
+<p>For example, if you have two interpreter myintp1 and myintp2 in group mygrp, you can call myintp1 like</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%mygrp.myintp1
+
+codes for myintp1
+</code></pre></div>
+<p>and you can call myintp2 like</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%mygrp.myintp2
+
+codes for myintp2
+</code></pre></div>
+<p>If you omit your interpreter name, it&#39;ll select first available interpreter in the group ( myintp1 ).</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%mygrp
+
+codes for myintp1
+</code></pre></div>
+<p>You can only omit your interpreter group when your interpreter group is selected as a default group.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%myintp2
+
+codes for myintp2
+</code></pre></div>
+<h2>Examples</h2>
+
+<p>Checkout some interpreters released with Zeppelin by default.</p>
+
+<ul>
+<li><a href="https://github.com/apache/zeppelin/tree/master/spark">spark</a></li>
+<li><a href="https://github.com/apache/zeppelin/tree/master/markdown">markdown</a></li>
+<li><a href="https://github.com/apache/zeppelin/tree/master/shell">shell</a></li>
+<li><a href="https://github.com/apache/zeppelin/tree/master/jdbc">jdbc</a></li>
+</ul>
+
+<h2>Contributing a new Interpreter to Zeppelin releases</h2>
+
+<p>We welcome contribution to a new interpreter. Please follow these few steps:</p>
+
+<ul>
+<li>First, check out the general contribution guide <a href="https://zeppelin.apache.org/contribution/contributions.html">here</a>.</li>
+<li>Follow the steps in <a href="#make-your-own-interpreter">Make your own Interpreter</a> section and <a href="#editor-setting-for-interpreter">Editor setting for Interpreter</a> above.</li>
+<li>Add your interpreter as in the <a href="#configure-your-interpreter">Configure your interpreter</a> section above; also add it to the example template <a href="https://github.com/apache/zeppelin/blob/master/conf/zeppelin-site.xml.template">zeppelin-site.xml.template</a>.</li>
+<li>Add tests! They are run by <a href="https://travis-ci.org/apache/zeppelin">Travis</a> for all changes and it is important that they are self-contained.</li>
+<li>Include your interpreter as a module in <a href="https://github.com/apache/zeppelin/blob/master/pom.xml"><code>pom.xml</code></a>.</li>
+<li>Add documentation on how to use your interpreter under <code>docs/interpreter/</code>. Follow the Markdown style as this <a href="https://github.com/apache/zeppelin/blob/master/docs/interpreter/elasticsearch.md">example</a>. Make sure you list config settings and provide working examples on using your interpreter in code boxes in Markdown. Link to images as appropriate (images should go to <code>docs/assets/themes/zeppelin/img/docs-img/</code>). And add a link to your documentation in the navigation menu (<code>docs/_includes/themes/zeppelin/_navigation.html</code>).</li>
+<li>Most importantly, ensure licenses of the transitive closure of all dependencies are list in <a href="https://github.com/apache/zeppelin/blob/master/zeppelin-distribution/src/bin_license/LICENSE">license file</a>.</li>
+<li>Commit your changes and open a <a href="https://github.com/apache/zeppelin/pulls">Pull Request</a> on the project <a href="https://github.com/apache/zeppelin">Mirror on GitHub</a>; check to make sure Travis CI build is passing.</li>
+</ul>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2017 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+