### What is this PR for?
`AdvancedTransformation` has more detailed options while providing existing features of `PivotTransformation` and `ColumnselectorTransformation` which Zeppelin already has

Here are some features which advanced-transformation can provide.
1. **(screenshot)** multiple sub charts
2. **(screenshot)** parameter widgets: `input`, `checkbox`, `option`, `textarea`
3. **(screenshot)** expand/fold axis and parameter panels
4. **(screenshot)** clear axis and parameter panels
5. **(screenshot)** remove duplicated columns in an axis
6. **(screenshot)** limit column count in an axis
7. configurable char axes: `valueType`, `axisType`, `description`, ...
8. configurable chart parameters
9. lazy transformation
10. parsing parameters automatically based on their type: `int`, `float`, `string`, `JSON`
11. multiple transformation methods
12. re-initialize whole configuration based on spec hash.
13. **(screenshot)** shared axis
#### API Details: Spec
`AdvancedTransformation` requires `spec` which includes axis and parameter details for charts.
- Let's create 2 sub-charts called `simple-line` and `step-line`.
- Each sub chart can have different `axis` and `parameter` depending on their requirements.
```js
constructor(targetEl, config) {
super(targetEl, config)
const spec = {
charts: {
'simple-line': {
sharedAxis: true, /** set if you want to share axes between sub charts, default is `false` */
axis: {
'xAxis': { dimension: 'multiple', axisType: 'key', },
'yAxis': { dimension: 'multiple', axisType: 'aggregator'},
'category': { dimension: 'multiple', axisType: 'group', },
},
parameter: {
'xAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of xAxis', },
'yAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of yAxis', },
'dashLength': { valueType: 'int', defaultValue: 0, description: 'the length of dash', },
},
},
'step-line': {
axis: {
'xAxis': { dimension: 'single', axisType: 'unique', },
'yAxis': { dimension: 'multiple', axisType: 'value', },
},
parameter: {
'xAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of xAxis', },
'yAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of yAxis', },
'noStepRisers': { valueType: 'boolean', defaultValue: false, description: 'no risers in step line', widget: 'checkbox', },
},
},
}
this.transformation = new AdvancedTransformation(config, spec)
}
```
#### API Details: Axis Spec
| Field Name | Available Values (type) | Description |
| --- | --- | --- |
|`dimension` | `single` | Axis can contains only 1 column |
|`dimension` | `multiple` | Axis can contains multiple columns |
|`axisType` | `key` | Column(s) in this axis will be used as `key` like in `PivotTransformation`. These columns will be served in `column.key` |
|`axisType` | `aggregator` | Column(s) in this axis will be used as `value` like in `PivotTransformation`. These columns will be served in `column.aggregator` |
|`axisType` | `group` | Column(s) in this axis will be used as `group` like in `PivotTransformation`. These columns will be served in `column.group` |
|`axisType` | (string) | Any string value can be used here. These columns will be served in `column.custom` |
|`maxAxisCount` | (int) | The maximum column count that this axis can contains. (unlimited if `undefined`) |
|`valueType` | (string) | Describe the value type just for annotation |
Here is an example.
```js
axis: {
'xAxis': { dimension: 'multiple', axisType: 'key', },
'yAxis': { dimension: 'multiple', axisType: 'aggregator'},
'category': { dimension: 'multiple', axisType: 'group', maxAxisCount: 2, valueType: 'string', },
},
```
#### API Details: Parameter Spec
| Field Name | Available Values (type) | Description |
| --- | --- | --- |
|`valueType` | `string` | Parameter which has string value |
|`valueType` | `int` | Parameter which has int value |
|`valueType` | `float` | Parameter which has float value |
|`valueType` | `boolean` | Parameter which has boolean value used with `checkbox` widget usually |
|`valueType` | `JSON` | Parameter which has JSON value used with `textarea` widget usually. `defaultValue` should be `""` (empty string). This ||`defaultValue` | (any) | Default value of this parameter. `JSON` type should have `""` (empty string) |
|`description` | (string) | Description of this parameter. This value will be parsed as HTML for pretty output |
|`widget` | `input` | Use [input](https://developer.mozilla.org/en/docs/Web/HTML/Element/input) widget. This is the default widget (if `widget` is undefined)|
|`widget` | `checkbox` | Use [checkbox](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox) widget. |
|`widget` | `textarea` | Use [textarea](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea) widget. |
|`widget` | `option` | Use [select + option](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select) widget. This parameter should have `optionValues` field as well. |
|`optionValues` | (Array<string>) | Available option values used with the `option` widget |
Here is an example.
```js
parameter: {
// string type, input widget
'xAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of xAxis', },
// boolean type, checkbox widget
'inverted': { widget: 'checkbox', valueType: 'boolean', defaultValue: false, description: 'invert x and y axes', },
// string type, option widget with `optionValues`
'graphType': { widget: 'option', valueType: 'string', defaultValue: 'line', description: 'graph type', optionValues: [ 'line', 'smoothedLine', 'step', ], },
// HTML in `description`
'dateFormat': { valueType: 'string', defaultValue: '', description: 'format of date (<a href="https://docs.amcharts.com/3/javascriptcharts/AmGraph#dateFormat">doc</a>) (e.g YYYY-MM-DD)', },
// JSON type, textarea widget
'yAxisGuides': { widget: 'textarea', valueType: 'JSON', defaultValue: '', description: 'guides of yAxis ', },
```
#### API Details: Transformer Spec
`AdvancedTransformation` supports 3 transformation methods. The return value will depend on the transformation method type.
```js
const spec = {
charts: {
'simple': {
/** default value of `transform.method` is the flatten cube. */
axis: { ... },
parameter: { ... }
},
'cube-group': {
transform: { method: 'cube', },
axis: { ... },
parameter: { ... },
}
'no-group': {
transform: { method: 'raw', },
axis: { ... },
parameter: { ... },
}
```
| Field Name | Available Values (type) | Description |
| --- | --- | --- |
|`method` | `object` | designed for [amcharts: serial](https://www.amcharts.com/demos/date-based-data/) |
|`method` | `array` | designed for [highcharts: column](http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/column-basic/) |
|`method` | `drill-down` | designed for [highcharts: drill-down](http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/column-drilldown/) |
|`method` | `raw` | will return the original `tableData.rows` |
Whatever you specified as `transform.method`, the `transformer` value will be always function for lazy computation.
```js
// advanced-transformation.util#getTransformer
if (transformSpec.method === 'raw') {
transformer = () => { return rows; }
} else if (transformSpec.method === 'array') {
transformer = () => {
...
return { ... }
}
}
```
#### Feature Details: Automatic parameter parsing
Advanced transformation will parse parameter values automatically based on their type: `int`, `float`, `string`, `JSON`
- See also `advanced-transformation-util.js#parseParameter`
#### Feature Details: re-initialize the whole configuration based on spec hash
```js
// advanced-transformation-util#initializeConfig
const currentVersion = JSON.stringify(spec)
if (!config.spec || !config.spec.version || config.spec.version !== currentVersion) {
spec.version = currentVersion
// reset config...
}
```
#### Feature Details: Shared Axes
If you set `sharedAxis` to `true` in chart specification, then these charts will share their axes. (default is `false`)
```js
const spec = {
charts: {
'column': {
transform: { method: 'array', },
sharedAxis: true,
axis: { ... },
parameter: { ... },
},
'stacked': {
transform: { method: 'array', },
sharedAxis: true,
axis: { ... }
parameter: { ... },
},
```

#### API Details: Usage in Visualization#render()
Let's assume that we want to create 2 sub-charts called `basic` and `no-group`.
- https://github.com/1ambda/zeppelin-ultimate-line-chart (an practical example)
```js
drawBasicChart(parameter, column, transformer) {
const { ... } = transformer()
}
drawNoGroupChart(parameter, column, transformer) {
const { ... } = transformer()
}
render(data) {
const { chart, parameter, column, transformer, } = data
if (chart === 'basic') {
this.drawBasicChart(parameter, column, transformer)
} else if (chart === 'no-group') {
this.drawNoGroupChart(parameter, column, transformer)
}
}
```
### What type of PR is it?
[Feature]
### Todos
NONE
### What is the Jira issue?
[ZEPPELIN-2217](https://issues.apache.org/jira/browse/ZEPPELIN-2217)
### How should this be tested?
1. Clone https://github.com/1ambda/zeppelin-ultimate-line-chart
2. Create a symbolic link `ultimate-line-chart.json` into `$ZEPPELIN_HOME/helium`
3. Modify the `artifact` value to proper absolute path considering your local machine.
4. Install the above visualization in `localhost:9000/#helium`
5. Test it
### Screenshots (if appropriate)
#### 1. *(screenshot)* multiple sub charts

#### 2. *(screenshot)* parameter widgets: `input`, `checkbox`, `option`, `textarea`

#### 3. *(screenshot)* expand/fold axis and parameter panels

#### 4. *(screenshot)* clear axis and parameter panels

#### 5. *(screenshot)* remove duplicated columns in an axis

#### 6. *(screenshot)* limit column count in an axis

### Questions:
* Does the licenses files need update? - NO
* Is there breaking changes for older versions? - NO
* Does this needs documentation? - NO
Author: 1ambda <1amb4a@gmail.com>
Closes#2098 from 1ambda/ZEPPELIN-2217/advanced-transformation and squashes the following commits:
6cde7c9 [1ambda] fix reset params when spec change
c75a3f2 [1ambda] fix: Reset persisted axis
6a2130a [1ambda] fix: clear config only when axis changed
5464e84 [1ambda] fix: Optimize array 2 key method
9beb1e7 [1ambda] fix: Type error
2408225 [1ambda] test: Add test for array 2key
bf56761 [1ambda] feat: Add array:2-key transform method
7c6768f [1ambda] feat: Use axisSpec.desc as tooltip
f98d4c9 [1ambda] fix: Remove invalid key prop
5cf2ece [1ambda] feat: Add minAxisCount
4887800 [1ambda] fix: Remove local module yarn caches
3e29572 [1ambda] refactor: copyModule func
c91a033 [1ambda] fix: Set yarn cache dir in helium-bundles
04b5140 [1ambda] fix: Import a-tr
0a876cf [1ambda] docs: Update index.md
380b1af [1ambda] docs: Fix typo and add desc for existing trs
908214b [1ambda] docs: Move experimental tags
a009627 [1ambda] feat: Allow dup aggr axis
3b44e92 [1ambda] fix: Remove unuse const
ab6c22e [1ambda] test: Add test for drill-down method
756107a [1ambda] test: Add array transformation method
d819c73 [1ambda] test: Add object method
bf00fba [1ambda] test: Add MockTableData
39fe5ae [1ambda] test: Add test for getColumnsFromAxis
4c393b4 [1ambda] fix: Add polyfill for es6 funcs in test
e92c787 [1ambda] test: Add test for rmDup, aplMaxAxisCount
843f45d [1ambda] test: Add test for getCurrent* funcs
ae5277c [1ambda] test: Add test for initializeConfig
c14a9dc7 [1ambda] test: Add tests for widget, params
c510af1 [1ambda] docs: Add doc for Transformation
52db37b [1ambda] feat: Show panel menus only when opened
17ad4a4 [1ambda] feat: Support chartChanged, parameterChanged
c0d33d3 [1ambda] fix: Sort selectors in drilldown method
cfd6fef [1ambda] feat: sharedAxis
9af80ce [1ambda] style: Indent
79b5654 [1ambda] fix: return the same info in transform
7bee464 [1ambda] fix: Keynames
ee8788e [1ambda] feat: Support drill-down
666025a [1ambda] fix: DON'T reset current chart
ae1891f [1ambda] add array:key transform
4167a2e [1ambda] fix: Sort keyNames
912b5b7 [1ambda] fix: Persist initialized config
f1f6b0c [1ambda] feat: Support ARRAY transform.method
812f9a2 [1ambda] fix: Set proper aggr value when 0 group
20f9437 [1ambda] fix: getCube func
25d51a9 [1ambda] DON'T display aggr.name when aggrColumns.length == 1
f37e13d [1ambda] fix: Add 'object' transform.method
da2370c [1ambda] fix: Add resetAxis, Param funcs
2370682 [1ambda] fix: average is not caculated correctly
dd08e38 [1ambda] fix: Set param panel height to 400
881695a [1ambda] feat: clear chart, param separately
4d0d62b [1ambda] fix: DON'T clean panel config
92676d1 [1ambda] fix: limit parameter panel height to 370
cc29060 [1ambda] feat: parse param description as HTML
9a2d227 [1ambda] fix: Stop event propagation in widgets
fcc625c [1ambda] feat: Automatic param parsing
b4d774c [1ambda] fix: Dont close param panel when enter
088705b [1ambda] refactor: Remove util and add Widget funcs
bf88b4f [1ambda] feat: textare widget and update hook
4e73012 [1ambda] feat: widget checkbox
11b7eaa [1ambda] feat: option widget
5d3efc9 [1ambda] fix: Change panel header
b1d9d31 [1ambda] feat: Save and close with enter key
53f508c [1ambda] feat: custom axisSpec
0dbc431 [1ambda] feat: Support transformer
94d837a [1ambda] feat: Automatic spec versioning
74b8b4e [1ambda] fix: Duplicated radio btn id, name
5b88f08 [1ambda] fix: Modify margin of subchart radio btns
019892c [1ambda] feat: Support transform: flatten
0484e1e [1ambda] feat: Support maxAxisCount in axisSpec
936901b [1ambda] feat: Support undefined valueType in axisSpec
7a454ff [1ambda] feat: Cube Transformation
f0ed02f [1ambda] feat: Support same axis types
49985c6 [1ambda] refactor: Refine axis, param spec
d89e223 [1ambda] feat: advanced-transformation-api
75569ce [1ambda] feat: Support multiple charts in UI
e1fcc2e [1ambda] feat: Support multiple charts
97be629 [1ambda] fix: Add singleDimensionAggregatorChanged
676bd7e [1ambda] refactor: Refine transform API
9fb398e [1ambda] feat: Add clearConfig
a8a4fb1 [1ambda] refactor: Add getAxisInSingleDimension func
9768ecf [1ambda] feat: Add groupBase axis option
91ae54d [1ambda] fix: Overflow issue in single aggr
10c80fc [1ambda] feat: AdvancedTransformation
### What is this PR for?
Actually writing "Visualization", "Spell" or "Application" type of Helium package is not a direct contribution to Zeppelin. So i created "Helium Framework" section and moved "Writing Zeppelin Visualization", "Writing Zeppelin Spell", and "Writing Zeppelin Application" under "Helium Framework" from "Contribution".
### What type of PR is it?
Documentation
### What is the Jira issue?
[ZEPPELIN-2328](https://issues.apache.org/jira/browse/ZEPPELIN-2328)
### Screenshots (if appropriate)
- Before
<img src="https://cloud.githubusercontent.com/assets/10060731/24444171/743d8c7e-14a0-11e7-8a10-ec02596d2a19.png" width="300px">
- After
<img src="https://cloud.githubusercontent.com/assets/10060731/24444245/aecfe274-14a0-11e7-8488-99086b1db415.png" width="300px">
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Closes#2202 from AhyoungRyu/ZEPPELIN-2328 and squashes the following commits:
6185fcd [AhyoungRyu] Separate Helium related docs from 'Contribution' section
### What is this PR for?
I think [Quick Start](https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/install/install.html) page should contain minimum contents to get start Zeppelin for beginners. If not, this can be making the entrance barrier high. But after "SSL configuration" contents were added, configuration section came so long. So I created new page `configuration.md` and separated the all configuration related contents from Quick Start page.
### What type of PR is it?
Documentation
### What is the Jira issue?
[ZEPPELIN-1913](https://issues.apache.org/jira/browse/ZEPPELIN-1913)
### How should this be tested?
Outline the steps to test the PR here.
### Screenshots (if appropriate)
- before (quickstart guide + Zeppelin configuration in one page)

- after (separated two page)

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Closes#1855 from AhyoungRyu/separate/confContents and squashes the following commits:
54f9ad9 [AhyoungRyu] Update page description
9d0cb19 [AhyoungRyu] Separate 'Zeppelin Configuration' section from quickstart
Have recreated this from https://github.com/apache/zeppelin/pull/1322
### What is this PR for?
While running a Notebook using shell, spark, python uses same user as which zeppelin server is running. Which means these interprets have same permission on file system as zeppelin server.
IMO users should be able to impersonate themselves as a complete security system.
### What type of PR is it?
[Improvement]
### Todos
- [x] - Update doc
- [x] - FIX NPEs
- [x] - FIX CI
### What is the Jira issue?
- [ZEPPELIN-1320](https://issues.apache.org/jira/browse/ZEPPELIN-1320)
### How should this be tested?
- Enable shiro auth in shiro.ini
- Add ssh key for the same user you want to try and impersonate (say user1).
```
adduser user1
ssh-keygen
ssh user1localhost mkdir -p .ssh
cat ~/.ssh/id_rsa.pub | ssh user1localhost 'cat >> .ssh/authorized_keys'
```
- Start zeppelin server, try and run following in paragraph in a notebook
- Go to interpreter setting page, and enable "User Impersonate" in any of the interpreter (in my example its shell interpreter)
```
%sh
whoami
```
Check that it should run as new user, i.e. "user1"
### Screenshots (if appropriate)

### Questions:
- Does the licenses files need update? no
- Is there breaking changes for older versions? no
- Does this needs documentation? yes
Author: Prabhjyot Singh <prabhjyotsingh@gmail.org>
Closes#1554 from prabhjyotsingh/ZEPPELIN-1320-2 and squashes the following commits:
dc69c9d [Prabhjyot Singh] @Leemoonsoo review comment: making ZEPPELIN_SSH_COMMAND configurable
1b26cc0 [Prabhjyot Singh] add doc
5a76839 [Prabhjyot Singh] show User Impersonate only when interpreter setting is "per user" and "isolated"
02c3084 [Prabhjyot Singh] Merge remote-tracking branch 'origin/master' into ZEPPELIN-1320-2
03b2f20 [Prabhjyot Singh] use user instead of ""
0ff80ec [Prabhjyot Singh] Merge remote-tracking branch 'origin/master' into ZEPPELIN-1320-2
dd0731d [Prabhjyot Singh] fix missing test cases
aff1bf0 [Prabhjyot Singh] user should have option to run these interpreters as different user.
### What is this PR for?
Doc should deliver key features and recommended usage more simple and easy way.
- docs/install/install.md has lots of duplicated section with README.md.
- docs/install/install.md includes install from binary as well as build from source. I've seen that makes some beginners try download binary and then source build it again.
- recommended and key usage need to be highlighted.
- Be less verbose in key instructions. Move optional, additional info from in the middle of key instruction to end of the each page.
### What type of PR is it?
Improvement
### Todos
* [x] - improve doc
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1644
### How should this be tested?
Run doc locally
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: Lee moon soo <moon@apache.org>
Closes#1615 from Leemoonsoo/ZEPPELIN-1644 and squashes the following commits:
e554216 [Lee moon soo] Add build item in index.md
c6b25f8 [Lee moon soo] Update suggested build command.
c7a19eb [Lee moon soo] Add build.md
e59fe3f [Lee moon soo] make document easier to follow key instructions
### What is this PR for?
This PR is for the documentation of running zeppelin with CDH docker environment.
and This PR is the part of https://issues.apache.org/jira/browse/ZEPPELIN-1198.
Tested CDH5.7 on ubuntu.
### What type of PR is it?
Documentation
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1281
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: astroshim <hsshim@nflabs.com>
Author: AhyoungRyu <ahyoungryu@apache.org>
Author: HyungSung <hsshim@nflabs.com>
Closes#1451 from astroshim/ZEPPELIN-1281 and squashes the following commits:
5dcb8c1 [astroshim] move configurations to right path and add excluding rat-plugin
09408e3 [HyungSung] Merge pull request #11 from AhyoungRyu/ZEPPELIN-1281-ahyoung
850119c [AhyoungRyu] Generate TOC & change some sentences
e687a53 [AhyoungRyu] Replace zeppelin_with_cdh.png to crop the url part
cc9a023 [AhyoungRyu] Remove main title link anchor
b525f68 [astroshim] separate cdh doc with spark_cluster_mode.md
e66993f [astroshim] fix doc
a7b5b2d [astroshim] cdh docker environment
### What is this PR for?
Following the PR #1356, we now have the contribution documentation to on Apache Zeppelin Website.
We can now remove the contributing files from the repository, and replace the links to that documentation.
### What type of PR is it?
Documentation
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1414
### How should this be tested?
Just check if there is other CONTRIBUTING.md files and if there is other links to replace
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Damien CORNEAU <corneadoug@gmail.com>
Closes#1406 from corneadoug/ZEPPELIN-1414 and squashes the following commits:
4347043 [Damien CORNEAU] change a how to contribute link to the webiste in the docs
faf3e11 [Damien CORNEAU] Make links to contribution material point to the website
cb4b5f7 [Damien CORNEAU] Remove contributing files from RAT
7810f57 [Damien CORNEAU] Remove contributing files
### What is this PR for?
This PR is for the documentation of running zeppelin on production environments especially spark on mesos via Docker.
Related issue is https://github.com/apache/zeppelin/pull/1227 and https://github.com/apache/zeppelin/pull/1318 and I got a lot of hints from https://github.com/sequenceiq/hadoop-docker.
Tested on ubuntu.
### What type of PR is it?
Documentation
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1279
### How should this be tested?
You can refer to https://github.com/apache/zeppelin/blob/master/docs/README.md#build-documentation.
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: astroshim <hsshim@nflabs.com>
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Author: HyungSung <hsshim@nflabs.com>
Closes#1389 from astroshim/ZEPPELIN-1279 and squashes the following commits:
974366a [HyungSung] Merge pull request #10 from AhyoungRyu/ZEPPELIN-1279-ahyoung
076fdba [AhyoungRyu] Change zeppelin_mesos_conf.png file
1cbe9d3 [astroshim] fix spark version and mesos
2b821b4 [astroshim] fix docs
159bafc [astroshim] fix anchor
d8c43b4 [astroshim] add navigation
c808350 [astroshim] add image file and doc
a3b0ded [astroshim] create dockerfile for mesos
### What is this PR for?
This PR is for the documentation of running zeppelin on production environments especially spark on yarn.
Related issue is https://github.com/apache/zeppelin/pull/1227 and I got a lot of hints from https://github.com/sequenceiq/hadoop-docker.
Tested on ubuntu.
### What type of PR is it?
Documentation
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1280
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: astroshim <hsshim@nflabs.com>
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Author: HyungSung <hsshim@nflabs.com>
Closes#1318 from astroshim/ZEPPELIN-1280 and squashes the following commits:
60958cd [astroshim] small changes for doc
6c44b7b [astroshim] Merge branch 'master' into ZEPPELIN-1280
dad297c [astroshim] update version
4c8d72d [astroshim] merge with Ayoung's
8c62cf1 [astroshim] fixed felixcheung pointed out.
86ca513 [HyungSung] Merge pull request #9 from AhyoungRyu/ZEPPELIN-1280-ahyoung
cde5f8d [AhyoungRyu] Modify document description so that this docs can be searched
9e9390c [AhyoungRyu] Minor update for spark_cluster_mode.md
633c930 [astroshim] running zeppelin on yarn
### What is this PR for?
As more and more document pages are added, it's really hard to find specific pages. So I added searching feature to Zeppelin documentation site([jekyll](https://jekyllrb.com/) based site) using [lunr.js](http://lunrjs.com/).
- **How does it work?**
I created [`search_data.json`](6e02423f54/docs/search_data.json) which is used for docs info template. `lunr.js` combines all of the text from all of the docs in `docs/` into `_site/search_data.json`. It looks like below.

All the info are comes from [Jekyll YAML front matter](https://jekyllrb.com/docs/frontmatter/) variables. (i.e. title, group, description.. that's why I rewrote all docs' title and description.)
[search.js](6e02423f54/docs/assets/themes/zeppelin/js/search.js) will do this job using this data!
### What type of PR is it?
Improvement & Feature
### Todos
* [x] - Keep consistency for all docs pages' `Title`
* [x] - Add some overview sentences to all docs pages' `Description` section (this will be used as the result preview)
* [x] - Add apache license header to all docs page (some pages are missing the license header currently)
* [x] - Add LICENSE for `lunr.min.js`
### What is the Jira issue?
[ZEPPELIN-1219](https://issues.apache.org/jira/browse/ZEPPELIN-1219)
### How should this be tested?
1. Apply this patch and build `ZEPPELIN_HOME/docs` dir -> please see [docs/README.md#build-documentation](https://github.com/apache/zeppelin/tree/master/docs#build-documentation)
2. Click `search` icon in navbar and go to `search.html` page
3. Type anything you want to search in the search bar (i.e. type `python`, `spark`, `dynamic` ... )
### Screenshots (if appropriate)


### Questions:
* Does the licenses files need update? Yes, for `lunr.min.js`
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Closes#1266 from AhyoungRyu/ZEPPELIN-1219 and squashes the following commits:
7ec8854 [AhyoungRyu] Modify 'no result' sentence
91b71a7 [AhyoungRyu] Remove Apache license header since JSON doesn't allow comment
34afd5d [AhyoungRyu] Add Apache license header to search_data.json
6784282 [AhyoungRyu] Minor search page UI update
0389d28 [AhyoungRyu] Make index.md not to be searched
9f1ba42 [AhyoungRyu] Disable enterkey press & change icon
bd4956a [AhyoungRyu] Add docs.js & search.js to exclude list in pom.xml
624b051 [AhyoungRyu] Add Apache license header to search.js
1381152 [AhyoungRyu] Fix search result skipping issue
6e775f5 [AhyoungRyu] Make pleasecontribute.md not to be searched
ee11136 [AhyoungRyu] Fix some typos
fa01299 [AhyoungRyu] Refine 'description' in some docs as @bzz suggested
da0cff9 [AhyoungRyu] Exclude lunr.min.js
36ba7f1 [AhyoungRyu] Add lunr.min.js license info
f6a05a6 [AhyoungRyu] Apply css style for the search results
68eb997 [AhyoungRyu] Attach 'Apache Zeppelin ZEPPELIN_VERSION Documentation: ' to title
d908c37 [AhyoungRyu] Add searching page
a951fa6 [AhyoungRyu] Add search icon to navbar
0688a79 [AhyoungRyu] Keep consistency all docs' front matter for the right search result
040f532 [AhyoungRyu] Add template for storing docs info based on jekyll front matter
0705bd6 [AhyoungRyu] Add js files: lunr.min.js & search.js
### What is this PR for?
Some of the doc files say "SparkSQL" but the collect spelling is "Spark SQL" (need a white space between "Spark" and "SQL").
Lets's replace it with the collect one.
### What type of PR is it?
Improvement
### Todos
* [x] - Replace all of "SparkSQL" in some files into "Spark SQL".
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1274
### How should this be tested?
Check the changes by some people.
Author: Kousuke Saruta <sarutak@oss.nttdata.co.jp>
Closes#1271 from sarutak/ZEPPELIN-1274 and squashes the following commits:
edc9212 [Kousuke Saruta] Further replaced "SparkSQL" and "SparkSql" into "Spark SQL"
14aa2b7 [Kousuke Saruta] Replaced 'SparkSQL' in docs into 'Spark SQL'
### What is this PR for?
Now that the logo of Spark is updated so it's better to use it in the document.
### What type of PR is it?
Improvement
### Todos
* [x] - Replace the old Spark logo with the new one
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1288
### How should this be tested?
Check by some people.
### Questions:
* Does the licenses files need update?: no
* Is there breaking changes for older versions?: no
* Does this needs documentation?: no
Author: Kousuke Saruta <sarutak@oss.nttdata.co.jp>
Closes#1279 from sarutak/ZEPPELIN-1288 and squashes the following commits:
d1b8d73 [Kousuke Saruta] Updated the logo of Spark
### What is this PR for?
This PR is for documentation for running zeppelin on production environments.
### What type of PR is it?
Documentation
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1198
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: astroshim <hsshim@nflabs.com>
Closes#1227 from astroshim/ZEPPELIN-1198/standalone and squashes the following commits:
53a32f2 [astroshim] add 'via Docker'
61a0e5e [astroshim] add apache license header
83fdef6 [astroshim] doc for spark standalone
### What is this PR for?
After #836 and #1031 merged into master branch, I also applied TOC(table of contents) to newly added `writingzeppelinapplication.md`. And also added this docs link under `index.md`'s docs list.
### What type of PR is it?
Documentation
### Todos
* [x] - Apply TOC(table of contents) to `writingzeppelinapplication.md` and add this docs to `index.md`
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Closes#1133 from AhyoungRyu/docs/ZEPPELIN-732 and squashes the following commits:
9fc746f [AhyoungRyu] Fix a grammar error
e144e0d [AhyoungRyu] Apply toc to writingzeppelinapplication.md
7dc0b95 [AhyoungRyu] Add writingzeppelinapplication.md to index.md
### What is this PR for?
This PR is for supporting various Credential APIs for users.
### What type of PR is it?
Improvement
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1023
### How should this be tested?
- to create credential information.
```
curl -XPUT -H "Content-Type: application/json" "http://localhost:8080/api/credential" -d '{"entity" : "e1", "username" : "user1", "password" : "testpass"}'
```
- to get credential information.
```
curl -XGET -H "Content-Type: application/json" "http://localhost:8080/api/credential"
```
- to remove credential entity information.
```
curl -XDELETE -H "Content-Type: application/json" "http://localhost:8080/api/credential/e1"
```
- to remove all credential information.
```
curl -XDELETE -H "Content-Type: application/json" "http://localhost:8080/api/credential"
```
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: astroshim <hsshim@nflabs.com>
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Author: HyungSung <hsshim@nflabs.com>
Closes#1030 from astroshim/ZEPPELIN-1023 and squashes the following commits:
1b94ae1 [astroshim] Merge branch 'master' into ZEPPELIN-1023
a580476 [astroshim] erase comment code
0609931 [astroshim] update credentialsMap
0f503fd [astroshim] to fix ci
d0c2bac [astroshim] changed syncronizedmap to concurrenthashmap
7b2a7c5 [HyungSung] Merge pull request #7 from AhyoungRyu/ZEPPELIN-1023-docs
80d8a30 [AhyoungRyu] Add rest-credential.md to index.md & dropdown menu
f546532 [astroshim] add rest-credential document
26433f2 [astroshim] change using syncronizedMap.
9b2c1c9 [astroshim] add checking null and blank values in the putCredentials method.
0371701 [astroshim] add more credential apis.
### What is this PR for?
There were several changes in Zeppelin UI after #860, #1006, #1013, #1081 so update screenshot of documents accordingly.
### What type of PR is it?
Documentation
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: AhyoungRyu <fbdkdud93@hanmail.net>
Author: Mina Lee <mina.hyeji.lee@gmail.com>
Author: Mina Lee <minalee@apache.org>
Closes#1089 from minahlee/doc/ZEPPELIN-1002 and squashes the following commits:
b237caf [Mina Lee] Merge pull request #1 from AhyoungRyu/doc/ZEPPELIN-1002/again
b18544a [AhyoungRyu] Update screenshot images in interpreters.md
add97fb [AhyoungRyu] Update screenshot images in notebookashomepage.md
cdaeb30 [AhyoungRyu] Update screenshot images in index.md
b21444a [AhyoungRyu] Update screenshot images in notebook_authorization.md
b23f7e4 [AhyoungRyu] Update screenshot images in dependencymanagement.md
e7a85f3 [AhyoungRyu] Update screenshot images in lens.md
cecd161 [AhyoungRyu] Update screenshot images in ignite.md
9f8cb71 [AhyoungRyu] Update screenshot images in elasticsearch.md
0c9a688 [AhyoungRyu] Hide dynamicinterpreterloading.md temporarily
a17f31f [Mina Lee] Update doc image in Explore Zeppelin UI page
### What is this PR for?
Realized that #1020 doesn't do the job. This PR does fix the issue of broken image on website and already deployed on the website
### What type of PR is it?
Bug Fix
Author: Mina Lee <minalee@apache.org>
Closes#1022 from minahlee/hotfix/doc_image2 and squashes the following commits:
17309ee [Mina Lee] Fix path again
### What is this PR for?
Use relative path instead of absolute path so doc can find image under proper version folder
### What type of PR is it?
Documentation
### Screenshots (if appropriate)
Current 0.6.0-SNAPSHOT main page looks like this:
<img width="931" alt="screen shot 2016-06-15 at 5 24 25 pm" src="https://cloud.githubusercontent.com/assets/8503346/16102042/9ca90772-3320-11e6-8628-5850003a64a9.png">
Author: Mina Lee <minalee@apache.org>
Closes#1020 from minahlee/hotfix/doc_image and squashes the following commits:
9574e0a [Mina Lee] Fix image path
### What is this PR for?
git repo infra have moved from incubator-zeppelin to zeppelin
### What type of PR is it?
Hot Fix
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Mina Lee <minalee@apache.org>
Closes#983 from minahlee/ZEPPELIN-980 and squashes the following commits:
7542c31 [Mina Lee] remove travis url after travis migration is done
3793b38 [Mina Lee] Move git repository from incubator-zeppelin to zeppelin
### What is this PR for?
This removes hive module and adds example setting for using Hive in a JdbcInterpreter by using loading dynamic dependencies. It reduces Zeppelin's binary size.
There's no codes' modification except removing hive directory and remove the module from pom.xml
### What type of PR is it?
[Feature]
### Todos
* [x] - Remove hive module
* [x] - Add an example for using Hive in JDBC
### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-925
### How should this be tested?
Set the interpreter properties and test it
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Jongyoul Lee <jongyoul@gmail.com>
Closes#943 from jongyoul/ZEPPELIN-925 and squashes the following commits:
eb50c78 [Jongyoul Lee] Fixed typo
45ec667 [Jongyoul Lee] Updated style of jdbc.md
f6b94d6 [Jongyoul Lee] Update hive.md
6aa9c7b [Jongyoul Lee] Revert "Remove hive.md from docs/interpreter"
f6573e3 [Jongyoul Lee] Deleted hive module from pom.xml
f720ed5 [Jongyoul Lee] Updated Documentation
9c58640 [Jongyoul Lee] Remove hive.md from docs/interpreter
cdf1cfc [Jongyoul Lee] Remove hive module and its directory
a38dc28 [Jongyoul Lee] Update example for hive in jdbc.md
### What is this PR for?
Remove incubating from doc
### What type of PR is it?
Documentation
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Mina Lee <minalee@nflabs.com>
Closes#941 from minahlee/doc/removeIncubating and squashes the following commits:
dbf37ef [Mina Lee] Remove redundant doap.rdf
bcb6b54 [Mina Lee] Remove incubating from doc
c7e34e7 [Mina Lee] Remove incubating from doc
accec53 [Mina Lee] Remove incubating from doc
### What is this PR for?
1. Fix some typos in docs.
2. Remove trailing white spaces for each line.
3. Remove leading white spaces if a line contains no content.
4. Add trailing new line for each file.
### What type of PR is it?
Improvement | Documentation
### Todos
None
### What is the Jira issue?
N/A
### How should this be tested?
Build the doc site and check.
### Screenshots (if appropriate)
N/A
### Questions:
* Does the licenses files need update? *no*
* Is there breaking changes for older versions? *no*
* Does this needs documentation? *no*
Author: Cheng-Yu Hsu <m@cyhsu.me>
Closes#852 from cyhsutw/fix-typos-in-docs and squashes the following commits:
6f5f46b [Cheng-Yu Hsu] fix typos in docs
### What is this PR for?
Sorry for the late PR.
According to the user feedback, seems that it's not clear how to **embed output plots into other websites**.
So I made a documentation for explaining this feature.
### What type of PR is it?
Documentation
### Todos
* [x] - Write a documentation for How can we publish Zeppelin paragraph results
### Is there a relevant Jira issue?
[ZEPPELIN-585](https://issues.apache.org/jira/browse/ZEPPELIN-585)
### How should this be tested?
After apply this PR, just click `Quick Start -> Publish your Paragraph
### Screenshots (if appropriate)


### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Ryu Ah young <fbdkdud93@hanmail.net>
Closes#672 from AhyoungRyu/ZEPPELIN-585-test and squashes the following commits:
746b13c [Ryu Ah young] ZEPPELIN-585: Add a warning sentence
a728c28 [Ryu Ah young] ZEPPELIN-585: ping travis
edab76d [Ryu Ah young] ZEPPELIN-585: Fix grammar error
fea0c4f [Ryu Ah young] ZEPPELIN-585: Change a note sentence
9b877f6 [Ryu Ah young] ZEPPELIN-585: Change a sentence in index.md
4e92c9f [Ryu Ah young] ZEPPELIN-585: Change a word 'tab' -> 'menu'
c7d380b [Ryu Ah young] ZEPPELIN-585: Change some sentences for normal use case
648067d [Ryu Ah young] ZEPPELIN-585: Fix a sentence in index.md
5599d69 [Ryu Ah young] ZEPPELIN-585: Add new doc on how to embedd Note\Paragraph plots into other websites
### What is this PR for?
Use apache git mirror instead of github for repository url
### What type of PR is it?
Bug Fix
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: Lee moon soo <moon@apache.org>
Closes#616 from Leemoonsoo/remove_github and squashes the following commits:
9efcf0e [Lee moon soo] Add write access git url
f4b2c9f [Lee moon soo] Fix CONTRIBUTING.md
5c49b04 [Lee moon soo] Change repo url to apache git.apache.org from github.com
https://issues.apache.org/jira/browse/ZEPPELIN-448
Addresses update documentation for Spark configuration.
And BASE_PATH change after #430, #431 is deployed.
(currently deployed website has this change applied)
Author: Lee moon soo <moon@apache.org>
Closes#448 from Leemoonsoo/update_install and squashes the following commits:
54e2edf [Lee moon soo] add newline
cbd95d6 [Lee moon soo] Add description for included version of spark when SPARK_HOME is not set
00099ad [Lee moon soo] Add description for bumping up version
cf99212 [Lee moon soo] Fix typo
ab6d267 [Lee moon soo] Update BASE_PATH
73a737c [Lee moon soo] Remove instruction for 0.5.0 as zeppelin has documentation per version
4369f3e [Lee moon soo] Fix link
dcdaa74 [Lee moon soo] Add more configurations possible
8c9361d [Lee moon soo] Change font style
de74e6b [Lee moon soo] Update install and configuring spark
#407 addressed https://issues.apache.org/jira/browse/ZEPPELIN-406 and merged into branch-0.5.5
This PR applies it to the master branch
Author: Lee moon soo <moon@apache.org>
Closes#424 from Leemoonsoo/ZEPPELIN-406-master and squashes the following commits:
64b6550 [Lee moon soo] Add apache header and inline json message example into doc
ba72645 [Lee moon soo] ZEPPELIN-406 Handle license issue found in 0.5.5-incubating rc2
Details at the [ZEPPELIN-279](https://issues.apache.org/jira/browse/ZEPPELIN-279)
Author: Alexander Bezzubov <bzz@apache.org>
Closes#282 from bzz/ZEPPELIN-279-move-docs-to-master and squashes the following commits:
16d2cd0 [Alexander Bezzubov] ZEPPELIN-279: updating refs to new /docs location
a051a35 [Alexander Bezzubov] ZEPPELIN-279: moving website gh-pages -> master:/docs