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 2016/10/17 04:13:37 UTC
svn commit: r1765205 [18/21] - in /zeppelin/site: ./ contribution/
contribution/zeppelinweb/ docs/0.6.2/ docs/0.6.2/assets/
docs/0.6.2/assets/themes/ docs/0.6.2/assets/themes/zeppelin/
docs/0.6.2/assets/themes/zeppelin/bootstrap/ docs/0.6.2/assets/them...
Added: zeppelin/site/docs/0.6.2/rest-api/rest-notebook.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/rest-api/rest-notebook.html?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/rest-api/rest-notebook.html (added)
+++ zeppelin/site/docs/0.6.2/rest-api/rest-notebook.html Mon Oct 17 04:13:33 2016
@@ -0,0 +1,1118 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Notebook REST API</title>
+ <meta name="description" content="">
+ <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.6.2/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/docs/0.6.2/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.2/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.6.2/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.2/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.2/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>
+ <a class="navbar-brand" href="/docs/0.6.2">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.2</small></span>
+ </a>
+ </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.6.2/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.6.2/install/install.html">Install</a></li>
+ <li><a href="/docs/0.6.2/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a href="/docs/0.6.2/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/manual/dynamicform.html">Dynamic Form</a></li>
+ <li><a href="/docs/0.6.2/manual/publish.html">Publish your Paragraph</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.2/install/upgrade.html">Upgrade Zeppelin Version</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.6.2/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.6.2/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+ <!--<li><a href="/docs/0.6.2/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+ <li><a href="/docs/0.6.2/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available Interpreters</b><span></li>
+ <li><a href="/docs/0.6.2/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a href="/docs/0.6.2/interpreter/bigquery.html">BigQuery</a></li>
+ <li><a href="/docs/0.6.2/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a href="/docs/0.6.2/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.2/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.2/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hive.html">Hive</a></li>
+ <li><a href="/docs/0.6.2/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.2/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.2/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.2/interpreter/livy.html">Livy</a></li>
+ <li><a href="/docs/0.6.2/interpreter/markdown.html">Markdown</a></li>
+ <li><a href="/docs/0.6.2/interpreter/python.html">Python</a></li>
+ <li><a href="/docs/0.6.2/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.2/interpreter/r.html">R</a></li>
+ <li><a href="/docs/0.6.2/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.2/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a href="/docs/0.6.2/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-notebook.html">Notebook API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a href="/docs/0.6.2/security/authentication.html">Authentication for NGINX</a></li>
+ <li><a href="/docs/0.6.2/security/shiroauthentication.html">Shiro Authentication</a></li>
+ <li><a href="/docs/0.6.2/security/notebook_authorization.html">Notebook Authorization</a></li>
+ <li><a href="/docs/0.6.2/security/interpreter_authorization.html">Interpreter & Data Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a href="/docs/0.6.2/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontribute.html">How to contribute (code)</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Notebook 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>Apache Zeppelin Notebook REST API</h1>
+
+<div id="toc"></div>
+
+<h2>Overview</h2>
+
+<p>Apache Zeppelin provides several REST APIs for interaction and remote activation of zeppelin functionality.
+All REST APIs are available starting with the following endpoint <code>http://[zeppelin-server]:[zeppelin-port]/api</code>.
+Note that Apache Zeppelin REST APIs receive or return JSON objects, it is recommended for you to install some JSON viewers such as <a href="https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc">JSONView</a>.</p>
+
+<p>If you work with Apache Zeppelin and find a need for an additional REST API, please <a href="http://zeppelin.apache.org/community.html">file an issue or send us an email</a>.</p>
+
+<h2>Notebook REST API List</h2>
+
+<p>Notebooks REST API supports the following operations: List, Create, Get, Delete, Clone, Run, Export, Import as detailed in the following tables.</p>
+
+<h3>List of the notebooks</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>GET</code> method lists the available notebooks on your server.
+ Notebook JSON contains the <code>name</code> and <code>id</code> of all notebooks.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "OK",
+ "message": "",
+ "body": [
+ {
+ "name":"Homepage",
+ "id":"2AV4WUEMK"
+ },
+ {
+ "name":"Zeppelin Tutorial",
+ "id":"2A94M5J1Z"
+ }
+ ]
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Create a new notebook</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method creates a new notebook using the given name or default name if none given.
+ The body field of the returned JSON contains the new notebook id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>201</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON input (without paragraphs) </td>
+ <td><pre>{"name": "name of new notebook"}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON input (with initial paragraphs) </td>
+ <td><pre>
+{
+ "name": "name of new notebook",
+ "paragraphs": [
+ {
+ "title": "paragraph title1",
+ "text": "paragraph text1"
+ },
+ {
+ "title": "paragraph title2",
+ "text": "paragraph text2"
+ }
+ ]
+}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "CREATED",
+ "message": "",
+ "body": "2AZPHY918"
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Get an existing notebook information</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>GET</code> method retrieves an existing notebook's information using the given id.
+ The body field of the returned JSON contain information about paragraphs in the notebook.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "OK",
+ "message": "",
+ "body": {
+ "paragraphs": [
+ {
+ "text": "%sql \nselect age, count(1) value\nfrom bank \nwhere age < 30 \ngroup by age \norder by age",
+ "config": {
+ "colWidth": 4,
+ "graph": {
+ "mode": "multiBarChart",
+ "height": 300,
+ "optionOpen": false,
+ "keys": [
+ {
+ "name": "age",
+ "index": 0,
+ "aggr": "sum"
+ }
+ ],
+ "values": [
+ {
+ "name": "value",
+ "index": 1,
+ "aggr": "sum"
+ }
+ ],
+ "groups": [],
+ "scatter": {
+ "xAxis": {
+ "name": "age",
+ "index": 0,
+ "aggr": "sum"
+ },
+ "yAxis": {
+ "name": "value",
+ "index": 1,
+ "aggr": "sum"
+ }
+ }
+ }
+ },
+ "settings": {
+ "params": {},
+ "forms": {}
+ },
+ "jobName": "paragraph_1423500782552_-1439281894",
+ "id": "20150210-015302_1492795503",
+ "result": {
+ "code": "SUCCESS",
+ "type": "TABLE",
+ "msg": "age\tvalue\n19\t4\n20\t3\n21\t7\n22\t9\n23\t20\n24\t24\n25\t44\n26\t77\n27\t94\n28\t103\n29\t97\n"
+ },
+ "dateCreated": "Feb 10, 2015 1:53:02 AM",
+ "dateStarted": "Jul 3, 2015 1:43:17 PM",
+ "dateFinished": "Jul 3, 2015 1:43:23 PM",
+ "status": "FINISHED",
+ "progressUpdateIntervalMs": 500
+ }
+ ],
+ "name": "Zeppelin Tutorial",
+ "id": "2A94M5J1Z",
+ "angularObjects": {},
+ "config": {
+ "looknfeel": "default"
+ },
+ "info": {}
+ }
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Delete a notebook</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>DELETE</code> method deletes a notebook by the given notebook id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK","message": ""}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Clone a notebook</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method clones a notebook by the given id and create a new notebook using the given name
+ or default name if none given.
+ The body field of the returned JSON contains the new notebook id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>201</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON input </td>
+ <td><pre>{"name": "name of new notebook"}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "CREATED",
+ "message": "",
+ "body": "2AZPHY918"
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Run all paragraphs</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>
+ This <code>POST</code> method runs all paragraphs in the given notebook id. <br />
+ If you can not find Notebook id 404 returns.
+ If there is a problem with the interpreter returns a 412 error.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 404 or 412</td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK"}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON error response </td>
+ <td>
+ <pre>
+ {
+ "status": "NOT<em>FOUND",
+ "message": "note not found."
+ }
+ </pre><br />
+ <pre>
+ {
+ "status": "PRECONDITION</em>FAILED",
+ "message": "paragraph<em>1469771130099</em>-278315611 Not selected or Invalid Interpreter bind"
+ }
+ </pre>
+ </td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Stop all paragraphs</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>DELETE</code> method stops all paragraphs in the given notebook id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status":"OK"}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Get the status of all paragraphs</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>GET</code> method gets the status of all paragraphs by the given notebook id.
+ The body field of the returned JSON contains of the array that compose of the paragraph id, paragraph status, paragraph finish date, paragraph started date.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "OK",
+ "body": [
+ {
+ "id":"20151121-212654_766735423",
+ "status":"FINISHED",
+ "finished":"Tue Nov 24 14:21:40 KST 2015",
+ "started":"Tue Nov 24 14:21:39 KST 2015"
+ },
+ {
+ "progress":"1",
+ "id":"20151121-212657_730976687",
+ "status":"RUNNING",
+ "finished":"Tue Nov 24 14:21:35 KST 2015",
+ "started":"Tue Nov 24 14:21:40 KST 2015"
+ }
+ ]
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Run a paragraph</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method runs the paragraph by given notebook and paragraph id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]/[paragraphId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON input (optional, only needed when if you want to update dynamic form's value) </td>
+ <td><pre>
+{
+ "name": "name of new notebook",
+ "params": {
+ "formLabel1": "value1",
+ "formLabel2": "value2"
+ }
+}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK"}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Stop a paragraph</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>DELETE</code> method stops the paragraph by given notebook and paragraph id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]/[paragraphId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK"}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Add Cron Job</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method adds cron job by the given notebook id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON input </td>
+ <td><pre>{"cron": "cron expression of notebook"}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK"}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Remove Cron Job</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>DELETE</code> method removes cron job by the given notebook id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK"}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Get Cron Job</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>GET</code> method gets cron job expression of given notebook id.
+ The body field of the returned JSON contains the cron expression.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK", "body": "* * * * * ?"}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br /></p>
+
+<h3>Full text search through the paragraphs in all notebooks</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td><code>GET</code> request will return list of matching paragraphs
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/search?q=[query]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td>Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td>Sample JSON response </td>
+ <td><pre>
+{
+ "status": "OK",
+ "body": [
+ {
+ "id": "<noteId>/paragraph/<paragraphId>",
+ "name":"Notebook Name",
+ "snippet":"",
+ "text":""
+ }
+ ]
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Create a new paragraph</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method create a new paragraph using JSON payload.
+ The body field of the returned JSON contain the new paragraph id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>201</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON input (add to the last) </td>
+ <td><pre>
+{
+ "title": "Paragraph insert revised",
+ "text": "%spark\nprintln(\"Paragraph insert revised\")"
+}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON input (add to specific index) </td>
+ <td><pre>
+{
+ "title": "Paragraph insert revised",
+ "text": "%spark\nprintln(\"Paragraph insert revised\")",
+ "index": 0
+}</pre></td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "CREATED",
+ "message": "",
+ "body": "20151218-100330_1754029574"
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Get a paragraph information</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>GET</code> method retrieves an existing paragraph's information using the given id.
+ The body field of the returned JSON contain information about paragraph.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph/[paragraphId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>
+{
+ "status": "OK",
+ "message": "",
+ "body": {
+ "title": "Paragraph2",
+ "text": "%spark\n\nprintln(\"it's paragraph2\")",
+ "dateUpdated": "Dec 18, 2015 7:33:54 AM",
+ "config": {
+ "colWidth": 12,
+ "graph": {
+ "mode": "table",
+ "height": 300,
+ "optionOpen": false,
+ "keys": [],
+ "values": [],
+ "groups": [],
+ "scatter": {}
+ },
+ "enabled": true,
+ "title": true,
+ "editorMode": "ace/mode/scala"
+ },
+ "settings": {
+ "params": {},
+ "forms": {}
+ },
+ "jobName": "paragraph_1450391574392_-1890856722",
+ "id": "20151218-073254_1105602047",
+ "result": {
+ "code": "SUCCESS",
+ "type": "TEXT",
+ "msg": "it's paragraph2\n"
+ },
+ "dateCreated": "Dec 18, 2015 7:32:54 AM",
+ "dateStarted": "Dec 18, 2015 7:33:55 AM",
+ "dateFinished": "Dec 18, 2015 7:33:55 AM",
+ "status": "FINISHED",
+ "progressUpdateIntervalMs": 500
+ }
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Move a paragraph to the specific index</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method moves a paragraph to the specific index (order) from the notebook.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph/[paragraphId]/move/[newIndex]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK","message": ""}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br/></p>
+
+<h3>Delete a paragraph</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>DELETE</code> method deletes a paragraph by the given notebook and paragraph id.
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph/[paragraphId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <tr>
+ <td> sample JSON response </td>
+ <td><pre>{"status": "OK","message": ""}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br /></p>
+
+<h3>Export a notebook</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>GET</code> method exports a notebook by the given id and gernerates a JSON
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/export/[notebookId]</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>201</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <td> sample JSON response </td>
+ <td><pre>{
+ "paragraphs": [
+ {
+ "text": "%md This is my new paragraph in my new note",
+ "dateUpdated": "Jan 8, 2016 4:49:38 PM",
+ "config": {
+ "enabled": true
+ },
+ "settings": {
+ "params": {},
+ "forms": {}
+ },
+ "jobName": "paragraph_1452300578795_1196072540",
+ "id": "20160108-164938_1685162144",
+ "dateCreated": "Jan 8, 2016 4:49:38 PM",
+ "status": "READY",
+ "progressUpdateIntervalMs": 500
+ }
+ ],
+ "name": "source note for export",
+ "id": "2B82H3RR1",
+ "angularObjects": {},
+ "config": {},
+ "info": {}
+}</pre></td>
+ </tr>
+ </table></p>
+
+<p><br /></p>
+
+<h3>Import a notebook</h3>
+
+<p><table class="table-configuration">
+ <col width="200">
+ <tr>
+ <td>Description</td>
+ <td>This <code>POST</code> method imports a notebook from the notebook JSON input
+ </td>
+ </tr>
+ <tr>
+ <td>URL</td>
+ <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/import</code></td>
+ </tr>
+ <tr>
+ <td>Success code</td>
+ <td>201</td>
+ </tr>
+ <tr>
+ <td> Fail code</td>
+ <td> 500 </td>
+ </tr>
+ <td>sample JSON input</td>
+ <td><pre>
+{
+ "paragraphs": [
+ {
+ "text": "%md This is my new paragraph in my new note",
+ "dateUpdated": "Jan 8, 2016 4:49:38 PM",
+ "config": {
+ "enabled": true
+ },
+ "settings": {
+ "params": {},
+ "forms": {}
+ },
+ "jobName": "paragraph_1452300578795_1196072540",
+ "id": "20160108-164938_1685162144",
+ "dateCreated": "Jan 8, 2016 4:49:38 PM",
+ "status": "READY",
+ "progressUpdateIntervalMs": 500
+ }
+ ],
+ "name": "source note for export",
+ "id": "2B82H3RR1",
+ "angularObjects": {},
+ "config": {},
+ "info": {}
+}</pre></td>
+ <tr>
+ <td>sample JSON response</td>
+ <td><pre>
+{
+ "status": "CREATED",
+ "message": "",
+ "body": "2AZPHY918"
+}</pre></td>
+ </tr>
+ </tr>
+ </table></p>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 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>
+
Propchange: zeppelin/site/docs/0.6.2/rest-api/rest-notebook.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.2/robot.txt
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/robot.txt?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/robot.txt (added)
+++ zeppelin/site/docs/0.6.2/robot.txt Mon Oct 17 04:13:33 2016
@@ -0,0 +1,14 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
Propchange: zeppelin/site/docs/0.6.2/robot.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.2/rss.xml
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/rss.xml?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/rss.xml (added)
+++ zeppelin/site/docs/0.6.2/rss.xml Mon Oct 17 04:13:33 2016
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<rss version="2.0">
+<channel>
+ <title>Apache Zeppelin</title>
+ <description>Apache Zeppelin - The Apache Software Foundation</description>
+ <link>http://zeppelin.apache.org</link>
+ <link>http://zeppelin.apache.org</link>
+ <lastBuildDate>2016-10-17T13:07:53+09:00</lastBuildDate>
+ <pubDate>2016-10-17T13:07:53+09:00</pubDate>
+ <ttl>1800</ttl>
+
+
+
+</channel>
+</rss>
Propchange: zeppelin/site/docs/0.6.2/rss.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.2/screenshots.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/screenshots.html?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/screenshots.html (added)
+++ zeppelin/site/docs/0.6.2/screenshots.html Mon Oct 17 04:13:33 2016
@@ -0,0 +1,242 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Screenshots</title>
+ <meta name="description" content="">
+ <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.6.2/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/docs/0.6.2/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.2/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.6.2/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.2/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.2/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>
+ <a class="navbar-brand" href="/docs/0.6.2">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.2</small></span>
+ </a>
+ </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.6.2/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.6.2/install/install.html">Install</a></li>
+ <li><a href="/docs/0.6.2/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a href="/docs/0.6.2/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/manual/dynamicform.html">Dynamic Form</a></li>
+ <li><a href="/docs/0.6.2/manual/publish.html">Publish your Paragraph</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.2/install/upgrade.html">Upgrade Zeppelin Version</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.6.2/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.6.2/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+ <!--<li><a href="/docs/0.6.2/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+ <li><a href="/docs/0.6.2/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available Interpreters</b><span></li>
+ <li><a href="/docs/0.6.2/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a href="/docs/0.6.2/interpreter/bigquery.html">BigQuery</a></li>
+ <li><a href="/docs/0.6.2/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a href="/docs/0.6.2/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.2/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.2/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hive.html">Hive</a></li>
+ <li><a href="/docs/0.6.2/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.2/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.2/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.2/interpreter/livy.html">Livy</a></li>
+ <li><a href="/docs/0.6.2/interpreter/markdown.html">Markdown</a></li>
+ <li><a href="/docs/0.6.2/interpreter/python.html">Python</a></li>
+ <li><a href="/docs/0.6.2/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.2/interpreter/r.html">R</a></li>
+ <li><a href="/docs/0.6.2/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.2/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a href="/docs/0.6.2/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-notebook.html">Notebook API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a href="/docs/0.6.2/security/authentication.html">Authentication for NGINX</a></li>
+ <li><a href="/docs/0.6.2/security/shiroauthentication.html">Shiro Authentication</a></li>
+ <li><a href="/docs/0.6.2/security/notebook_authorization.html">Notebook Authorization</a></li>
+ <li><a href="/docs/0.6.2/security/interpreter_authorization.html">Interpreter & Data Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a href="/docs/0.6.2/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontribute.html">How to contribute (code)</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Screenshots">
+ <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.
+-->
+
+<div class="row">
+ <div class="col-md-3">
+ <a href="assets/themes/zeppelin/img/screenshots/sparksql.png"><img class="thumbnail" src="assets/themes/zeppelin/img/screenshots/sparksql.png" /></a>
+ <center>SparkSQL with inline visualization</center>
+ </div>
+ <div class="col-md-3">
+ <a href="assets/themes/zeppelin/img/screenshots/spark.png"><img class="thumbnail" src="assets/themes/zeppelin/img/screenshots/spark.png" /></a>
+ <center>Scala code runs with Spark</center>
+ </div>
+ <div class="col-md-3">
+ <a href="assets/themes/zeppelin/img/screenshots/markdown.png"><img class="thumbnail" src="assets/themes/zeppelin/img/screenshots/markdown.png" /></a>
+ <center>Markdown supported</center>
+ </div>
+</div>
+
+<p><br />
+<div class="row">
+ <div class="col-md-3">
+ <a href="assets/themes/zeppelin/img/screenshots/notebook.png"><img class="thumbnail" src="assets/themes/zeppelin/img/screenshots/notebook.png" /></a>
+ <center>Notebook</center>
+ </div>
+ <div class="col-md-3">
+ </div>
+ <div class="col-md-3">
+ </div>
+</div></p>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 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>
+
Propchange: zeppelin/site/docs/0.6.2/screenshots.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.2/security/authentication.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/security/authentication.html?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/security/authentication.html (added)
+++ zeppelin/site/docs/0.6.2/security/authentication.html Mon Oct 17 04:13:33 2016
@@ -0,0 +1,319 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Authentication for NGINX</title>
+ <meta name="description" content="Authentication for NGINX">
+ <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.6.2/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/docs/0.6.2/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.2/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.6.2/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.2/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.2/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>
+ <a class="navbar-brand" href="/docs/0.6.2">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.2</small></span>
+ </a>
+ </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.6.2/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.6.2/install/install.html">Install</a></li>
+ <li><a href="/docs/0.6.2/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a href="/docs/0.6.2/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/manual/dynamicform.html">Dynamic Form</a></li>
+ <li><a href="/docs/0.6.2/manual/publish.html">Publish your Paragraph</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.2/install/upgrade.html">Upgrade Zeppelin Version</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.6.2/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.6.2/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+ <!--<li><a href="/docs/0.6.2/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+ <li><a href="/docs/0.6.2/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available Interpreters</b><span></li>
+ <li><a href="/docs/0.6.2/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a href="/docs/0.6.2/interpreter/bigquery.html">BigQuery</a></li>
+ <li><a href="/docs/0.6.2/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a href="/docs/0.6.2/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.2/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.2/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hive.html">Hive</a></li>
+ <li><a href="/docs/0.6.2/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.2/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.2/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.2/interpreter/livy.html">Livy</a></li>
+ <li><a href="/docs/0.6.2/interpreter/markdown.html">Markdown</a></li>
+ <li><a href="/docs/0.6.2/interpreter/python.html">Python</a></li>
+ <li><a href="/docs/0.6.2/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.2/interpreter/r.html">R</a></li>
+ <li><a href="/docs/0.6.2/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.2/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a href="/docs/0.6.2/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-notebook.html">Notebook API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a href="/docs/0.6.2/security/authentication.html">Authentication for NGINX</a></li>
+ <li><a href="/docs/0.6.2/security/shiroauthentication.html">Shiro Authentication</a></li>
+ <li><a href="/docs/0.6.2/security/notebook_authorization.html">Notebook Authorization</a></li>
+ <li><a href="/docs/0.6.2/security/interpreter_authorization.html">Interpreter & Data Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a href="/docs/0.6.2/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontribute.html">How to contribute (code)</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Authentication for NGINX">
+ <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>Authentication for NGINX</h1>
+
+<div id="toc"></div>
+
+<p>Authentication is company-specific.
+One option is to use <a href="https://en.wikipedia.org/wiki/Basic_access_authentication">Basic Access Authentication</a>.</p>
+
+<h2>HTTP Basic Authentication using NGINX</h2>
+
+<blockquote>
+<p><strong>Quote from Wikipedia:</strong> NGINX is a web server. It can act as a reverse proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a load balancer and an HTTP cache.</p>
+</blockquote>
+
+<p>So you can use NGINX server as proxy server to serve HTTP Basic Authentication as a separate process along with Zeppelin server.
+Here are instructions how to accomplish the setup NGINX as a front-end authentication server and connect Zeppelin at behind.</p>
+
+<p>This instruction based on Ubuntu 14.04 LTS but may work with other OS with few configuration changes.</p>
+
+<ol>
+<li><p>Install NGINX server on your server instance</p>
+
+<p>You can install NGINX server with same box where zeppelin installed or separate box where it is dedicated to serve as proxy server.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">$ apt-get install nginx
+</code></pre></div>
+<blockquote>
+<p><strong>NOTE :</strong> On pre 1.3.13 version of NGINX, Proxy for Websocket may not fully works. Please use latest version of NGINX. See: <a href="https://www.nginx.com/blog/websocket-nginx/">NGINX documentation</a>.</p>
+</blockquote></li>
+<li><p>Setup init script in NGINX</p>
+
+<p>In most cases, NGINX configuration located under <code>/etc/nginx/sites-available</code>. Create your own configuration or add your existing configuration at <code>/etc/nginx/sites-available</code>.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">$ cd /etc/nginx/sites-available
+$ touch my-zeppelin-auth-setting
+</code></pre></div>
+<p>Now add this script into <code>my-zeppelin-auth-setting</code> file. You can comment out <code>optional</code> lines If you want serve Zeppelin under regular HTTP 80 Port.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">upstream zeppelin {
+ server [YOUR-ZEPPELIN-SERVER-IP]:[YOUR-ZEPPELIN-SERVER-PORT]; # For security, It is highly recommended to make this address/port as non-public accessible
+}
+
+# Zeppelin Website
+server {
+ listen [YOUR-ZEPPELIN-WEB-SERVER-PORT];
+ listen 443 ssl; # optional, to serve HTTPS connection
+ server_name [YOUR-ZEPPELIN-SERVER-HOST]; # for example: zeppelin.mycompany.com
+
+ ssl_certificate [PATH-TO-YOUR-CERT-FILE]; # optional, to serve HTTPS connection
+ ssl_certificate_key [PATH-TO-YOUR-CERT-KEY-FILE]; # optional, to serve HTTPS connection
+
+ if ($ssl_protocol = "") {
+ rewrite ^ https://$host$request_uri? permanent; # optional, to force use of HTTPS
+ }
+
+ location / { # For regular websever support
+ proxy_pass http://zeppelin;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header Host $http_host;
+ proxy_set_header X-NginX-Proxy true;
+ proxy_redirect off;
+ auth_basic "Restricted";
+ auth_basic_user_file /etc/nginx/.htpasswd;
+ }
+
+ location /ws { # For websocket support
+ proxy_pass http://zeppelin;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade websocket;
+ proxy_set_header Connection upgrade;
+ proxy_read_timeout 86400;
+ }
+}
+</code></pre></div>
+<p>Then make a symbolic link to this file from <code>/etc/nginx/sites-enabled/</code> to enable configuration above when NGINX reloads.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">$ ln -s /etc/nginx/sites-enabled/my-zeppelin-auth-setting /etc/nginx/sites-available/my-zeppelin-auth-setting
+</code></pre></div></li>
+<li><p>Setup user credential into <code>.htpasswd</code> file and restart server</p>
+
+<p>Now you need to setup <code>.htpasswd</code> file to serve list of authenticated user credentials for NGINX server.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">$ cd /etc/nginx
+$ htpasswd -c htpasswd [YOUR-ID]
+$ NEW passwd: [YOUR-PASSWORD]
+$ RE-type new passwd: [YOUR-PASSWORD-AGAIN]
+</code></pre></div>
+<p>Or you can use your own apache <code>.htpasswd</code> files in other location for setting up property: <code>auth_basic_user_file</code></p>
+
+<p>Restart NGINX server.</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">$ service nginx restart
+</code></pre></div>
+<p>Then check HTTP Basic Authentication works in browser. If you can see regular basic auth popup and then able to login with credential you entered into <code>.htpasswd</code> you are good to go.</p></li>
+<li><p>More security consideration</p></li>
+</ol>
+
+<ul>
+<li>Using HTTPS connection with Basic Authentication is highly recommended since basic auth without encryption may expose your important credential information over the network.</li>
+<li>Using <a href="./shiroauthentication.html">Shiro Security feature built-into Zeppelin</a> is recommended if you prefer all-in-one solution for authentication but NGINX may provides ad-hoc solution for re-use authentication served by your system's NGINX server or in case of you need to separate authentication from zeppelin server.</li>
+<li>It is recommended to isolate direct connection to Zeppelin server from public internet or external services to secure your zeppelin instance from unexpected attack or problems caused by public zone.</li>
+</ul>
+
+<h2>Another option</h2>
+
+<p>Another option is to have an authentication server that can verify user credentials in an LDAP server.
+If an incoming request to the Zeppelin server does not have a cookie with user information encrypted with the authentication server public key, the user
+is redirected to the authentication server. Once the user is verified, the authentication server redirects the browser to a specific URL in the Zeppelin server which sets the authentication cookie in the browser.
+The end result is that all requests to the Zeppelin web server have the authentication cookie which contains user and groups information.</p>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 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>
+
Propchange: zeppelin/site/docs/0.6.2/security/authentication.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.2/security/interpreter_authorization.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/security/interpreter_authorization.html?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/security/interpreter_authorization.html (added)
+++ zeppelin/site/docs/0.6.2/security/interpreter_authorization.html Mon Oct 17 04:13:33 2016
@@ -0,0 +1,235 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Notebook Authorization</title>
+ <meta name="description" content="Notebook Authorization">
+ <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.6.2/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/docs/0.6.2/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.2/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.6.2/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.2/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.2/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.2/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>
+ <a class="navbar-brand" href="/docs/0.6.2">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.2</small></span>
+ </a>
+ </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.6.2/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.6.2/install/install.html">Install</a></li>
+ <li><a href="/docs/0.6.2/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a href="/docs/0.6.2/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/manual/dynamicform.html">Dynamic Form</a></li>
+ <li><a href="/docs/0.6.2/manual/publish.html">Publish your Paragraph</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.2/install/upgrade.html">Upgrade Zeppelin Version</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.6.2/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.6.2/manual/interpreterinstallation.html">Interpreter Installation</a></li>
+ <!--<li><a href="/docs/0.6.2/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
+ <li><a href="/docs/0.6.2/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available Interpreters</b><span></li>
+ <li><a href="/docs/0.6.2/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a href="/docs/0.6.2/interpreter/bigquery.html">BigQuery</a></li>
+ <li><a href="/docs/0.6.2/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a href="/docs/0.6.2/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.2/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.2/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.2/interpreter/hive.html">Hive</a></li>
+ <li><a href="/docs/0.6.2/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.2/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.2/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.2/interpreter/livy.html">Livy</a></li>
+ <li><a href="/docs/0.6.2/interpreter/markdown.html">Markdown</a></li>
+ <li><a href="/docs/0.6.2/interpreter/python.html">Python</a></li>
+ <li><a href="/docs/0.6.2/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.2/interpreter/r.html">R</a></li>
+ <li><a href="/docs/0.6.2/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.2/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a href="/docs/0.6.2/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+ <li><a href="/docs/0.6.2/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+ <li><a href="/docs/0.6.2/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.6.2/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-notebook.html">Notebook API</a></li>
+ <li><a href="/docs/0.6.2/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a href="/docs/0.6.2/security/authentication.html">Authentication for NGINX</a></li>
+ <li><a href="/docs/0.6.2/security/shiroauthentication.html">Shiro Authentication</a></li>
+ <li><a href="/docs/0.6.2/security/notebook_authorization.html">Notebook Authorization</a></li>
+ <li><a href="/docs/0.6.2/security/interpreter_authorization.html">Interpreter & Data Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a href="/docs/0.6.2/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontribute.html">How to contribute (code)</a></li>
+ <li><a href="/docs/0.6.2/development/howtocontributewebsite.html">How to contribute (website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Notebook Authorization">
+ <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>Interpreter and Data Source Authorization</h1>
+
+<div id="toc"></div>
+
+<h2>Interpreter Authorization</h2>
+
+<p>Interpreter authorization involves permissions like creating an interpreter and execution queries using it.</p>
+
+<h2>Data Source Authorization</h2>
+
+<p>Data source authorization involves authenticating to the data source like a Mysql database and letting it determine user permissions.</p>
+
+<p>For the JDBC interpreter, we need to maintain per-user connection pools.
+The interpret method takes the user string as parameter and executes the jdbc call using a connection in the user's connection pool.</p>
+
+<p>In case of Presto, we don't need password if the Presto DB server runs backend code using HDFS authorization for the user.
+For databases like Vertica and Mysql we have to store password information for users.</p>
+
+<p>The Credentials tab in the navbar allows users to save credentials for data sources which are passed to interpreters.</p>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 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>
+
Propchange: zeppelin/site/docs/0.6.2/security/interpreter_authorization.html
------------------------------------------------------------------------------
svn:eol-style = native