(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{grBe:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return r})),n.d(t,"default",(function(){return s}));var a=n("k1TG"),i=n("8o2o"),o=(n("q1tI"),n("7ljp")),l=n("hhGP"),r=(n("qKvR"),{});void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!r.hasOwnProperty("__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/installation/building-viz-plugins.mdx"}});var p=l.a;function s(e){var t=e.components,n=Object(i.a)(e,["components"]);return Object(o.b)(p,Object(a.a)({},n,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,'This is a tutorial to help you build a "Hello World" viz plugin. The intent is to provide a basic\nscaffolding to build any sort of data visualization, using any viz libary you\'d like (e.g. ECharts,\nAntV, HighCharts, VX, and D3.).'),Object(o.b)("p",null,"You can build the Hello World plugin by running a ",Object(o.b)("a",{href:"https://yeoman.io/",parentName:"p"},"Yeoman")," generator, which\ntakes a few simple options, and provides this plugin scaffolding."),Object(o.b)("h2",{id:"getting-set-up"},"Getting Set Up"),Object(o.b)("h3",{id:"install-yeoman-and-the-superset-package-generator"},"Install Yeoman and the Superset Package Generator"),Object(o.b)("p",null,"This Hello World plugin we'll be building is generated automatically with\n",Object(o.b)("a",{href:"https://yeoman.io/",parentName:"p"},"Yeoman"),". Let's first get that installed by opening up a terminal and installing\nboth the ",Object(o.b)("inlineCode",{parentName:"p"},"yo")," module and the\n",Object(o.b)("a",{href:"https://github.com/apache-superset/superset-ui/tree/master/packages/generator-superset",parentName:"p"},"superset package generator"),"\n(",Object(o.b)("inlineCode",{parentName:"p"},"v0.14.7"),") to create the new plugin."),Object(o.b)("pre",null,Object(o.b)("code",{parentName:"pre"},"npm install -g yo @superset-ui/generator-superset\n")),Object(o.b)("h3",{id:"install-superset"},"Install Superset"),Object(o.b)("p",null,"There are\n",Object(o.b)("a",{href:"https://github.com/apache/incubator-superset#installation-and-configuration",parentName:"p"},"complete instructions"),"\navailable on the ",Object(o.b)("a",{href:"https://github.com/apache/incubator-superset",parentName:"p"},"Superset Github repository"),". In a\nnutshell, the easiest way is to:"),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},"Have a Mac or linux-based machine"),Object(o.b)("li",{parentName:"ol"},"Install ",Object(o.b)("a",{href:"https://docs.docker.com/get-docker/",parentName:"li"},"Docker")),Object(o.b)("li",{parentName:"ol"},"Clone ",Object(o.b)("a",{href:"https://github.com/apache/incubator-superset",parentName:"li"},"the repository")," to your computer"),Object(o.b)("li",{parentName:"ol"},"Use your terminal to ",Object(o.b)("inlineCode",{parentName:"li"},"cd")," into the ",Object(o.b)("inlineCode",{parentName:"li"},"incubator-superset")," directory"),Object(o.b)("li",{parentName:"ol"},"Run ",Object(o.b)("inlineCode",{parentName:"li"},"docker-compose up")),Object(o.b)("li",{parentName:"ol"},"Open ",Object(o.b)("em",{parentName:"li"},"another")," terminal, and ",Object(o.b)("inlineCode",{parentName:"li"},"cd")," into ",Object(o.b)("inlineCode",{parentName:"li"},"incubator-superset/superset-frontend")),Object(o.b)("li",{parentName:"ol"},"Run ",Object(o.b)("inlineCode",{parentName:"li"},"npm install")," to load up all the npm packages."),Object(o.b)("li",{parentName:"ol"},"Run ",Object(o.b)("inlineCode",{parentName:"li"},"npm run dev-server")," to spin up the Webpack hot-reloading server"),Object(o.b)("li",{parentName:"ol"},"Wait for it to build, and then open your browser to ",Object(o.b)("inlineCode",{parentName:"li"},"http://localhost:9000")," and log in with\n",Object(o.b)("inlineCode",{parentName:"li"},"admin"),"/",Object(o.b)("inlineCode",{parentName:"li"},"admin"),". You're off to the races! (Note: we'll be restarting this later)")),Object(o.b)("h3",{id:"install-superset-ui"},"Install Superset-UI"),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},"Clone ",Object(o.b)("a",{href:"https://github.com/apache-superset/superset-ui",parentName:"li"},"the ",Object(o.b)("inlineCode",{parentName:"a"},"superset-ui")," repository")," to your\ncomputer. It can sit in the same parent directory as your ",Object(o.b)("inlineCode",{parentName:"li"},"incubator-superset")," repo"),Object(o.b)("li",{parentName:"ol"},"Use your terminal to ",Object(o.b)("inlineCode",{parentName:"li"},"cd")," into ",Object(o.b)("inlineCode",{parentName:"li"},"superset-ui")),Object(o.b)("li",{parentName:"ol"},"Run ",Object(o.b)("inlineCode",{parentName:"li"},"yarn install")," and wait for all the packages to get installed")),Object(o.b)("h2",{id:"build-your-hello-world"},'Build Your "Hello, World"'),Object(o.b)("h3",{id:"write-generate-some-code"},Object(o.b)("del",{parentName:"h3"},"Write")," ",Object(o.b)("em",{parentName:"h3"},"generate")," some code!"),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},"Using your terminal, ",Object(o.b)("inlineCode",{parentName:"li"},"cd")," into your local ",Object(o.b)("inlineCode",{parentName:"li"},"superset-ui")," repo folder and then into the ",Object(o.b)("inlineCode",{parentName:"li"},"plugins"),"\nsubdirectory."),Object(o.b)("li",{parentName:"ol"},"Make a new directory for your plugin, i.e. ",Object(o.b)("inlineCode",{parentName:"li"},"mkdir plugin-chart-hello-world"),". ",Object(o.b)("strong",{parentName:"li"},"Note:")," we\n",Object(o.b)("em",{parentName:"li"},"highly")," recommend following the ",Object(o.b)("inlineCode",{parentName:"li"},"plugin-chart-your-plugin-name")," pattern."),Object(o.b)("li",{parentName:"ol"},"Now ",Object(o.b)("inlineCode",{parentName:"li"},"cd plugin-chart-hello-world")),Object(o.b)("li",{parentName:"ol"},"Finally, run ",Object(o.b)("inlineCode",{parentName:"li"},"yo @superset-ui/superset")),Object(o.b)("li",{parentName:"ol"},"Select ",Object(o.b)("inlineCode",{parentName:"li"},"Create superset-ui chart plugin package")," on the following screen:")),Object(o.b)("p",null,Object(o.b)("img",{src:"/images/plugin-1-yeoman-select.png"})," "),Object(o.b)("ol",{start:6},Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Give it a name (in our case, go with the default, based on the folder name):"),Object(o.b)("img",{src:"/images/plugin-2-yeoman-package-name.png"})),Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Give it a description (again, default is fine!)"),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-3-yeoman-description.png"})," ")),Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Choose which type of React component you want to make (Class, or Function component)."),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-4-yeoman-component-type.png"})," ")),Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Select whether you'd like your visualization to be timeseries-based or not"),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-5-yeoman-timeseries.png"})," ")),Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Select whether or not you want to include badges at the top of your README file (really only\nneeded if you intend to contribute your plugin to the ",Object(o.b)("inlineCode",{parentName:"p"},"superset-ui")," repo)."),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-6-yeoman-badges.png"})," ")),Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Admire all the files the generator has created for you. Note that EACH of these is chock full of\ncomments about what they're for, and how best to use them."),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-7-yeoman-files.png"})," "))),Object(o.b)("h3",{id:"add-your-plugin-to-superset-with-npm-link"},"Add your Plugin to Superset (with NPM Link)"),Object(o.b)("p",null,"Now, we want to see this thing actually RUN! To do that, we'll add your package to Superset and\nembrace the magic power of ",Object(o.b)("inlineCode",{parentName:"p"},"npm link")," to see it in-situ, without needing to ",Object(o.b)("strong",{parentName:"p"},"build")," the plugin, or\nopen any PRs on Github."),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Add your package to the ",Object(o.b)("inlineCode",{parentName:"p"},"package.json")," file in ",Object(o.b)("inlineCode",{parentName:"p"},"incubator-superset/superset-frontend"),"."),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-8-package-json.png"})," "))),Object(o.b)("p",null,"Note: Do ",Object(o.b)("em",{parentName:"p"},"not")," run ",Object(o.b)("inlineCode",{parentName:"p"},"npm install"),"... explanation below."),Object(o.b)("ol",{start:2},Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Add your plugin to the ",Object(o.b)("inlineCode",{parentName:"p"},"MainPreset.js")," file (located in\n",Object(o.b)("inlineCode",{parentName:"p"},"incubator-superset/superset-frontend/src/visualizations/presets/MainPreset.js"),") in two places,\nalongside the other plugins."),Object(o.b)("p",{parentName:"li"},Object(o.b)("img",{src:"/images/plugin-9-mainpreset-import.png"})," ")," ",Object(o.b)("img",{src:"/images/plugin-9-mainpreset-register.png"})),Object(o.b)("li",{parentName:"ol"},Object(o.b)("p",{parentName:"li"},"Open a terminal window to ",Object(o.b)("inlineCode",{parentName:"p"},"incubator-superset/superset-frontend"),". If you did the Install Superset\nsteps above, you may still have webpack running there, and you can just stop it with ",Object(o.b)("inlineCode",{parentName:"p"},"ctrol-c"),".\nIf not, just open a new window and or ",Object(o.b)("inlineCode",{parentName:"p"},"cd")," to that directory path."))),Object(o.b)("p",null,"4) Use ",Object(o.b)("inlineCode",{parentName:"p"},"npm link")," to symlink plugin, using a relative path to ",Object(o.b)("inlineCode",{parentName:"p"},"superset-ui")," and your plugin folder,\ne.g. ",Object(o.b)("inlineCode",{parentName:"p"},"npm link ../../superset-ui/plugins/plugin-chart-hello-world"),"."),Object(o.b)("ol",{start:5},Object(o.b)("li",{parentName:"ol"},"Restart your webpack dev server with ",Object(o.b)("inlineCode",{parentName:"li"},"npm run dev-server"),". You'll know it worked if you see a\nline stating\n",Object(o.b)("inlineCode",{parentName:"li"},"[Superset Plugin] Use symlink source for @superset-ui/plugin-chart-hello-world @ ^0.0.0"),".")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"NOTE:")," If/when you do an ",Object(o.b)("inlineCode",{parentName:"p"},"npm install")," that erases the symlink generated by ",Object(o.b)("inlineCode",{parentName:"p"},"npm link"),", so you'll\nhave to redo those steps."),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"NOTE:")," Dynamic import is a work in progress. We hope you won't even need to DO this soon. We'll\nbe blogging again when that day comes, we assure you. In short, we have a goal to make editing\n",Object(o.b)("inlineCode",{parentName:"p"},"package.json")," and ",Object(o.b)("inlineCode",{parentName:"p"},"MainPreset.js")," unnecessary, so all the code changes are made in ONE repo."),Object(o.b)("h3",{id:"see-it-with-your-own-eyes"},"See it with your own eyes!"),Object(o.b)("p",null,"You should now be able to go to the Explore view in your local Superset and add a new chart! You'll\nsee your new plugin when you go to select your viz type."),Object(o.b)("p",null,Object(o.b)("img",{src:"/images/plugin-10-hello-thumbnail.png"})," "),Object(o.b)("p",null,"Now you can load up some data, and you'll see it appear in the plugin!"),Object(o.b)("p",null,Object(o.b)("img",{src:"/images/plugin-11-explore-view.png"})," "),Object(o.b)("p",null,"The plugin also outputs three things to your browser's console:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("inlineCode",{parentName:"li"},"formData"),", a.k.a. everything sent into your viz from the controls"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("inlineCode",{parentName:"li"},"props"),", as output from the ",Object(o.b)("inlineCode",{parentName:"li"},"transformProps")," file for your plugin's consumption"),Object(o.b)("li",{parentName:"ul"},"The actual HTML element, which your plugin has hooks into for any necessary DOM maniupluation")),Object(o.b)("p",null,Object(o.b)("img",{src:"/images/plugin-12-console-logs.png"})," "),Object(o.b)("h2",{id:"make-it-your-own"},"Make it Your Own"),Object(o.b)("p",null,"Now you're free to run wild with your new plugin! Here are a few places to start digging in:"),Object(o.b)("h3",{id:"read-the-comments-and-docs"},"Read the comments and docs"),Object(o.b)("p",null,"Take a look through the full file tree of the plugin. The Readme gives details for the job of each\nfile. EACH of these files has been annotated with extensive comments of what the file is for, and\nthe basics of what you can do with it."),Object(o.b)("h3",{id:"take-control"},"Take control!"),Object(o.b)("p",null,"The plugin includes a couple of example controls, but you can certainly continue to add as many as\nyou need to. The comments/documentation within the controls file is a start, but we recommend\nlooking at existing ",Object(o.b)("inlineCode",{parentName:"p"},"superset-ui")," plugins for more examples of how you can implement controls to\nenhance your queries, work with your data, and change your visualization's display."),Object(o.b)("h3",{id:"build-the-perfect-query"},"Build the perfect query"),Object(o.b)("p",null,"The ",Object(o.b)("inlineCode",{parentName:"p"},"buildQuery"),' file where your plugin actually fetches data from the Superset backend. This file\nbuilds he query "context" for your plugin. For a simple plugin, this file needn\'t do much. There are\na couple changes that need to be made for a timeseries plugin, thus the option in the Yeoman\ngenerator.'),Object(o.b)("p",null,"This file also allows you to add various post-processing operations, to have the Superset backend\nprocess your data in various ways (pivoting, etc), but that's a whole other topic we'll cover\nseparately in the near future."),Object(o.b)("h3",{id:"style-with-emotion"},"Style with Emotion"),Object(o.b)("p",null,"Each of these methods lets you add custom CSS styles using Emotion 👩‍🎤(a CSS-in-JS approach) which\nhas access to Superset's burgeoning set of theme variables, and also automatically scopes the styles\nto your plugin, so they don't \"leak\" to other areas of Superset."),Object(o.b)("p",null,"In the Hello World plugin, we've included a few example Theme variables (",Object(o.b)("inlineCode",{parentName:"p"},"colors"),", ",Object(o.b)("inlineCode",{parentName:"p"},"gridUnit"),"s, and\ntypographic weights/sizes). We'll be continuing to add more variables to this theme file as we\ncontinue to push Superset (and the viz plugins) toward the standards of the Superset redesign (see\n",Object(o.b)("a",{href:"https://github.com/apache/incubator-superset/issues/8976",parentName:"p"},"SIP-34"),")"),Object(o.b)("h3",{id:"give-it-a-thumbnail"},"Give it a thumbnail"),Object(o.b)("p",null,"Because come on... that's the fun part, right?"),Object(o.b)("h3",{id:"build-it"},"Build it!"),Object(o.b)("p",null,"In this tutorial, you built your plugin in the ",Object(o.b)("inlineCode",{parentName:"p"},"superset-ui")," repo. This means you can use the\nbuilt-in build scripts that the repo provides. With your terminal of choice, simply ",Object(o.b)("inlineCode",{parentName:"p"},"cd")," into the\nroot directory of ",Object(o.b)("inlineCode",{parentName:"p"},"supeset-ui")," and run ",Object(o.b)("inlineCode",{parentName:"p"},"yarn build"),". This will kick off a build of ALL the Superset\nplugins and packages, including yours."),Object(o.b)("h3",{id:"test-early-test-often"},"Test early, test often!"),Object(o.b)("p",null,"The Hello World plugin includes some basic Jest tests to act as a starting point to add unit tests\nto your plugin. These do a quick sanity check that the plugin actually loads correctly, and then run\nthrough the basics of making sure that your controls are properly respected by modifying the\nresulting data and/or props of the plugin. Running ",Object(o.b)("inlineCode",{parentName:"p"},"yarn test")," from the root directory of\n",Object(o.b)("inlineCode",{parentName:"p"},"superset-ui")," will run all the tests for plugins/packages, including your Hello World."))}void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/installation/building-viz-plugins.mdx"}}),s.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-installation-building-viz-plugins-mdx-2a4ca6f3abae27b81748.js.map