{"version":3,"sources":["webpack:///./src/pages/docs/installation/email_reports.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,+NAE5B,IAKMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAC5E,iBAAQ,CACN,GAAM,mCADR,mCAGA,iBAAQ,CACN,GAAM,iBADR,iBAGA,iFACA,sBAEE,iBAAQ,CACN,WAAc,MADhB,4DAKA,iBAAQ,CACN,WAAc,MADhB,gDAKF,qDACE,yBAAgB,CACd,WAAc,KADhB,sBADF,UAKA,uBAAK,mBAAU,CACX,UAAa,kBACb,WAAc,OAFb,4CAKL,wHACA,sBAEE,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,8BAKH,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,oCAKL,iDACE,gBAAO,CACL,KAAQ,wBACR,WAAc,KAFhB,kBADF,mLAQA,0LAEE,yBAAgB,CACd,WAAc,KADhB,iCAFF,SAOE,yBAAgB,CACd,WAAc,KADhB,uBAPF,KAWA,mFACE,yBAAgB,CACd,WAAc,KADhB,sBADF,wBAKA,uBAAK,mBAAU,CACX,UAAa,kBACb,WAAc,OAFb,mQAaL,4GACA,sBAEE,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,yCACR,WAAc,MAFf,eAFH,gBASA,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,oCACR,WAAc,MAFf,gBAFH,gBASF,kDACE,yBAAgB,CACd,WAAc,KADhB,2BADF,qSAQA,uBAAK,mBAAU,CACX,UAAa,kBACb,WAAc,OAFb,2EAKL,qBAAG,qBAAY,CACX,WAAc,KADf,oBAGH,sBAEE,iBAAQ,CACN,WAAc,MADhB,2DAGE,yBAAgB,CACd,WAAc,MADhB,QAHF,uFAUA,iBAAQ,CACN,WAAc,MADhB,+GAIE,yBAAgB,CACd,WAAc,MADhB,+DAKF,iBAAQ,CACN,WAAc,MADhB,qDAGE,yBAAgB,CACd,WAAc,MADhB,WAHF,QAOE,yBAAgB,CACd,WAAc,MADhB,iBAPF,uCAYE,yBAAgB,CACd,WAAc,MADhB,SAZF,aAgBE,yBAAgB,CACd,WAAc,MADhB,sBAhBF,KAsBA,iBAAQ,CACN,WAAc,MADhB,UAGE,yBAAgB,CACd,WAAc,MADhB,qBAHF,iGAQE,yBAAgB,CACd,WAAc,MADhB,wBARF,MAcF,iBAAQ,CACN,GAAM,oBADR,oBAGA,wNAGE,gBAAO,CACL,KAAQ,8BACR,WAAc,KAFhB,kBAHF,MAQA,kGACA,uBAAK,mBAAU,CACX,UAAa,kBACb,WAAc,OAFb,svGAoFL,uDAEE,gBAAO,CACL,KAAQ,4DACR,WAAc,KAFhB,yBAFF,wLASA,iFACE,yBAAgB,CACd,WAAc,KADhB,+BADF,gDAME,yBAAgB,CACd,WAAc,KADhB,qBANF,6I,6NAeJH,EAAWI,gBAAiB","file":"component---src-pages-docs-installation-email-reports-mdx-6babb6ae3aebc529adaa.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"scheduling-and-emailing-reports\"\n    }}>{`Scheduling and Emailing Reports`}</h2>\n    <h3 {...{\n      \"id\": \"email-reports\"\n    }}>{`Email Reports`}</h3>\n    <p>{`Email reports allow users to schedule email reports for:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`chart and dashboard visualization (attachment or inline)`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`chart data (CSV attachment on inline table)`}</li>\n\n    </ul>\n    <p>{`Enable email reports in your `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset_config.py`}</inlineCode>\n      {` file:`}</p>\n    <pre><code {...{\n        \"className\": \"language-python\",\n        \"parentName\": \"pre\"\n      }}>{`ENABLE_SCHEDULED_EMAIL_REPORTS = True\n`}</code></pre>\n    <p>{`Now you will find two new items in the navigation bar that allow you to schedule email reports:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`Manage > Dashboard Emails`}</strong></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`Manage > Chart Email Schedules`}</strong></li>\n\n    </ul>\n    <p>{`Schedules are defined in `}\n      <a {...{\n        \"href\": \"https://crontab.guru/\",\n        \"parentName\": \"p\"\n      }}>{`crontab format`}</a>\n      {` and each schedule can have a list\nof recipients (all of them can receive a single mail, or separate mails). For audit purposes, all\noutgoing mails can have a mandatory BCC.`}</p>\n    <p>{`In order get picked up you need to configure a celery worker and a celery beat (see section above\n“Celery Tasks”). Your celery configuration also needs an entry `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`email_reports.schedule_hourly`}</inlineCode>\n      {` for\n`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`CELERYBEAT_SCHEDULE`}</inlineCode>\n      {`.`}</p>\n    <p>{`To send emails you need to configure SMTP settings in your `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset_config.py`}</inlineCode>\n      {` configuration file.`}</p>\n    <pre><code {...{\n        \"className\": \"language-python\",\n        \"parentName\": \"pre\"\n      }}>{`EMAIL_NOTIFICATIONS = True\n\nSMTP_HOST = \"email-smtp.eu-west-1.amazonaws.com\"\nSMTP_STARTTLS = True\nSMTP_SSL = False\nSMTP_USER = \"smtp_username\"\nSMTP_PORT = 25\nSMTP_PASSWORD = os.environ.get(\"SMTP_PASSWORD\")\nSMTP_MAIL_FROM = \"insights@komoot.com\"\n`}</code></pre>\n    <p>{`To render dashboards you need to install a local browser on your Superset instance:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://github.com/mozilla/geckodriver\",\n          \"parentName\": \"li\"\n        }}>{`geckodriver`}</a>\n        {` for Firefox`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"http://chromedriver.chromium.org/\",\n          \"parentName\": \"li\"\n        }}>{`chromedriver`}</a>\n        {` for Chrome`}</li>\n\n    </ul>\n    <p>{`You'll need to adjust the `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`EMAIL_REPORTS_WEBDRIVER`}</inlineCode>\n      {` accordingly in your configuration. You also need\nto specify on behalf of which username to render the dashboards. In general dashboards and charts\nare not accessible to unauthorized requests, that is why the worker needs to take over credentials\nof an existing user to take a snapshot.`}</p>\n    <pre><code {...{\n        \"className\": \"language-python\",\n        \"parentName\": \"pre\"\n      }}>{`EMAIL_REPORTS_USER = 'username_with_permission_to_access_dashboards'\n`}</code></pre>\n    <p><strong {...{\n        \"parentName\": \"p\"\n      }}>{`Important notes`}</strong></p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Be mindful of the concurrency setting for celery (using `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`-c 4`}</inlineCode>\n        {`). Selenium/webdriver instances can\nconsume a lot of CPU / memory on your servers.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`In some cases, if you notice a lot of leaked geckodriver processes, try running your celery\nprocesses with `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`celery worker --pool=prefork --max-tasks-per-child=128 ...`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`It is recommended to run separate workers for the `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`sql_lab`}</inlineCode>\n        {` and `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`email_reports`}</inlineCode>\n        {` tasks. This can be\ndone using the `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`queue`}</inlineCode>\n        {` field in `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`CELERY_ANNOTATIONS`}</inlineCode>\n        {`.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Adjust `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`WEBDRIVER_BASEURL`}</inlineCode>\n        {` in your configuration file if celery workers can’t access Superset via\nits default value of `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`http://0.0.0.0:8080/`}</inlineCode>\n        {`.`}</li>\n\n    </ul>\n    <h3 {...{\n      \"id\": \"schedule-reports\"\n    }}>{`Schedule Reports`}</h3>\n    <p>{`You can optionally allow your users to schedule queries directly in SQL Lab. This is done by addding\nextra metadata to saved queries, which are then picked up by an external scheduled (like\n`}\n      <a {...{\n        \"href\": \"https://airflow.apache.org/\",\n        \"parentName\": \"p\"\n      }}>{`Apache Airflow`}</a>\n      {`).`}</p>\n    <p>{`To allow scheduled queries, add the following to your configuration file:`}</p>\n    <pre><code {...{\n        \"className\": \"language-python\",\n        \"parentName\": \"pre\"\n      }}>{`FEATURE_FLAGS = {\n    # Configuration for scheduling queries from SQL Lab. This information is\n    # collected when the user clicks \"Schedule query\", and saved into the \\`extra\\`\n    # field of saved queries.\n    # See: https://github.com/mozilla-services/react-jsonschema-form\n    'SCHEDULED_QUERIES': {\n        'JSONSCHEMA': {\n            'title': 'Schedule',\n            'description': (\n                'In order to schedule a query, you need to specify when it '\n                'should start running, when it should stop running, and how '\n                'often it should run. You can also optionally specify '\n                'dependencies that should be met before the query is '\n                'executed. Please read the documentation for best practices '\n                'and more information on how to specify dependencies.'\n            ),\n            'type': 'object',\n            'properties': {\n                'output_table': {\n                    'type': 'string',\n                    'title': 'Output table name',\n                },\n                'start_date': {\n                    'type': 'string',\n                    'title': 'Start date',\n                    # date-time is parsed using the chrono library, see\n                    # https://www.npmjs.com/package/chrono-node#usage\n                    'format': 'date-time',\n                    'default': 'tomorrow at 9am',\n                },\n                'end_date': {\n                    'type': 'string',\n                    'title': 'End date',\n                    # date-time is parsed using the chrono library, see\n                    # https://www.npmjs.com/package/chrono-node#usage\n                    'format': 'date-time',\n                    'default': '9am in 30 days',\n                },\n                'schedule_interval': {\n                    'type': 'string',\n                    'title': 'Schedule interval',\n                },\n                'dependencies': {\n                    'type': 'array',\n                    'title': 'Dependencies',\n                    'items': {\n                        'type': 'string',\n                    },\n                },\n            },\n        },\n        'UISCHEMA': {\n            'schedule_interval': {\n                'ui:placeholder': '@daily, @weekly, etc.',\n            },\n            'dependencies': {\n                'ui:help': (\n                    'Check the documentation for the correct format when '\n                    'defining dependencies.'\n                ),\n            },\n        },\n        'VALIDATION': [\n            # ensure that start_date <= end_date\n            {\n                'name': 'less_equal',\n                'arguments': ['start_date', 'end_date'],\n                'message': 'End date cannot be before start date',\n                # this is where the error message is shown\n                'container': 'end_date',\n            },\n        ],\n        # link to the scheduler; this example links to an Airflow pipeline\n        # that uses the query id and the output table as its name\n        'linkback': (\n            'https://airflow.example.com/admin/airflow/tree?'\n            'dag_id=query_\\${id}_\\${extra_json.schedule_info.output_table}'\n        ),\n    },\n}\n`}</code></pre>\n    <p>{`This feature flag is based on\n`}\n      <a {...{\n        \"href\": \"https://github.com/mozilla-services/react-jsonschema-form\",\n        \"parentName\": \"p\"\n      }}>{`react-jsonschema-form`}</a>\n      {` and will add a\nbutton called “Schedule Query” to SQL Lab. When the button is clicked, a modal will show up where\nthe user can add the metadata required for scheduling the query.`}</p>\n    <p>{`This information can then be retrieved from the endpoint `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`/savedqueryviewapi/api/read`}</inlineCode>\n      {` and used to\nschedule the queries that have `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`scheduled_queries`}</inlineCode>\n      {` in their JSON metadata. For schedulers other than\nAirflow, additional fields can be easily added to the configuration file above.`}</p>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}