diff --git a/docs/development/add-data-guide.asciidoc b/docs/development/add-data-guide.asciidoc new file mode 100644 index 0000000000000..1b87087ce2931 --- /dev/null +++ b/docs/development/add-data-guide.asciidoc @@ -0,0 +1,34 @@ +[[add-data-guide]] +== Add Data Guide + +`Add Data` in the Kibana Home application contains tutorials for setting up data flows in the Elastic stack. + +Each tutorial contains three sets of instructions: + +* `On Premise.` Set up a data flow when both Kibana and Elasticsearch are running on premise. +* `On Premise Elastic Cloud.` Set up a data flow when Kibana is running on premise and Elasticsearch is running on Elastic Cloud. +* `Elastic Cloud.` Set up a data flow when both Kibana and Elasticsearch are running on Elastic Cloud. + +[float] +=== Creating a new tutorial +1. Create a new directory in the link:https://github.com/elastic/kibana/tree/master/src/core_plugins/kibana/server/tutorials[tutorials directory]. +2. In the new directory, create a file called `index.js` that exports a function. +The function must return a JavaScript object that conforms to the link:https://github.com/elastic/kibana/blob/master/src/core_plugins/kibana/common/tutorials/tutorial_schema.js[tutorial schema]. +3. Register the tutorial in link:https://github.com/elastic/kibana/blob/master/src/core_plugins/kibana/server/tutorials/register.js[register.js] by calling `server.registerTutorial(myFuncImportedFromIndexJs)`. +4. Add image assets to the link:https://github.com/elastic/kibana/tree/master/src/core_plugins/kibana/public/home/tutorial_resources[tutorial_resources directory]. +5. Run Kibana locally to preview the tutorial. +6. Create a PR and go through the review process to get the changes approved. + +[float] +==== Variables +String values can contain variables that are substituted when rendered. Variables are specified by `{}`. +For example: `{config.docs.version}` is rendered as `6.2` when running the tutorial in Kibana 6.2. + +link:https://github.com/elastic/kibana/blob/master/src/core_plugins/kibana/public/home/components/tutorial/replace_template_strings.js#L23[Provided variables] + +[float] +==== Markdown +String values can contain limited Markdown syntax. + +link:https://github.com/elastic/kibana/blob/master/src/core_plugins/kibana/public/home/components/tutorial/content.js#L8[Enabled Markdown grammars] + diff --git a/docs/development/plugin-development.asciidoc b/docs/development/plugin-development.asciidoc index 0f0c2e2f54172..6167c8a195a64 100644 --- a/docs/development/plugin-development.asciidoc +++ b/docs/development/plugin-development.asciidoc @@ -10,6 +10,7 @@ The Kibana plugin interfaces are in a state of constant development. We cannot * <> * <> * <> +* <> include::plugin/development-plugin-resources.asciidoc[] @@ -18,4 +19,6 @@ include::plugin/development-uiexports.asciidoc[] include::plugin/development-plugin-functional-tests.asciidoc[] -include::visualize/development-visualize-index.asciidoc[] \ No newline at end of file +include::visualize/development-visualize-index.asciidoc[] + +include::add-data-guide.asciidoc[]