Added: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js (added)
+++ zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js Wed Jul 6
06:25:29 2016
@@ -0,0 +1,6 @@
+/*!
+ * AnchorJS - v1.1.1 - 2015-05-23
+ * https://github.com/bryanbraun/anchorjs
+ * Copyright (c) 2015 Bryan Braun; Licensed MIT
+ */
+function AnchorJS(A){"use
strict";this.options=A||{},this._applyRemainingDefaultOptions=function(A){this.options.icon=this.options.hasOwnProperty("icon")?A.icon:"",this.options.visible=this.options.hasOwnProperty("visible")?A.visible:"hover",this.options.placement=this.options.hasOwnProperty("placement")?A.placement:"right",this.options.class=this.options.hasOwnProperty("class")?A.class:""},this._applyRemainingDefaultOptions(A),this.add=function(A){var
e,t,o,n,i,s,a,l,c,r,h,g,B,Q;if(this._applyRemainingDefaultOptions(this.options),A){if("string"!=typeof
A)throw new Error("The selector provided to AnchorJS was invalid.")}else
A="h1, h2, h3, h4, h5,
h6";if(e=document.querySelectorAll(A),0===e.length)return!1;for(this._addBaselineStyles(),t=document.querySelectorAll("[id]"),o=[].map.call(t,function(A){return
A.id}),i=0;i<e.length;i++){if(e[i].hasAttribute("id"))n=e[i].getAttribute("id");else{s=e[i].textContent,a=s.replace(/[^\w\s-]/gi,"").replace(/\s+/g,"-").replace(/-{2,}/g,"-"
).substring(0,64).replace(/^-+|-+$/gm,"").toLowerCase(),r=a,c=0;do void
0!==l&&(r=a+"-"+c),l=o.indexOf(r),c+=1;while(-1!==l);l=void
0,o.push(r),e[i].setAttribute("id",r),n=r}h=n.replace(/-/g," "),g='<a
class="anchorjs-link '+this.options.class+'" href="#'+n+'" aria-label="Anchor
link for: '+h+'"
data-anchorjs-icon="'+this.options.icon+'"></a>',B=document.createElement("div"),B.innerHTML=g,Q=B.childNodes,"always"===this.options.visible&&(Q[0].style.opacity="1"),""===this.options.icon&&(Q[0].style.fontFamily="anchorjs-icons",Q[0].style.fontStyle="normal",Q[0].style.fontVariant="normal",Q[0].style.fontWeight="normal"),"left"===this.options.placement?(Q[0].style.position="absolute",Q[0].style.marginLeft="-1em",Q[0].style.paddingRight="0.5em",e[i].insertBefore(Q[0],e[i].firstChild)):(Q[0].style.paddingLeft="0.375em",e[i].appendChild(Q[0]))}return
this},this.remove=function(A){for(var
e,t=document.querySelectorAll(A),o=0;o<t.length;o++)e=t[o].querySelector(".anchorjs-link"),e&&t[o]
.removeChild(e);return
this},this._addBaselineStyles=function(){if(null===document.head.querySelector("style.anchorjs")){var
A,e=document.createElement("style"),t=" .anchorjs-link { opacity: 0;
text-decoration: none; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }",o=" *:hover > .anchorjs-link,
.anchorjs-link:focus { opacity: 1; }",n=' @font-face { font-family:
"anchorjs-icons"; font-style: normal; font-weight: normal; src:
url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBTUAAAC8AAAAYGNtYXAWi9QdAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zgq29TcAAAF4AAABNGhlYWQEZM3pAAACrAAAADZoaGVhBhUDxgAAAuQAAAAkaG10eASAADEAAAMIAAAAFGxvY2EAKACuAAADHAAAAAxtYXhwAAgAVwAAAygAAAAgbmFtZQ5yJ3cAAANIAAAB2nBvc3QAAwAAAAAFJAAAACAAAwJAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpywPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6cv//f//AAAAAAAg6cv//f//AAH/4x
Y5AAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACADEARAJTAsAAKwBUAAABIiYnJjQ/AT4BMzIWFxYUDwEGIicmND8BNjQnLgEjIgYPAQYUFxYUBw4BIwciJicmND8BNjIXFhQPAQYUFx4BMzI2PwE2NCcmNDc2MhcWFA8BDgEjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAEAAAABAACiToc1Xw889QALBAAAAAAA0XnFFgAAAADRecUWAAAAAAJTAsAAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAAlMAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAACAAAAAoAAMQAAAAAACgAUAB4AmgABAAAABQBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIABwCfAAEAAAAAAAMADgBLAAEAAAAAAAQADgC0AAEAAAAAAAUACwAqAAEAAAAAAAYADgB1AAEAAAAAAAoAGgDeAAMAAQQJAAEAHAAOAAMAAQQJAAIADgCmAAMAAQQJAAMAHABZAAMAAQQJAAQAHADCAAMAAQQJAAUAFgA1AAMAAQQJAAYAHACDAAMAAQQJAAoANAD4YW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwYW5jaG9yanMtaWN
vbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==)
format("truetype"); }',i=" [data-anchorjs-icon]::after { content:
attr(data-anchorjs-icon);
}";e.className="anchorjs",e.appendChild(document.createTextNode("")),A=document.head.querySelector('[rel="stylesheet"],
style'),void
0===A?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(t,e.sheet.cssRules.length),e.sheet.insertRule(o,e.sheet.cssRules.length),e.sheet.insertRule(i,e.sheet.cssRules.length),e.sheet.insertRule(n,e.sheet.cssRules.length)}}}var
anchors=new AnchorJS;
Propchange: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js
------------------------------------------------------------------------------
svn:executable = *
Added: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/docs.js
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/docs.js?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/docs.js (added)
+++ zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/docs.js Wed Jul 6
06:25:29 2016
@@ -0,0 +1,128 @@
+/*
+ * 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.
+ */
+
+/* Note: This file is originally from the Apache Spark project. */
+
+/* Custom JavaScript code in the MarkDown docs */
+
+// Enable language-specific code tabs
+function codeTabs() {
+ var counter = 0;
+ var langImages = {
+ "scala": "img/scala-sm.png",
+ "python": "img/python-sm.png",
+ "java": "img/java-sm.png"
+ };
+ $("div.codetabs").each(function() {
+ $(this).addClass("tab-content");
+
+ // Insert the tab bar
+ var tabBar = $('<ul class="nav nav-tabs" data-tabs="tabs"></ul>');
+ $(this).before(tabBar);
+
+ // Add each code sample to the tab bar:
+ var codeSamples = $(this).children("div");
+ codeSamples.each(function() {
+ $(this).addClass("tab-pane");
+ var lang = $(this).data("lang");
+ var image = $(this).data("image");
+ var notabs = $(this).data("notabs");
+ var capitalizedLang = lang.substr(0, 1).toUpperCase() + lang.substr(1);
+ var id = "tab_" + lang + "_" + counter;
+ $(this).attr("id", id);
+ if (image != null && langImages[lang]) {
+ var buttonLabel = "<img src='" +langImages[lang] + "' alt='" +
capitalizedLang + "' />";
+ } else if (notabs == null) {
+ var buttonLabel = "<b>" + capitalizedLang + "</b>";
+ } else {
+ var buttonLabel = ""
+ }
+ tabBar.append(
+ '<li><a class="tab_' + lang + '" href="#' + id + '">' + buttonLabel +
'</a></li>'
+ );
+ });
+
+ codeSamples.first().addClass("active");
+ tabBar.children("li").first().addClass("active");
+ counter++;
+ });
+ $("ul.nav-tabs a").click(function (e) {
+ // Toggling a tab should switch all tabs corresponding to the same language
+ // while retaining the scroll position
+ e.preventDefault();
+ var scrollOffset = $(this).offset().top - $(document).scrollTop();
+ $("." + $(this).attr('class')).tab('show');
+ $(document).scrollTop($(this).offset().top - scrollOffset);
+ });
+}
+
+function makeCollapsable(elt, accordionClass, accordionBodyId, title) {
+ $(elt).addClass("accordion-inner");
+ $(elt).wrap('<div class="accordion ' + accordionClass + '"></div>')
+ $(elt).wrap('<div class="accordion-group"></div>')
+ $(elt).wrap('<div id="' + accordionBodyId + '" class="accordion-body
collapse"></div>')
+ $(elt).parent().before(
+ '<div class="accordion-heading">' +
+ '<a class="accordion-toggle" data-toggle="collapse" href="#' +
accordionBodyId + '">' +
+ title +
+ '</a>' +
+ '</div>'
+ );
+}
+
+// Enable "view solution" sections (for exercises)
+function viewSolution() {
+ var counter = 0
+ $("div.solution").each(function() {
+ var id = "solution_" + counter
+ makeCollapsable(this, "", id,
+ '<i class="icon-ok-sign" style="text-decoration: none; color: #0088cc">'
+
+ '</i>' + "View Solution");
+ counter++;
+ });
+}
+
+// A script to fix internal hash links because we have an overlapping top bar.
+// Based on
https://github.com/twitter/bootstrap/issues/193#issuecomment-2281510
+function maybeScrollToHash() {
+ if (window.location.hash && $(window.location.hash).length) {
+ var newTop = $(window.location.hash).offset().top - 57;
+ $(window).scrollTop(newTop);
+ }
+}
+
+$(function() {
+ codeTabs();
+ // Display anchor links when hovering over headers. For documentation of the
+ // configuration options, see the AnchorJS documentation.
+ anchors.options = {
+ placement: 'left'
+ };
+ anchors.add();
+
+ $(window).bind('hashchange', function() {
+ maybeScrollToHash();
+ });
+
+ $(document).ready(function() {
+ $('#toc').toc();
+ });
+
+ // Scroll now too in case we had opened the page on a hash, but wait a bit
because some browsers
+ // will try to do *their* initial scroll after running the onReady handler.
+ $(window).load(function() { setTimeout(function() { maybeScrollToHash(); },
25); });
+});
Propchange: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/docs.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/toc.js
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/toc.js?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/toc.js (added)
+++ zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/toc.js Wed Jul 6
06:25:29 2016
@@ -0,0 +1,98 @@
+// https://github.com/ghiculescu/jekyll-table-of-contents
+(function($){
+ $.fn.toc = function(options) {
+ var defaults = {
+ noBackToTopLinks: false,
+ title: '<i></i>',
+ minimumHeaders: 2,
+ headers: 'h2, h3',
+ listType: 'ul', // values: [ol|ul]
+ showEffect: 'none', // values: [show|slideDown|fadeIn|none]
+ showSpeed: '0', // set to 0 to deactivate effect
+ classes: { list: '',
+ item: ''
+ }
+ },
+ settings = $.extend(defaults, options);
+
+ function fixedEncodeURIComponent (str) {
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
+ return '%' + c.charCodeAt(0).toString(16);
+ });
+ }
+
+ function createLink (header) {
+ var innerText = (header.textContent === undefined) ? header.innerText :
header.textContent;
+ return "<a href='#" + fixedEncodeURIComponent(header.id) + "'>" +
innerText + "</a>";
+ }
+
+ var headers = $(settings.headers).filter(function() {
+ // get all headers with an ID
+ var previousSiblingName = $(this).prev().attr( "name" );
+ if (!this.id && previousSiblingName) {
+ this.id = $(this).attr( "id", previousSiblingName.replace(/\./g, "-")
);
+ }
+ return this.id;
+ }), output = $(this);
+ if (!headers.length || headers.length < settings.minimumHeaders ||
!output.length) {
+ $(this).hide();
+ return;
+ }
+
+ if (0 === settings.showSpeed) {
+ settings.showEffect = 'none';
+ }
+
+ var render = {
+ show: function() { output.hide().html(html).show(settings.showSpeed); },
+ slideDown: function() {
output.hide().html(html).slideDown(settings.showSpeed); },
+ fadeIn: function() {
output.hide().html(html).fadeIn(settings.showSpeed); },
+ none: function() { output.html(html); }
+ };
+
+ var get_level = function(ele) { return parseInt(ele.nodeName.replace("H",
""), 10); };
+ var highest_level = headers.map(function(_, ele) { return get_level(ele);
}).get().sort()[0];
+ var return_to_top = '<i class="icon-arrow-up back-to-top"> </i>';
+
+ var level = get_level(headers[0]),
+ this_level,
+ html = settings.title + " <" +settings.listType + " class=\"" +
settings.classes.list +"\">";
+ headers.on('click', function() {
+ if (!settings.noBackToTopLinks) {
+ window.location.hash = this.id;
+ }
+ })
+ .addClass('clickable-header')
+ .each(function(_, header) {
+ this_level = get_level(header);
+ if (!settings.noBackToTopLinks && this_level === highest_level) {
+ $(header).addClass('top-level-header').after(return_to_top);
+ }
+ if (this_level === level) // same level as before; same indenting
+ html += "<li class=\"" + settings.classes.item + "\">" +
createLink(header);
+ else if (this_level <= level){ // higher level than before; end parent ol
+ for(i = this_level; i < level; i++) {
+ html += "</li></"+settings.listType+">"
+ }
+ html += "<li class=\"" + settings.classes.item + "\">" +
createLink(header);
+ }
+ else if (this_level > level) { // lower level than before; expand the
previous to contain a ol
+ for(i = this_level; i > level; i--) {
+ html += "<" + settings.listType + " class=\"" +
settings.classes.list +"\">" +
+ "<li class=\"" + settings.classes.item + "\">"
+ }
+ html += createLink(header);
+ }
+ level = this_level; // update for the next one
+ });
+ html += "</"+settings.listType+">";
+ if (!settings.noBackToTopLinks) {
+ $(document).on('click', '.back-to-top', function() {
+ $(window).scrollTop(0);
+ window.location.hash = '';
+ });
+ }
+
+ render[settings.showEffect]();
+ };
+})(jQuery);
Propchange: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/toc.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: zeppelin/site/docs/0.6.0/assets/themes/zeppelin/js/toc.js
------------------------------------------------------------------------------
svn:executable = *
Added: zeppelin/site/docs/0.6.0/atom.xml
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/atom.xml?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/atom.xml (added)
+++ zeppelin/site/docs/0.6.0/atom.xml Wed Jul 6 06:25:29 2016
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+
+ <title>Apache Zeppelin</title>
+ <link href="http://zeppelin.apache.org/" rel="self"/>
+ <link href="http://zeppelin.apache.org"/>
+ <updated>2016-07-06T15:17:13+09:00</updated>
+ <id>http://zeppelin.apache.org</id>
+ <author>
+ <name>The Apache Software Foundation</name>
+ <email>[email protected]</email>
+ </author>
+
+
+
+</feed>
Propchange: zeppelin/site/docs/0.6.0/atom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/development/howtocontribute.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/development/howtocontribute.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/development/howtocontribute.html (added)
+++ zeppelin/site/docs/0.6.0/development/howtocontribute.html Wed Jul 6
06:25:29 2016
@@ -0,0 +1,289 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>How to contribute</title>
+ <meta name="description" content="How to contribute">
+ <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.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/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.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/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.0">
+ <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.0</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.0/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.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/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.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/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.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/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.0/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.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/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.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/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.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/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.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/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.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/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.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/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.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/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.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit How to contribute">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <h1>Contributing to Apache Zeppelin ( Code )</h1>
+
+<div id="toc"></div>
+
+<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>Setting up</h2>
+
+<p>Here are some tools you will need to build and test Zeppelin.</p>
+
+<h4>Software Configuration Management ( SCM )</h4>
+
+<p>Since Zeppelin uses Git for it's SCM system, you need git client
installed in your development machine.</p>
+
+<h4>Integrated Development Environment ( IDE )</h4>
+
+<p>You are free to use whatever IDE you prefer, or your favorite command line
editor.</p>
+
+<h4>Build Tools</h4>
+
+<p>To build the code, install</p>
+
+<ul>
+<li>Oracle Java 7</li>
+<li>Apache Maven</li>
+</ul>
+
+<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>.</p>
+
+<h3>git access</h3>
+
+<p>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 zeppelin
+</code></pre></div>
+<p>You may also want to develop against a specific branch. For example, for
branch-0.5.6</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">git clone -b branch-0.5.6 git://git.apache.org/zeppelin.git
zeppelin
+</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
& 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>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">mvn install
+</code></pre></div>
+<p>To skip test</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">mvn install -DskipTests
+</code></pre></div>
+<p>To build with specific spark / hadoop version</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">mvn install -Dspark.version=x.x.x -Dhadoop.version=x.x.x
+</code></pre></div>
+<p>For the further </p>
+
+<h3>Run Zeppelin server in development mode</h3>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">cd zeppelin-server
+HADOOP_HOME=YOUR_HADOOP_HOME JAVA_HOME=YOUR_JAVA_HOME mvn exec:java
-Dexec.mainClass="org.apache.zeppelin.server.ZeppelinServer"
-Dexec.args=""
+</code></pre></div>
+<blockquote>
+<p><strong>Note:</strong> Make sure you first run <code>mvn clean install
-DskipTests</code> on your zeppelin root directory, otherwise your server build
will fail to find the required dependencies in the local repro.</p>
+</blockquote>
+
+<p>or use daemon script</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">bin/zeppelin-daemon start
+</code></pre></div>
+<p>Server will be run on <a
href="http://localhost:8080">http://localhost:8080</a>.</p>
+
+<h3>Generating Thrift Code</h3>
+
+<p>Some portions of the Zeppelin code are generated by <a
href="http://thrift.apache.org">Thrift</a>. For most Zeppelin changes, you
don't need to worry about this. But if you modify any of the Thrift IDL
files (e.g. zeppelin-interpreter/src/main/thrift/*.thrift), then you also need
to regenerate these files and submit their updated version as part of your
patch.</p>
+
+<p>To regenerate the code, install <strong>thrift-0.9.2</strong> and change
directory into Zeppelin source directory. and then run following command</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">thrift -out zeppelin-interpreter/src/main/java/ --gen java
zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift
+</code></pre></div>
+<h2>Where to Start</h2>
+
+<p>You can find issues for <a
href="https://issues.apache.org/jira/browse/ZEPPELIN-981?jql=project%20%3D%20ZEPPELIN%20AND%20labels%20in%20(beginner%2C%20newbie)">beginner
& newbie</a></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/">[email protected]</a>
is for people who want to contribute code to Zeppelin. <a
href="mailto:[email protected]?subject=send%20this%20email%20to%20subscribe">subscribe</a>,
<a
href="mailto:[email protected]?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>© 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.0/development/howtocontribute.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/development/howtocontributewebsite.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/development/howtocontributewebsite.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/development/howtocontributewebsite.html (added)
+++ zeppelin/site/docs/0.6.0/development/howtocontributewebsite.html Wed Jul 6
06:25:29 2016
@@ -0,0 +1,253 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>How to contribute (website)</title>
+ <meta name="description" content="How to contribute (website)">
+ <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.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/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.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/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.0">
+ <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.0</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.0/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.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/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.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/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.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/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.0/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.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/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.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/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.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/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.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/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.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/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.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/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.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/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.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit How to contribute (website)">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <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 'master' 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
& 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'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'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'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 immediatly.</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/">[email protected]</a>
is for people who want to contribute code to Zeppelin. <a
href="mailto:[email protected]?subject=send%20this%20email%20to%20subscribe">subscribe</a>,
<a
href="mailto:[email protected]?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>© 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.0/development/howtocontributewebsite.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/development/writingzeppelininterpreter.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/development/writingzeppelininterpreter.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/development/writingzeppelininterpreter.html (added)
+++ zeppelin/site/docs/0.6.0/development/writingzeppelininterpreter.html Wed
Jul 6 06:25:29 2016
@@ -0,0 +1,386 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Writing Zeppelin Interpreter</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.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/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.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/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.0">
+ <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.0</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.0/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.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/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.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/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.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/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.0/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.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/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.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/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.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/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.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/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.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/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.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/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.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/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.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Writing Zeppelin 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'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 'Separate Interpreter(scoped / isolated) for each note' 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
notebook. But it still runs on the same JVM while they'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 your jars under your interpreter directory
with 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>interpareter-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>interpareter-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">"group"</span><span class="p">:</span> <span
class="s2">"your-group"</span><span class="p">,</span>
+ <span class="nt">"name"</span><span class="p">:</span> <span
class="s2">"your-name"</span><span class="p">,</span>
+ <span class="nt">"className"</span><span class="p">:</span>
<span class="s2">"your.own.interpreter.class"</span><span
class="p">,</span>
+ <span class="nt">"properties"</span><span class="p">:</span>
<span class="p">{</span>
+ <span class="nt">"propertiies1"</span><span class="p">:</span>
<span class="p">{</span>
+ <span class="nt">"envName"</span><span class="p">:</span>
<span class="kc">null</span><span class="p">,</span>
+ <span class="nt">"propertyName"</span><span
class="p">:</span> <span class="s2">"property.1.name"</span><span
class="p">,</span>
+ <span class="nt">"defaultValue"</span><span
class="p">:</span> <span
class="s2">"propertyDefaultValue"</span><span class="p">,</span>
+ <span class="nt">"description"</span><span
class="p">:</span> <span class="s2">"Property description"</span>
+ <span class="p">},</span>
+ <span class="nt">"properties2"</span><span class="p">:</span>
<span class="p">{</span>
+ <span class="nt">"envName"</span><span class="p">:</span>
<span class="err">PROPERTIES_</span><span class="mi">2</span><span
class="p">,</span>
+ <span class="nt">"propertyName"</span><span
class="p">:</span> <span class="kc">null</span><span class="p">,</span>
+ <span class="nt">"defaultValue"</span><span
class="p">:</span> <span
class="s2">"property2DefaultValue"</span><span class="p">,</span>
+ <span class="nt">"description"</span><span
class="p">:</span> <span class="s2">"Property 2 description"</span>
+ <span class="p">},</span> <span class="err">...</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("MyInterpreterName",
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>Programming Languages for Interpreter</h2>
+
+<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 notebook 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. ).<br></li>
+<li>Add to the list of <code>editorMode</code> in <code><a
href="https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js">zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js</a></code>
- it follows the pattern 'ace/mode/x' where x is the name.<br></li>
+<li>Add to the code that checks for <code>%</code> prefix and calls
<code>session.setMode(editorMode.x)</code> in <code>setParagraphMode</code>
located in <code><a
href="https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js">zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js</a></code>.<br></li>
+</ol>
+
+<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"><property>
+<name>zeppelin.interpreters</name>
+<value>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</value>
+</property>
+</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 notebook, <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 = "My interpreter"
+println(a)
+</code></pre></div>
+<h3>0.6.0 and later</h3>
+
+<p>Inside of a notebook, <code>%[INTERPRETER_GROUP].[INTERPRETER_NAME]</code>
directive will call your interpreter.
+Note that the first interpreter configuration in zeppelin.interpreters will be
the default one.</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'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://github.com/apache/zeppelin/blob/master/CONTRIBUTING.md">here</a>.</li>
+<li>Follow the steps in <a href="#make-your-own-interpreter">Make your own
Interpreter</a> section 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>© 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.0/development/writingzeppelininterpreter.html
------------------------------------------------------------------------------
svn:eol-style = native