You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/development/howtocontribute.md
+12-14Lines changed: 12 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,9 @@ group: development
7
7
8
8
# Contributing to Apache Zeppelin ( Code )
9
9
10
-
## IMPORTANT
11
-
Apache Zeppelin is an [Apache2 License](http://www.apache.org/licenses/LICENSE-2.0.html) Software.
10
+
<divid="toc"></div>
11
+
12
+
> **NOTE :** Apache Zeppelin is an [Apache2 License](http://www.apache.org/licenses/LICENSE-2.0.html) Software.
12
13
Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.
13
14
14
15
## Setting up
@@ -22,7 +23,7 @@ Since Zeppelin uses Git for it's SCM system, you need git client installed in yo
22
23
23
24
You are free to use whatever IDE you prefer, or your favorite command line editor.
24
25
25
-
### Build Tools
26
+
####Build Tools
26
27
27
28
To build the code, install
28
29
@@ -46,10 +47,10 @@ You may also want to develop against a specific branch. For example, for branch-
If you want not only build Zeppelin but also make any changes, then you need fork [Zeppelin github mirror repository](https://github.com/apache/zeppelin) and make a pull request.
50
+
Apache Zeppelin follows [Fork & Pull](https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request) as a source control workflow.
51
+
If you want to not only build Zeppelin but also make any changes, then you need to fork [Zeppelin github mirror repository](https://github.com/apache/zeppelin) and make a pull request.
51
52
52
-
###Build
53
+
###Build
53
54
54
55
```
55
56
mvn install
@@ -67,6 +68,8 @@ To build with specific spark / hadoop version
@@ -88,21 +91,16 @@ Server will be run on [http://localhost:8080](http://localhost:8080).
88
91
89
92
Some portions of the Zeppelin code are generated by [Thrift](http://thrift.apache.org). 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.
90
93
91
-
To regenerate the code, install **thrift-0.9.0** and change directory into Zeppelin source directory. and then run following command
94
+
To regenerate the code, install **thrift-0.9.2** and change directory into Zeppelin source directory. and then run following command
Zeppelin manages its issues in Jira. [https://issues.apache.org/jira/browse/ZEPPELIN](https://issues.apache.org/jira/browse/ZEPPELIN)
101
-
102
-
## Where to Start
103
-
You can find issues for [beginner](https://issues.apache.org/jira/browse/ZEPPELIN-924?jql=project%20%3D%20ZEPPELIN%20and%20status%20%3D%20Open%20and%20labels%20in%20\(beginner%2C%20newbie\)).
104
-
105
101
## Stay involved
106
102
Contributors should join the Zeppelin mailing lists.
107
103
108
104
*[[email protected]](http://mail-archives.apache.org/mod_mbox/zeppelin-dev/) is for people who want to contribute code to Zeppelin. [subscribe](mailto:[email protected]?subject=send this email to subscribe), [unsubscribe](mailto:[email protected]?subject=send this email to unsubscribe), [archives](http://mail-archives.apache.org/mod_mbox/zeppelin-dev/)
105
+
106
+
If you have any issues, create a ticket in [JIRA](https://issues.apache.org/jira/browse/ZEPPELIN).
Copy file name to clipboardExpand all lines: docs/development/howtocontributewebsite.md
+22-19Lines changed: 22 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,49 +7,52 @@ group: development
7
7
8
8
# Contributing to Apache Zeppelin ( Website )
9
9
10
-
## IMPORTANT
11
-
Apache Zeppelin is an [Apache2 License](http://www.apache.org/licenses/LICENSE-2.0.html) Software.
12
-
Any contribution to Zeppelin (Source code, Documents, Image, Website) means you agree license all your contributions as Apache2 License.
10
+
<divid="toc"></div>
13
11
14
12
15
-
## Modifying the website
13
+
This page will give you an overview of how to build and contribute to the documentation of Apache Zeppelin.
14
+
The online documentation at [zeppelin.apache.org](https://zeppelin.apache.org/docs/latest/) is also generated from the files found here.
16
15
17
-
#### Getting the source code
18
-
Website is hosted in 'master' branch under `/docs/` dir.
16
+
> **NOTE :** Apache Zeppelin is an [Apache2 License](http://www.apache.org/licenses/LICENSE-2.0.html) Software.
17
+
Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.
19
18
20
-
First of all, you need the website source code. The official location of mirror for Zeppelin is [http://git.apache.org/zeppelin.git](http://git.apache.org/zeppelin.git).
19
+
## Getting the source code
20
+
First of all, you need Zeppelin source code. The official location of Zeppelin is [http://git.apache.org/zeppelin.git](http://git.apache.org/zeppelin.git).
21
+
Documentation website is hosted in 'master' branch under `/docs/` dir.
22
+
23
+
### git access
21
24
25
+
First of all, you need the website source code. The official location of mirror for Zeppelin is [http://git.apache.org/zeppelin.git](http://git.apache.org/zeppelin.git).
22
26
Get the source code on your development machine using git.
23
27
24
28
```
25
29
git clone git://git.apache.org/zeppelin.git
26
30
cd docs
27
31
```
32
+
Apache Zeppelin follows [Fork & Pull](https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request) as a source control workflow.
33
+
If you want to not only build Zeppelin but also make any changes, then you need to fork [Zeppelin github mirror repository](https://github.com/apache/zeppelin) and make a pull request.
28
34
29
-
#### Build
30
-
31
-
To build, you'll need to install some prerequisites. Please check 'Build documentation' section in [docs/README.md](https://github.com/apache/zeppelin/blob/master/docs/README.md#build-documentation).
35
+
### Build
32
36
33
-
#### Run website in development mode
37
+
You'll need to install some prerequisites to build the code. Please check [Build documentation](https://github.com/apache/zeppelin/blob/master/docs/README.md#build-documentation) section in [docs/README.md](https://github.com/apache/zeppelin/blob/master/docs/README.md).
34
38
35
-
While you're modifying website, you'll want to see preview of it. Please check 'Run website' section in [docs/README.md](https://github.com/apache/zeppelin/blob/master/docs/README.md#run-website).
39
+
### Run websitein development mode
36
40
37
-
You'll be able to access it on [http://localhost:4000](http://localhost:4000) with your web browser.
41
+
While you're modifying website, you might want to see preview of it. Please check [Run website](https://github.com/apache/zeppelin/blob/master/docs/README.md#run-website) section in [docs/README.md](https://github.com/apache/zeppelin/blob/master/docs/README.md).
42
+
Then you'll be able to access it on [http://localhost:4000](http://localhost:4000) with your web browser.
38
43
39
-
####Making a Pull Request
44
+
### Making a Pull Request
40
45
41
46
When you are ready, just make a pull-request.
42
47
43
48
44
49
## Alternative way
45
50
46
-
You can directly edit .md files in `/docs/` dir at github's web interface and make pull-request immediatly.
47
-
48
-
49
-
## JIRA
50
-
Zeppelin manages its issues in Jira. [https://issues.apache.org/jira/browse/ZEPPELIN](https://issues.apache.org/jira/browse/ZEPPELIN)
51
+
You can directly edit `.md` files in `/docs/` directory at the web interface of github and make pull-request immediatly.
51
52
52
53
## Stay involved
53
54
Contributors should join the Zeppelin mailing lists.
54
55
55
56
*[[email protected]](http://mail-archives.apache.org/mod_mbox/zeppelin-dev/) is for people who want to contribute code to Zeppelin. [subscribe](mailto:[email protected]?subject=send this email to subscribe), [unsubscribe](mailto:[email protected]?subject=send this email to unsubscribe), [archives](http://mail-archives.apache.org/mod_mbox/zeppelin-dev/)
57
+
58
+
If you have any issues, create a ticket in [JIRA](https://issues.apache.org/jira/browse/ZEPPELIN).
Copy file name to clipboardExpand all lines: docs/development/writingzeppelininterpreter.md
+35-31Lines changed: 35 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,21 +19,25 @@ limitations under the License.
19
19
-->
20
20
{% include JB/setup %}
21
21
22
-
### What is Zeppelin Interpreter
22
+
#Writing a New Interpreter
23
23
24
-
Zeppelin Interpreter is a language backend. For example to use scala code in Zeppelin, you need scala interpreter.
25
-
Every Interpreter belongs to an InterpreterGroup.
24
+
<divid="toc"></div>
25
+
26
+
## What is Apache Zeppelin Interpreter
27
+
28
+
Apache Zeppelin Interpreter is a language backend. For example to use scala code in Zeppelin, you need a scala interpreter.
29
+
Every Interpreters belongs to an **InterpreterGroup**.
26
30
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.
InterpreterSetting is configuration of a given InterpreterGroup and a unit of start/stop interpreter.
31
-
All Interpreters in the same InterpreterSetting are launched in a single, separate JVM process. The Interpreter communicates with Zeppelin engine via thrift.
34
+
[InterpreterSetting](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java) is configuration of a given [InterpreterGroup](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterGroup.java) and a unit of start/stop interpreter.
35
+
All Interpreters in the same InterpreterSetting are launched in a single, separate JVM process. The Interpreter communicates with Zeppelin engine via **[Thrift](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift)**.
32
36
33
-
In 'Separate Interpreterfor each note' mode, new Interpreter instance will be created per notebook. But it still runs on the same JVM while they're in the same InterpreterSettings.
37
+
In 'Separate Interpreter(scoped / isolated) for each note' mode which you can see at the **Interpreter Setting** 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.
34
38
35
39
36
-
###Make your own Interpreter
40
+
## Make your own Interpreter
37
41
38
42
Creating a new interpreter is quite simple. Just extend [org.apache.zeppelin.interpreter](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java) abstract class and implement some methods.
39
43
You can include `org.apache.zeppelin:zeppelin-interpreter:[VERSION]` 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.
@@ -91,26 +95,26 @@ The name of the interpreter is what you later write to identify a paragraph whic
91
95
some interpreter specific code...
92
96
```
93
97
94
-
###Programming Languages for Interpreter
98
+
## Programming Languages for Interpreter
95
99
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.
96
100
97
101
To check out the list of languages supported, see the `mode-*.js` files under `zeppelin-web/bower_components/ace-builds/src-noconflict` or from [github.com/ajaxorg/ace-builds](https://github.com/ajaxorg/ace-builds/tree/master/src-noconflict).
98
102
99
103
If you want to add a new set of syntax highlighting,
100
104
101
-
1. Add the `mode-*.js` file to `zeppelin-web/bower.json` ( when built, `zeppelin-web/src/index.html` will be changed automatically. ).
102
-
2. Add to the list of `editorMode` in `zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js` - it follows the pattern 'ace/mode/x' where x is the name.
103
-
3. Add to the code that checks for `%` prefix and calls `session.setMode(editorMode.x)` in `setParagraphMode` located in `zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js`.
105
+
1. Add the `mode-*.js` file to <code>[zeppelin-web/bower.json](https://github.com/apache/zeppelin/blob/master/zeppelin-web/bower.json)</code> ( when built, <code>[zeppelin-web/src/index.html](https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/index.html)</code> will be changed automatically. ).
106
+
2. Add to the list of `editorMode` in <code>[zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js](https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js)</code> - it follows the pattern 'ace/mode/x' where x is the name.
107
+
3. Add to the code that checks for `%` prefix and calls `session.setMode(editorMode.x)` in `setParagraphMode` located in <code>[zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js](https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js)</code>.
104
108
105
-
###Install your interpreter binary
109
+
## Install your interpreter binary
106
110
107
111
Once you have built your interpreter, you can place it under the interpreter directory with all its dependencies.
108
112
109
113
```
110
114
[ZEPPELIN_HOME]/interpreter/[INTERPRETER_NAME]/
111
115
```
112
116
113
-
###Configure your interpreter
117
+
## Configure your interpreter
114
118
115
119
To configure your interpreter you need to follow these steps:
116
120
@@ -119,12 +123,12 @@ To configure your interpreter you need to follow these steps:
119
123
Property value is comma separated [INTERPRETER\_CLASS\_NAME].
2. Add your interpreter to the [default configuration](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L397) which is used when there is no `zeppelin-site.xml`.
130
134
@@ -133,11 +137,11 @@ To configure your interpreter you need to follow these steps:
133
137
4. In the interpreter page, click the `+Create` button and configure your interpreter properties.
134
138
Now you are done and ready to use your interpreter.
135
139
136
-
Note that the interpreters released with zeppelin have a [default configuration](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L397) which is used when there is no `conf/zeppelin-site.xml`.
140
+
> **Note :** Interpreters released with zeppelin have a [default configuration](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L397) which is used when there is no `conf/zeppelin-site.xml`.
137
141
138
-
###Use your interpreter
142
+
## Use your interpreter
139
143
140
-
####0.5.0
144
+
### 0.5.0
141
145
Inside of a notebook, `%[INTERPRETER_NAME]` directive will call your interpreter.
142
146
Note that the first interpreter configuration in zeppelin.interpreters will be the default one.
143
147
@@ -150,8 +154,7 @@ val a = "My interpreter"
150
154
println(a)
151
155
```
152
156
153
-
<br />
154
-
#### 0.6.0 and later
157
+
### 0.6.0 and later
155
158
Inside of a notebook, `%[INTERPRETER_GROUP].[INTERPRETER_NAME]` directive will call your interpreter.
156
159
Note that the first interpreter configuration in zeppelin.interpreters will be the default one.
157
160
@@ -192,7 +195,7 @@ You can only omit your interpreter group when your interpreter group is selected
192
195
codes for myintp2
193
196
```
194
197
195
-
###Examples
198
+
## Examples
196
199
197
200
Checkout some interpreters released with Zeppelin by default.
198
201
@@ -201,15 +204,16 @@ Checkout some interpreters released with Zeppelin by default.
###Contributing a new Interpreter to Zeppelin releases
207
+
## Contributing a new Interpreter to Zeppelin releases
205
208
206
209
We welcome contribution to a new interpreter. Please follow these few steps:
207
210
208
-
- First, check out the general contribution guide [here](./howtocontributewebsite.html).
209
-
- Follow the steps in "Make your own Interpreter" section above.
210
-
- Add your interpreter as in the "Configure your interpreter" section above; also add it to the example template [zeppelin-site.xml.template](https://github.com/apache/zeppelin/blob/master/conf/zeppelin-site.xml.template).
211
-
- Add tests! They are run by Travis for all changes and it is important that they are self-contained.
211
+
- First, check out the general contribution guide [here](https://github.com/apache/zeppelin/blob/master/CONTRIBUTING.md).
212
+
- Follow the steps in [Make your own Interpreter](#make-your-own-interpreter) section above.
213
+
- Add your interpreter as in the [Configure your interpreter](#configure-your-interpreter) section above; also add it to the example template [zeppelin-site.xml.template](https://github.com/apache/zeppelin/blob/master/conf/zeppelin-site.xml.template).
214
+
- Add tests! They are run by [Travis](https://travis-ci.org/apache/zeppelin) for all changes and it is important that they are self-contained.
212
215
- Include your interpreter as a module in [`pom.xml`](https://github.com/apache/zeppelin/blob/master/pom.xml).
213
216
- Add documentation on how to use your interpreter under `docs/interpreter/`. Follow the Markdown style as this [example](https://github.com/apache/zeppelin/blob/master/docs/interpreter/elasticsearch.md). 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 `docs/assets/themes/zeppelin/img/docs-img/`). And add a link to your documentation in the navigation menu (`docs/_includes/themes/zeppelin/_navigation.html`).
214
217
- Most importantly, ensure licenses of the transitive closure of all dependencies are list in [license file](https://github.com/apache/zeppelin/blob/master/zeppelin-distribution/src/bin_license/LICENSE).
215
-
- Commit your changes and open a Pull Request on the project [Mirror on GitHub](https://github.com/apache/zeppelin); check to make sure Travis CI build is passing.
218
+
- Commit your changes and open a [Pull Request](https://github.com/apache/zeppelin/pulls) on the project [Mirror on GitHub](https://github.com/apache/zeppelin); check to make sure Travis CI build is passing.
0 commit comments