Skip to content
master
Go to file
Code

Latest commit

### What is this PR for?
Currently its hard to integrate certain plotting libraries in one single zeppelin notebook efficiently. efficiently here means in the sense of how often library code needs to be embedded into a single notebook. while few plotting libraries provide APIs to properly enable lazy loading of their JS library (e.g. bokeh), others do not (e.g. plotly), which results in large overhead in notebooks with couple of plots, where each plot embeds the library code again and again. attempts to only embed library code in the first paragraph is not feasible, as its not guaranteed, that this paragraph will be loaded at first by the browser. Any attempt to load libraries via paragraph code will end up in such synchronization issues when the library does not support synchronization on its own.

A general solution for that problem is to enable the loading of 3rd party JS libraries within the root HTML.

Hence this issue will introduce a new optional zeppelin configuration that allows administrators to add global addons to the zeppelin root HTML, so analysts can rely on that the JS library is already loaded for every paragraph.

As there exist two places in HTML where initial loading may be placed, the issue will introduce the following two configuration properties:

- `zeppelin.server.html.head.addon` > addon html code to be placed at the end of the html->head section 
- `zeppelin.server.html.body.addon` > addon html code to be placed at the end of the html->body section

Each property may contain any valid HTML code, e.g.

```
<script defer src="https://url/to/my/lib.min.js" /><script defer src="https://url/to/other/lib.min.js" />
```

### What type of PR is it?
Improvement

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-5019

### How should this be tested?
* Unit Test added for index.html of `zeppelin-web`
* can also be manually tested by adding config properties mentioned above. Then check the resulting source of the zeppelin web application (old and new ui)

### 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: Andreas Weise <[email protected]>

Closes #3892 from weand/ZEPPELIN-5019 and squashes the following commits:

29e7a02 [Andreas Weise] ZEPPELIN-5019 Enable configurable HTML addons
cb06507

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time

README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: Build Status
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core feature:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site https://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.

You can’t perform that action at this time.