From b6df69302db7a347df81832e48065f4638db517f Mon Sep 17 00:00:00 2001 From: Maxim Sukharev Date: Wed, 17 Jul 2019 13:07:01 +0200 Subject: [PATCH] Update dashboards Fix #211: Relative URLs in welcome dashboard markdown Fix #174: Welcome Dashboard Title styling on markdown files Fix #162: Charts disalignment in Collaboration dashboard Signed-off-by: Maxim Sukharev --- srcd/dashboards/gitbase/welcome.json | 40 +- srcd/dashboards/metadata/collaboration.json | 622 ++++++++++---------- srcd/dashboards/metadata/welcome.json | 106 ++-- 3 files changed, 379 insertions(+), 389 deletions(-) diff --git a/srcd/dashboards/gitbase/welcome.json b/srcd/dashboards/gitbase/welcome.json index 916d4106..9c1d43ed 100644 --- a/srcd/dashboards/gitbase/welcome.json +++ b/srcd/dashboards/gitbase/welcome.json @@ -1,25 +1,15 @@ -{ - "dashboards": [ - { - "__Dashboard__": { - "position_json": "{\"DASHBOARD_VERSION_KEY\": \"v2\", \"GRID_ID\": {\"children\": [\"ROW-he3mkLfLAE\"], \"id\": \"GRID_ID\", \"parents\": [\"ROOT_ID\"], \"type\": \"GRID\"}, \"HEADER_ID\": {\"id\": \"HEADER_ID\", \"meta\": {\"text\": \"Welcome\"}, \"type\": \"HEADER\"}, \"MARKDOWN-ENl8jvIbic\": {\"children\": [], \"id\": \"MARKDOWN-ENl8jvIbic\", \"meta\": {\"code\": \"\\n\\n# source{d} Community Edition\\n\\n**Welcome to source{d} Community Edition (CE), the data platform for your software development life cycle (SDLC).**\\n\\nsource{d} CE enables quick discovery, retrieval, parsing, querying and visualization of source code and other SDLC data.\\n\\nsource{d} CE is powered by a powerful SQL interface for Git, and language-agnostic semantic concepts via Universal ASTs;\\nsource{d} CE also brings in GitHub metadata such as pull requests, issues, comments, users, as well as allows you to import your own data tables.\\n\\nBuilt-in source{d} dashboards abstract away the complexity of analyzing SDLC data history at scale and automatically suggest metrics to look at while giving you the freedom to build your own.\\n\\n## Quick-start guide\\n\\n### Before you get started\\n\\nYou can come back to this Welcome dashboard at any point for references and information:\\nvia browser navigation, [URL](http://127.0.0.1:8088/superset/dashboard/welcome-local/) or in the [list of dashboards](http://127.0.0.1:8088/dashboard/list/).\\n\\nYou can refer to the [source{d} CE full documentation](https://docs.sourced.tech/community-edition/) for more in-depth content.\\n\\n### Load your local dataset\\n\\n- **You have loaded local source code repository data:** all data is available for analysis & display as soon as the web interface is open.\\n\\n_Note: You may also [initialize source{d} CE in the orgs mode](https://docs.sourced.tech/community-edition/quickstart/3-init-sourced) to fetch Github organizations' code & metadata._\\n\\n### Visualize your data on dashboards\\n\\n- **[Explore source code-related use cases & metrics](http://127.0.0.1:8088/superset/dashboard/1/)**\\n\\n_Note: You may also create your own metrics, charts & dashboards._\\n\\n_Note: Very large datasets may eventually cause timeouts loading charts. If this happens, refresh a few at a time._\\n\\n### Explore your data, create queries, charts & dashboards\\n\\n- [Create metrics, query code and metadata](http://127.0.0.1:8088/superset/sqllab)\\n- [List and create charts](http://127.0.0.1:8088/chart/list/)\\n- [List and create dashboards](http://127.0.0.1:8088/dashboard/list/)\\n- [Explore Universal ASTs](http://127.0.0.1:8088/bblfsh/explore/)\\n\\n_Note: You may also use the \\\"New\\\" button on the top right of the interface._\\n\\n### Check examples for inspiration on new use cases and metrics\\n\\n- [SQL query examples](https://docs.sourced.tech/community-edition/usage/examples)\\n- [Universal AST query examples](https://docs.sourced.tech/babelfish/using-babelfish/uast-querying)\\n\\n### Read the documentation for detailed information\\n\\n- [Introduction: overview & index](https://docs.sourced.tech/community-edition/)\\n- [Quick-start: dependencies, installation, initialization & exploration of datasets](https://docs.sourced.tech/community-edition/quickstart)\\n- [Usage: query examples, working with multiple datasets, CLI commands, Universal ASTs](https://docs.sourced.tech/community-edition/usage)\\n\\n### Join the community, share use cases, ask questions, report issues\\n\\n- [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n- [Community Forum](https://forum.sourced.tech)\\n- [Slack Community](http://bit.ly/src-d-community)\\n- [GitHub](https://github.com/src-d/)\\n\\n## Further references\\n\\nIn the following places you can find further information:\\n\\n- [source{d} website](https://www.sourced.tech/)\\n - [source{d} Community Edition](https://sourced.tech/products/community-edition)\\n - [source{d} Enterprise Edition](https://sourced.tech/products/enterprise-edition)\\n - [Company](https://sourced.tech/company)\\n - [Blog](https://blog.sourced.tech/)\\n- [Documentation](https://docs.sourced.tech/)\\n - [Babelfish/UASTs](https://docs.sourced.tech/babelfish/)\\n - [Apache Superset (external)](https://superset.incubator.apache.org/)\\n- [Open Source](https://github.com/src-d/)\\n - [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n - [Machine Learning on Code](https://github.com/src-d/awesome-machine-learning-on-source-code)\\n - [Datasets](https://github.com/src-d/datasets)\\n - [gitbase](https://github.com/src-d/gitbase)\\n- [Community](https://sourced.tech/community)\\n - [Newsletter](https://go.sourced.tech/newsletter)\\n - [Slack Community](http://bit.ly/src-d-community)\\n - [Forum](https://forum.sourced.tech)\\n - [Twitter](https://twitter.com/sourcedtech)\\n - [YouTube](https://www.youtube.com/sourced/)\\n - [Email](mailto:hello@sourced.tech)\", \"height\": 325, \"width\": 12}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-he3mkLfLAE\"], \"type\": \"MARKDOWN\"}, \"ROOT_ID\": {\"children\": [\"GRID_ID\"], \"id\": \"ROOT_ID\", \"type\": \"ROOT\"}, \"ROW-he3mkLfLAE\": {\"children\": [\"MARKDOWN-ENl8jvIbic\"], \"id\": \"ROW-he3mkLfLAE\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}}", - "id": 2, - "created_on": { - "__datetime__": "2019-07-02T13:41:08" - }, - "created_by_fk": null, - "json_metadata": "{\"filter_immune_slices\": [], \"timed_refresh_immune_slices\": [], \"filter_immune_slice_fields\": {}, \"expanded_slices\": {}, \"refresh_frequency\": 0, \"default_filters\": \"{}\", \"remote_id\": \"09820f6c-aa18-4697-8a99-575142e86d95\"}", - "description": null, - "dashboard_title": "Welcome", - "changed_on": { - "__datetime__": "2019-07-02T13:52:43" - }, - "changed_by_fk": null, - "slug": "welcome-local", - "css": "", - "slices": [] - } - } - ], - "datasources": [] -} +{ + "dashboards": [ + { + "__Dashboard__": { + "css": "", + "dashboard_title": "Welcome", + "description": null, + "json_metadata": "{\"filter_immune_slices\": [], \"timed_refresh_immune_slices\": [], \"filter_immune_slice_fields\": {}, \"expanded_slices\": {}, \"refresh_frequency\": 0, \"default_filters\": \"{}\", \"remote_id\": \"09820f6c-aa18-4697-8a99-575142e86d95\"}", + "position_json": "{\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-he3mkLfLAE\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Welcome\"},\"type\":\"HEADER\"},\"MARKDOWN-ENl8jvIbic\":{\"children\":[],\"id\":\"MARKDOWN-ENl8jvIbic\",\"meta\":{\"code\":\"\\n\\n# source{d} Community Edition\\n\\n**Welcome to source{d} Community Edition (CE), the data platform for your software development life cycle (SDLC).**\\n\\nsource{d} CE enables quick discovery, retrieval, parsing, querying and visualization of source code and other SDLC data.\\n\\nsource{d} CE is powered by a powerful SQL interface for Git, and language-agnostic semantic concepts via Universal ASTs;\\nsource{d} CE also brings in GitHub metadata such as pull requests, issues, comments, users, as well as allows you to import your own data tables.\\n\\nBuilt-in source{d} dashboards abstract away the complexity of analyzing SDLC data history at scale and automatically suggest metrics to look at while giving you the freedom to build your own.\\n\\n## Quick-start guide\\n\\n### Before you get started\\n\\nYou can come back to this Welcome dashboard at any point for references and information:\\nvia browser navigation, [URL](/superset/dashboard/welcome-local/) or in the [list of dashboards](/dashboard/list/).\\n\\nYou can refer to the [source{d} CE full documentation](https://docs.sourced.tech/community-edition/) for more in-depth content.\\n\\n### Load your local dataset\\n\\n- **You have loaded local source code repository data:** all data is available for analysis & display as soon as the web interface is open.\\n\\n_Note: You may also [initialize source{d} CE in the orgs mode](https://docs.sourced.tech/community-edition/quickstart/3-init-sourced) to fetch Github organizations' code & metadata._\\n\\n### Visualize your data on dashboards\\n\\n- **[Explore source code-related use cases & metrics](/superset/dashboard/1/)**\\n\\n_Note: You may also create your own metrics, charts & dashboards._\\n\\n_Note: Very large datasets may eventually cause timeouts loading charts. If this happens, refresh a few at a time._\\n\\n### Explore your data, create queries, charts & dashboards\\n\\n- [Create metrics, query code and metadata](/superset/sqllab)\\n- [List and create charts](/chart/list/)\\n- [List and create dashboards](/dashboard/list/)\\n- [Explore Universal ASTs](/bblfsh/explore/)\\n\\n_Note: You may also use the \\\"New\\\" button on the top right of the interface._\\n\\n### Check examples for inspiration on new use cases and metrics\\n\\n- [SQL query examples](https://docs.sourced.tech/community-edition/usage/examples)\\n- [Universal AST query examples](https://docs.sourced.tech/babelfish/using-babelfish/uast-querying)\\n\\n### Read the documentation for detailed information\\n\\n- [Introduction: overview & index](https://docs.sourced.tech/community-edition/)\\n- [Quick-start: dependencies, installation, initialization & exploration of datasets](https://docs.sourced.tech/community-edition/quickstart)\\n- [Usage: query examples, working with multiple datasets, CLI commands, Universal ASTs](https://docs.sourced.tech/community-edition/usage)\\n\\n### Join the community, share use cases, ask questions, report issues\\n\\n- [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n- [Community Forum](https://forum.sourced.tech)\\n- [Slack Community](http://bit.ly/src-d-community)\\n- [GitHub](https://github.com/src-d/)\\n\\n## Further references\\n\\nIn the following places you can find further information:\\n\\n- [source{d} website](https://www.sourced.tech/)\\n - [source{d} Community Edition](https://sourced.tech/products/community-edition)\\n - [source{d} Enterprise Edition](https://sourced.tech/products/enterprise-edition)\\n - [Company](https://sourced.tech/company)\\n - [Blog](https://blog.sourced.tech/)\\n- [Documentation](https://docs.sourced.tech/)\\n - [Babelfish/UASTs](https://docs.sourced.tech/babelfish/)\\n - [Apache Superset (external)](https://superset.incubator.apache.org/)\\n- [Open Source](https://github.com/src-d/)\\n - [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n - [Machine Learning on Code](https://github.com/src-d/awesome-machine-learning-on-source-code)\\n - [Datasets](https://github.com/src-d/datasets)\\n - [gitbase](https://github.com/src-d/gitbase)\\n- [Community](https://sourced.tech/community)\\n - [Newsletter](https://go.sourced.tech/newsletter)\\n - [Slack Community](http://bit.ly/src-d-community)\\n - [Forum](https://forum.sourced.tech)\\n - [Twitter](https://twitter.com/sourcedtech)\\n - [YouTube](https://www.youtube.com/sourced/)\\n - [Email](mailto:hello@sourced.tech)\",\"height\":325,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-he3mkLfLAE\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-he3mkLfLAE\":{\"children\":[\"MARKDOWN-ENl8jvIbic\"],\"id\":\"ROW-he3mkLfLAE\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slug": "welcome-local" + } + } + ], + "datasources": [] +} \ No newline at end of file diff --git a/srcd/dashboards/metadata/collaboration.json b/srcd/dashboards/metadata/collaboration.json index 996410c4..b24a7919 100644 --- a/srcd/dashboards/metadata/collaboration.json +++ b/srcd/dashboards/metadata/collaboration.json @@ -6,7 +6,7 @@ "dashboard_title": "Collaboration", "description": null, "json_metadata": "{\"filter_immune_slices\": [], \"timed_refresh_immune_slices\": [], \"filter_immune_slice_fields\": {}, \"expanded_slices\": {}, \"refresh_frequency\": 0, \"default_filters\": \"{}\", \"remote_id\": \"89a7262e-fad6-4dd1-bc4e-9f583376e510\"}", - "position_json": "{\"CHART-3F9wGa1nVe\": {\"children\": [], \"id\": \"CHART-3F9wGa1nVe\", \"meta\": {\"chartId\": 25, \"height\": 49, \"sliceName\": \"Most Active Repositories\", \"width\": 12}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-Ixfutv2rRl\"], \"type\": \"CHART\"}, \"CHART-5FbG_o7Awy\": {\"children\": [], \"id\": \"CHART-5FbG_o7Awy\", \"meta\": {\"chartId\": 29, \"height\": 48, \"sliceName\": \"Time to Merge Change Over Time\", \"width\": 6}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-Re8r7jF5U\"], \"type\": \"CHART\"}, \"CHART-CxhPIuq8WU\": {\"children\": [], \"id\": \"CHART-CxhPIuq8WU\", \"meta\": {\"chartId\": 26, \"height\": 50, \"sliceName\": \"Breakdown by Pull Request Outcome\", \"width\": 6}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-Re8r7jF5U\"], \"type\": \"CHART\"}, \"CHART-H_hOSBOPpo\": {\"children\": [], \"id\": \"CHART-H_hOSBOPpo\", \"meta\": {\"chartId\": 30, \"height\": 81, \"sliceName\": \"Pull Requests Workflow\", \"width\": 12}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-vMR1OCiTh\"], \"type\": \"CHART\"}, \"CHART-P3ebofatqz\": {\"children\": [], \"id\": \"CHART-P3ebofatqz\", \"meta\": {\"chartId\": 24, \"height\": 45, \"sliceName\": \"# of pull requests created\", \"width\": 12}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-FTyrflnSnH\"], \"type\": \"CHART\"}, \"CHART-VN6sVVMmGQ\": {\"children\": [], \"id\": \"CHART-VN6sVVMmGQ\", \"meta\": {\"chartId\": 27, \"height\": 50, \"sliceName\": \"Avg. Time to Merge\", \"width\": 4}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-BFazKQCAx\"], \"type\": \"CHART\"}, \"CHART-oaC094q3qs\": {\"children\": [], \"id\": \"CHART-oaC094q3qs\", \"meta\": {\"chartId\": 23, \"height\": 50, \"sliceName\": \"Not Merged Pull Requests\", \"width\": 4}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-BFazKQCAx\"], \"type\": \"CHART\"}, \"CHART-v08M9Dd851\": {\"children\": [], \"id\": \"CHART-v08M9Dd851\", \"meta\": {\"chartId\": 28, \"height\": 50, \"sliceName\": \"Median Time to Merge\", \"width\": 4}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-BFazKQCAx\"], \"type\": \"CHART\"}, \"DASHBOARD_VERSION_KEY\": \"v2\", \"GRID_ID\": {\"children\": [\"ROW-BFazKQCAx\", \"ROW-Ixfutv2rRl\", \"ROW-FTyrflnSnH\", \"ROW-Re8r7jF5U\", \"ROW-vMR1OCiTh\"], \"id\": \"GRID_ID\", \"parents\": [\"ROOT_ID\"], \"type\": \"GRID\"}, \"HEADER_ID\": {\"id\": \"HEADER_ID\", \"meta\": {\"text\": \"Collaboration\"}, \"type\": \"HEADER\"}, \"ROOT_ID\": {\"children\": [\"GRID_ID\"], \"id\": \"ROOT_ID\", \"type\": \"ROOT\"}, \"ROW-BFazKQCAx\": {\"children\": [\"CHART-oaC094q3qs\", \"CHART-VN6sVVMmGQ\", \"CHART-v08M9Dd851\"], \"id\": \"ROW-BFazKQCAx\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}, \"ROW-FTyrflnSnH\": {\"children\": [\"CHART-P3ebofatqz\"], \"id\": \"ROW-FTyrflnSnH\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}, \"ROW-Ixfutv2rRl\": {\"children\": [\"CHART-3F9wGa1nVe\"], \"id\": \"ROW-Ixfutv2rRl\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}, \"ROW-Re8r7jF5U\": {\"children\": [\"CHART-5FbG_o7Awy\", \"CHART-CxhPIuq8WU\"], \"id\": \"ROW-Re8r7jF5U\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}, \"ROW-vMR1OCiTh\": {\"children\": [\"CHART-H_hOSBOPpo\"], \"id\": \"ROW-vMR1OCiTh\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}}", + "position_json": "{\"CHART-3F9wGa1nVe\":{\"children\":[],\"id\":\"CHART-3F9wGa1nVe\",\"meta\":{\"chartId\":25,\"height\":49,\"sliceName\":\"Most Active Repositories\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-Ixfutv2rRl\"],\"type\":\"CHART\"},\"CHART-5FbG_o7Awy\":{\"children\":[],\"id\":\"CHART-5FbG_o7Awy\",\"meta\":{\"chartId\":29,\"height\":50,\"sliceName\":\"Time to Merge Change Over Time\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-Re8r7jF5U\"],\"type\":\"CHART\"},\"CHART-CxhPIuq8WU\":{\"children\":[],\"id\":\"CHART-CxhPIuq8WU\",\"meta\":{\"chartId\":26,\"height\":50,\"sliceName\":\"Breakdown by Pull Request Outcome\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-Re8r7jF5U\"],\"type\":\"CHART\"},\"CHART-H_hOSBOPpo\":{\"children\":[],\"id\":\"CHART-H_hOSBOPpo\",\"meta\":{\"chartId\":30,\"height\":81,\"sliceName\":\"Pull Requests Workflow\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-vMR1OCiTh\"],\"type\":\"CHART\"},\"CHART-P3ebofatqz\":{\"children\":[],\"id\":\"CHART-P3ebofatqz\",\"meta\":{\"chartId\":24,\"height\":45,\"sliceName\":\"# of pull requests created\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-FTyrflnSnH\"],\"type\":\"CHART\"},\"CHART-VN6sVVMmGQ\":{\"children\":[],\"id\":\"CHART-VN6sVVMmGQ\",\"meta\":{\"chartId\":27,\"height\":50,\"sliceName\":\"Avg. Time to Merge\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-BFazKQCAx\"],\"type\":\"CHART\"},\"CHART-oaC094q3qs\":{\"children\":[],\"id\":\"CHART-oaC094q3qs\",\"meta\":{\"chartId\":23,\"height\":50,\"sliceName\":\"Not Merged Pull Requests\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-BFazKQCAx\"],\"type\":\"CHART\"},\"CHART-v08M9Dd851\":{\"children\":[],\"id\":\"CHART-v08M9Dd851\",\"meta\":{\"chartId\":28,\"height\":50,\"sliceName\":\"Median Time to Merge\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-BFazKQCAx\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-BFazKQCAx\",\"ROW-Ixfutv2rRl\",\"ROW-FTyrflnSnH\",\"ROW-Re8r7jF5U\",\"ROW-vMR1OCiTh\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Collaboration\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-BFazKQCAx\":{\"children\":[\"CHART-oaC094q3qs\",\"CHART-VN6sVVMmGQ\",\"CHART-v08M9Dd851\"],\"id\":\"ROW-BFazKQCAx\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-FTyrflnSnH\":{\"children\":[\"CHART-P3ebofatqz\"],\"id\":\"ROW-FTyrflnSnH\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-Ixfutv2rRl\":{\"children\":[\"CHART-3F9wGa1nVe\"],\"id\":\"ROW-Ixfutv2rRl\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-Re8r7jF5U\":{\"children\":[\"CHART-5FbG_o7Awy\",\"CHART-CxhPIuq8WU\"],\"id\":\"ROW-Re8r7jF5U\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-vMR1OCiTh\":{\"children\":[\"CHART-H_hOSBOPpo\"],\"id\":\"ROW-vMR1OCiTh\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", "slices": [ { "__Slice__": { @@ -110,48 +110,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "column_name": "id", - "created_by_fk": 1, - "created_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "database_expression": null, - "description": null, - "expression": "", - "filterable": true, - "groupby": true, - "id": 131, - "is_active": true, - "is_dttm": false, - "python_date_format": null, - "table_id": 35, - "type": "INT", - "verbose_name": null - } - }, - { - "__TableColumn__": { - "changed_by_fk": 1, - "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 132, + "id": 146, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 35, + "table_id": 39, "type": "STRING", "verbose_name": null } @@ -160,23 +135,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "created_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 133, + "id": 147, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 35, + "table_id": 39, "type": "DATETIME", "verbose_name": null } @@ -185,23 +160,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "merged_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 134, + "id": 148, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 35, + "table_id": 39, "type": "DATETIME", "verbose_name": null } @@ -210,24 +185,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "time_to_merge", + "column_name": "closed_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 135, + "id": 149, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 35, - "type": null, + "table_id": 39, + "type": "DATETIME", "verbose_name": null } } @@ -243,30 +218,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 36, + "id": 40, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 35, + "table_id": 39, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 36, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 33, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT id, CONCAT(repository_owner, '/', repository_name) AS repository, created_at, merged_at, merged_at - created_at as time_to_merge\r\nFROM pull_requests \r\nWHERE merged_at IS NOT NULL", - "table_name": "pr_time_to_merge_median-_4s5FrIrI", + "sql": "SELECT CONCAT(repository_owner, '/', repository_name) AS repository, created_at, merged_at, closed_at \nFROM pull_requests", + "table_name": "admin admin-pr_dates-4xBftRm5b", "template_params": "{}" } }, @@ -278,23 +253,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 124, + "id": 150, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 33, + "table_id": 40, "type": "STRING", "verbose_name": null } @@ -303,26 +278,101 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "resolution_type", + "column_name": "number", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 125, + "id": 151, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 33, + "table_id": 40, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "column_name": "label", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "database_expression": null, + "description": null, + "expression": "", + "filterable": true, + "groupby": true, + "id": 152, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 40, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "column_name": "event", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "database_expression": null, + "description": null, + "expression": "", + "filterable": true, + "groupby": true, + "id": 153, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 40, "type": "STRING", "verbose_name": null } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "column_name": "time", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "database_expression": null, + "description": null, + "expression": "", + "filterable": true, + "groupby": true, + "id": 154, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 40, + "type": "DATETIME", + "verbose_name": null + } } ], "database_id": 2, @@ -336,30 +386,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 34, + "id": 41, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 33, + "table_id": 40, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 34, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 38, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT CONCAT(repository_owner, '/', repository_name) AS repository,\n CASE WHEN merged_at IS NOT NULL THEN 'merged'\n WHEN closed_at IS NOT NULL THEN 'closed'\n END AS resolution_type\nFROM pull_requests\nWHERE state <> 'open'", - "table_name": "pr_resolution-c5KRWDa_V", + "sql": "SELECT\n repository,\n number,\n CONCAT(repository, '/pull/', number) AS label,\n event,\n time\n FROM (\n SELECT\n CONCAT(repository_owner, '/', repository_name) AS repository,\n number,\n created_at AS created_datetime,\n merged_at AS merged_datetime,\n CASE\n WHEN merged_at IS NOT NULL THEN NULL\n ELSE closed_at\n END AS closed_datetime,\n closed_at,\n merged_at\n FROM pull_requests) t\n JOIN LATERAL (\n VALUES('created', t.created_datetime), ('closed', t.closed_datetime), ('merged', t.merged_datetime)) s(event, time) ON TRUE", + "table_name": "pr_workflow-6tUyZn8RC", "template_params": "{}" } }, @@ -371,23 +421,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "id", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 150, + "id": 124, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 40, + "table_id": 33, "type": "INT", "verbose_name": null } @@ -396,23 +446,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 151, + "id": 125, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 40, + "table_id": 33, "type": "STRING", "verbose_name": null } @@ -421,23 +471,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "created_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 152, + "id": 126, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 40, + "table_id": 33, "type": "DATETIME", "verbose_name": null } @@ -446,23 +496,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "merged_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 153, + "id": 127, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 40, + "table_id": 33, "type": "DATETIME", "verbose_name": null } @@ -471,24 +521,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "days", + "column_name": "time_to_merge", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:29" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 154, + "id": 128, "is_active": true, - "is_dttm": false, + "is_dttm": true, "python_date_format": null, - "table_id": 40, - "type": "FLOAT", + "table_id": 33, + "type": null, "verbose_name": null } } @@ -504,30 +554,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 41, + "id": 34, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 40, + "table_id": 33, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 35, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 36, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT\r\n id,\r\n CONCAT(repository_owner, '/', repository_name) AS repository,\r\n created_at,\r\n merged_at, \r\n extract(epoch from (merged_at - created_at)) / (3600.00 *24) as days\r\nFROM pull_requests \r\nWHERE merged_at IS NOT NULL", - "table_name": "pr_time_to_merge-ejLXE2oaX", + "sql": "SELECT id, CONCAT(repository_owner, '/', repository_name) AS repository, created_at, merged_at, merged_at - created_at as time_to_merge\r\nFROM pull_requests \r\nWHERE merged_at IS NOT NULL", + "table_name": "pr_time_to_merge_median-_4s5FrIrI", "template_params": "{}" } }, @@ -539,23 +589,48 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" + }, + "column_name": "id", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "database_expression": null, + "description": null, + "expression": "", + "filterable": true, + "groupby": true, + "id": 131, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 35, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 147, + "id": 132, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 39, + "table_id": 35, "type": "STRING", "verbose_name": null } @@ -564,24 +639,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "merged", + "column_name": "created_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 148, + "id": 133, "is_active": true, - "is_dttm": false, + "is_dttm": true, "python_date_format": null, - "table_id": 39, - "type": "INT", + "table_id": 35, + "type": "DATETIME", "verbose_name": null } }, @@ -589,24 +664,49 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "closed", + "column_name": "merged_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 149, + "id": 134, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 35, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "column_name": "days", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2019-07-17T10:56:28" + }, + "database_expression": null, + "description": null, + "expression": "", + "filterable": true, + "groupby": true, + "id": 135, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 39, - "type": "INT", + "table_id": 35, + "type": "FLOAT", "verbose_name": null } } @@ -622,30 +722,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 40, + "id": 36, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 39, + "table_id": 35, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 31, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 35, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT CONCAT(repository_owner, '/', repository_name) AS repository, COUNT(merged_at) AS merged, (COUNT(closed_at) - COUNT(merged_at)) AS closed\nFROM pull_requests\nWHERE state <> 'open'\nGROUP BY repository", - "table_name": "pr_status-8jUyYteDu", + "sql": "SELECT\r\n id,\r\n CONCAT(repository_owner, '/', repository_name) AS repository,\r\n created_at,\r\n merged_at, \r\n extract(epoch from (merged_at - created_at)) / (3600.00 *24) as days\r\nFROM pull_requests \r\nWHERE merged_at IS NOT NULL", + "table_name": "pr_time_to_merge-ejLXE2oaX", "template_params": "{}" } }, @@ -657,24 +757,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "repository", + "column_name": "id", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 140, + "id": 143, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 37, - "type": "STRING", + "table_id": 38, + "type": "INT", "verbose_name": null } }, @@ -682,23 +782,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "created_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 141, + "id": 144, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 37, + "table_id": 38, "type": "DATETIME", "verbose_name": null } @@ -707,49 +807,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "merged_at", + "column_name": "to_char", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 142, + "id": 145, "is_active": true, "is_dttm": true, "python_date_format": null, - "table_id": 37, - "type": "DATETIME", - "verbose_name": null - } - }, - { - "__TableColumn__": { - "changed_by_fk": 1, - "changed_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "column_name": "days", - "created_by_fk": 1, - "created_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "database_expression": null, - "description": null, - "expression": "", - "filterable": true, - "groupby": true, - "id": 143, - "is_active": true, - "is_dttm": false, - "python_date_format": null, - "table_id": 37, - "type": "FLOAT", + "table_id": 38, + "type": "STRING", "verbose_name": null } } @@ -765,30 +840,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 38, + "id": 39, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 37, + "table_id": 38, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 37, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 32, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT\r\n CONCAT(repository_owner, '/', repository_name) AS repository,\r\n created_at,\r\n merged_at, \r\n extract(epoch from (merged_at - created_at)) / (3600.00 *24) as days\r\nFROM pull_requests \r\nWHERE merged_at IS NOT NULL", - "table_name": "admin admin-pr_by_days-XSb1QtdX4", + "sql": "SELECT id, created_at, to_char(date_trunc('month', created_at), 'YYYY-MM')\nFROM pull_requests", + "table_name": "pr_created_at-RVVRcORPF", "template_params": "{}" } }, @@ -800,49 +875,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "id", + "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 144, + "id": 129, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 38, - "type": "INT", - "verbose_name": null - } - }, - { - "__TableColumn__": { - "changed_by_fk": 1, - "changed_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "column_name": "created_at", - "created_by_fk": 1, - "created_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "database_expression": null, - "description": null, - "expression": "", - "filterable": true, - "groupby": true, - "id": 145, - "is_active": true, - "is_dttm": true, - "python_date_format": null, - "table_id": 38, - "type": "DATETIME", + "table_id": 34, + "type": "STRING", "verbose_name": null } }, @@ -850,23 +900,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "to_char", + "column_name": "resolution_type", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 146, + "id": 130, "is_active": true, - "is_dttm": true, + "is_dttm": false, "python_date_format": null, - "table_id": 38, + "table_id": 34, "type": "STRING", "verbose_name": null } @@ -883,30 +933,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 39, + "id": 35, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 38, + "table_id": 34, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 32, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 34, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT id, created_at, to_char(date_trunc('month', created_at), 'YYYY-MM')\nFROM pull_requests", - "table_name": "pr_created_at-RVVRcORPF", + "sql": "SELECT CONCAT(repository_owner, '/', repository_name) AS repository,\n CASE WHEN merged_at IS NOT NULL THEN 'merged'\n WHEN closed_at IS NOT NULL THEN 'closed'\n END AS resolution_type\nFROM pull_requests\nWHERE state <> 'open'", + "table_name": "pr_resolution-c5KRWDa_V", "template_params": "{}" } }, @@ -918,12 +968,12 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, @@ -943,12 +993,12 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "created_at", + "column_name": "merged", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, @@ -957,10 +1007,10 @@ "groupby": true, "id": 137, "is_active": true, - "is_dttm": true, + "is_dttm": false, "python_date_format": null, "table_id": 36, - "type": "DATETIME", + "type": "INT", "verbose_name": null } }, @@ -968,12 +1018,12 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "merged_at", + "column_name": "closed", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, @@ -982,35 +1032,10 @@ "groupby": true, "id": 138, "is_active": true, - "is_dttm": true, - "python_date_format": null, - "table_id": 36, - "type": "DATETIME", - "verbose_name": null - } - }, - { - "__TableColumn__": { - "changed_by_fk": 1, - "changed_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "column_name": "closed_at", - "created_by_fk": 1, - "created_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "database_expression": null, - "description": null, - "expression": "", - "filterable": true, - "groupby": true, - "id": 139, - "is_active": true, - "is_dttm": true, + "is_dttm": false, "python_date_format": null, "table_id": 36, - "type": "DATETIME", + "type": "INT", "verbose_name": null } } @@ -1026,11 +1051,11 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, @@ -1046,10 +1071,10 @@ } ], "offset": 0, - "params": "{\"remote_id\": 33, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 31, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT CONCAT(repository_owner, '/', repository_name) AS repository, created_at, merged_at, closed_at \nFROM pull_requests", - "table_name": "admin admin-pr_dates-4xBftRm5b", + "sql": "SELECT CONCAT(repository_owner, '/', repository_name) AS repository, COUNT(merged_at) AS merged, (COUNT(closed_at) - COUNT(merged_at)) AS closed\nFROM pull_requests\nWHERE state <> 'open'\nGROUP BY repository", + "table_name": "pr_status-8jUyYteDu", "template_params": "{}" } }, @@ -1061,23 +1086,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "column_name": "repository", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 126, + "id": 139, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 34, + "table_id": 37, "type": "STRING", "verbose_name": null } @@ -1086,24 +1111,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "number", + "column_name": "created_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 127, + "id": 140, "is_active": true, - "is_dttm": false, + "is_dttm": true, "python_date_format": null, - "table_id": 34, - "type": "INT", + "table_id": 37, + "type": "DATETIME", "verbose_name": null } }, @@ -1111,24 +1136,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "label", + "column_name": "merged_at", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 128, + "id": 141, "is_active": true, - "is_dttm": false, + "is_dttm": true, "python_date_format": null, - "table_id": 34, - "type": "STRING", + "table_id": 37, + "type": "DATETIME", "verbose_name": null } }, @@ -1136,49 +1161,24 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, - "column_name": "event", + "column_name": "days", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 129, + "id": 142, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 34, - "type": "STRING", - "verbose_name": null - } - }, - { - "__TableColumn__": { - "changed_by_fk": 1, - "changed_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "column_name": "time", - "created_by_fk": 1, - "created_on": { - "__datetime__": "2019-07-09T14:00:28" - }, - "database_expression": null, - "description": null, - "expression": "", - "filterable": true, - "groupby": true, - "id": 130, - "is_active": true, - "is_dttm": true, - "python_date_format": null, - "table_id": 34, - "type": "DATETIME", + "table_id": 37, + "type": "FLOAT", "verbose_name": null } } @@ -1194,30 +1194,30 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:28" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 35, + "id": 38, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 34, + "table_id": 37, "verbose_name": null, "warning_text": null } } ], "offset": 0, - "params": "{\"remote_id\": 38, \"database_name\": \"metadata\"}", + "params": "{\"remote_id\": 37, \"database_name\": \"metadata\"}", "schema": "public", - "sql": "SELECT\n repository,\n number,\n CONCAT(repository, '/pull/', number) AS label,\n event,\n time\n FROM (\n SELECT\n CONCAT(repository_owner, '/', repository_name) AS repository,\n number,\n created_at AS created_datetime,\n merged_at AS merged_datetime,\n CASE\n WHEN merged_at IS NOT NULL THEN NULL\n ELSE closed_at\n END AS closed_datetime,\n closed_at,\n merged_at\n FROM pull_requests) t\n JOIN LATERAL (\n VALUES('created', t.created_datetime), ('closed', t.closed_datetime), ('merged', t.merged_datetime)) s(event, time) ON TRUE", - "table_name": "pr_workflow-6tUyZn8RC", + "sql": "SELECT\r\n CONCAT(repository_owner, '/', repository_name) AS repository,\r\n created_at,\r\n merged_at, \r\n extract(epoch from (merged_at - created_at)) / (3600.00 *24) as days\r\nFROM pull_requests \r\nWHERE merged_at IS NOT NULL", + "table_name": "admin admin-pr_by_days-XSb1QtdX4", "template_params": "{}" } } diff --git a/srcd/dashboards/metadata/welcome.json b/srcd/dashboards/metadata/welcome.json index 66f15d94..1708e344 100644 --- a/srcd/dashboards/metadata/welcome.json +++ b/srcd/dashboards/metadata/welcome.json @@ -6,7 +6,7 @@ "dashboard_title": "Welcome", "description": null, "json_metadata": "{\"filter_immune_slices\": [], \"timed_refresh_immune_slices\": [], \"filter_immune_slice_fields\": {}, \"expanded_slices\": {}, \"refresh_frequency\": 0, \"default_filters\": \"{}\", \"remote_id\": \"87bcdb2d-64e4-473c-8524-c53443a5a64a\"}", - "position_json": "{\"CHART-Gsonj5e205\": {\"children\": [], \"id\": \"CHART-Gsonj5e205\", \"meta\": {\"chartId\": 22, \"height\": 50, \"sliceName\": \"Repository collection progress\", \"width\": 6}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-6AX2fnJiWO\"], \"type\": \"CHART\"}, \"CHART-mw3sO7UGCe\": {\"children\": [], \"id\": \"CHART-mw3sO7UGCe\", \"meta\": {\"chartId\": 21, \"height\": 50, \"sliceName\": \"Metadata collection progress\", \"width\": 6}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-6AX2fnJiWO\"], \"type\": \"CHART\"}, \"DASHBOARD_VERSION_KEY\": \"v2\", \"GRID_ID\": {\"children\": [\"ROW-bEmhe7RJW\", \"ROW-6AX2fnJiWO\"], \"id\": \"GRID_ID\", \"parents\": [\"ROOT_ID\"], \"type\": \"GRID\"}, \"HEADER_ID\": {\"id\": \"HEADER_ID\", \"meta\": {\"text\": \"Welcome\"}, \"type\": \"HEADER\"}, \"MARKDOWN-MIE5EqOv00\": {\"children\": [], \"id\": \"MARKDOWN-MIE5EqOv00\", \"meta\": {\"code\": \"\\n\\n# source{d} Community Edition\\n\\n**Welcome to source{d} Community Edition (CE), the data platform for your software development life cycle (SDLC).**\\n\\nsource{d} CE enables quick discovery, retrieval, parsing, querying and visualization of source code and other SDLC data.\\n\\nsource{d} CE is powered by a powerful SQL interface for Git, and language-agnostic semantic concepts via Universal ASTs;\\nsource{d} CE also brings in GitHub metadata such as pull requests, issues, comments, users, as well as allows you to import your own data tables.\\n\\nBuilt-in source{d} dashboards abstract away the complexity of analyzing SDLC data history at scale and automatically suggest metrics to look at while giving you the freedom to build your own.\\n\\n## Quick-start guide\\n\\n### Before you get started\\n\\nYou can come back to this Welcome dashboard at any point for references and information:\\nvia browser navigation, [URL](http://127.0.0.1:8088/superset/welcome) or in the [list of dashboards](http://127.0.0.1:8088/dashboard/list/).\\n\\nYou can refer to the [source{d} CE full documentation](https://docs.sourced.tech/community-edition/) for more in-depth content.\\n\\n### Load your dataset from organizations\\n\\n- **You fetched a Github organization repository & metadata:** depending on the size of the datasets, the network and your system, it may take some time to fetch the full data. You can check the progress at the bottom of this page: click **[\\u2026]** then _force refresh_ to update. Meanwhile, you can analyze the partial dataset available, refreshing the data from charts for the latest results.\\n\\n_Note: You may also [initialize source{d} CE in the local mode](https://docs.sourced.tech/community-edition/quickstart/3-init-sourced) to load local repository data instantaneously._\\n\\n### Visualize your data on dashboards\\n\\n- **[Explore source code-related use cases & metrics](http://127.0.0.1:8088/superset/dashboard/1/)**\\n- **[Explore Github metadata-related use cases & metrics](http://127.0.0.1:8088/superset/dashboard/3/)**\\n\\n_Note: You may also create your own metrics, charts & dashboards._\\n\\n_Note: Very large datasets may eventually cause timeouts loading charts. If this happens, refresh a few at a time._\\n\\n### Explore your data, create queries, charts & dashboards\\n\\n- [Create metrics, query code and metadata](http://127.0.0.1:8088/superset/sqllab)\\n- [List and create charts](http://127.0.0.1:8088/chart/list/)\\n- [List and create dashboards](http://127.0.0.1:8088/dashboard/list/)\\n- [Explore Universal ASTs](http://127.0.0.1:8088/bblfsh/explore/)\\n\\n_Note: You may also use the \\\"New\\\" button on the top right of the interface._\\n\\n### Check examples for inspiration on new use cases and metrics\\n\\n- [SQL query examples](https://docs.sourced.tech/community-edition/usage/examples)\\n- [Universal AST query examples](https://docs.sourced.tech/babelfish/using-babelfish/uast-querying)\\n\\n### Read the documentation for detailed information\\n\\n- [Introduction: overview & index](https://docs.sourced.tech/community-edition/)\\n- [Quick-start: dependencies, installation, initialization & exploration of datasets](https://docs.sourced.tech/community-edition/quickstart)\\n- [Usage: query examples, working with multiple datasets, CLI commands, Universal ASTs](https://docs.sourced.tech/community-edition/usage)\\n\\n### Contribute with the community, share use cases, ask questions, report issues\\n\\n- [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n- [Community Forum](https://forum.sourced.tech)\\n- [Slack Community](http://bit.ly/src-d-community)\\n- [GitHub](https://github.com/src-d/)\\n\\n## Further references\\n\\nIn the following places you can find further information:\\n\\n- [source{d} website](https://www.sourced.tech/)\\n - [source{d} Community Edition](https://sourced.tech/products/community-edition)\\n - [source{d} Enterprise Edition](https://sourced.tech/products/enterprise-edition)\\n - [Company](https://sourced.tech/company)\\n - [Blog](https://blog.sourced.tech/)\\n- [Documentation](https://docs.sourced.tech/)\\n - [Babelfish/UASTs](https://docs.sourced.tech/babelfish/)\\n - [Apache Superset (external)](https://superset.incubator.apache.org/)\\n- [Open Source](https://github.com/src-d/)\\n - [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n - [Machine Learning on Code](https://github.com/src-d/awesome-machine-learning-on-source-code)\\n - [Datasets](https://github.com/src-d/datasets)\\n - [gitbase](https://github.com/src-d/gitbase)\\n- [Community](https://sourced.tech/community)\\n - [Newsletter](https://go.sourced.tech/newsletter)\\n - [Slack Community](http://bit.ly/src-d-community)\\n - [Forum](https://forum.sourced.tech)\\n - [Twitter](https://twitter.com/sourcedtech)\\n - [YouTube](https://www.youtube.com/sourced/)\\n - [Email](mailto:hello@sourced.tech)\", \"height\": 325, \"width\": 12}, \"parents\": [\"ROOT_ID\", \"GRID_ID\", \"ROW-bEmhe7RJW\"], \"type\": \"MARKDOWN\"}, \"ROOT_ID\": {\"children\": [\"GRID_ID\"], \"id\": \"ROOT_ID\", \"type\": \"ROOT\"}, \"ROW-6AX2fnJiWO\": {\"children\": [\"CHART-mw3sO7UGCe\", \"CHART-Gsonj5e205\"], \"id\": \"ROW-6AX2fnJiWO\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}, \"ROW-bEmhe7RJW\": {\"children\": [\"MARKDOWN-MIE5EqOv00\"], \"id\": \"ROW-bEmhe7RJW\", \"meta\": {\"background\": \"BACKGROUND_TRANSPARENT\"}, \"parents\": [\"ROOT_ID\", \"GRID_ID\"], \"type\": \"ROW\"}}", + "position_json": "{\"CHART-Gsonj5e205\":{\"children\":[],\"id\":\"CHART-Gsonj5e205\",\"meta\":{\"chartId\":22,\"height\":50,\"sliceName\":\"Repository collection progress\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-6AX2fnJiWO\"],\"type\":\"CHART\"},\"CHART-mw3sO7UGCe\":{\"children\":[],\"id\":\"CHART-mw3sO7UGCe\",\"meta\":{\"chartId\":21,\"height\":50,\"sliceName\":\"Metadata collection progress\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-6AX2fnJiWO\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-bEmhe7RJW\",\"ROW-6AX2fnJiWO\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Welcome\"},\"type\":\"HEADER\"},\"MARKDOWN-MIE5EqOv00\":{\"children\":[],\"id\":\"MARKDOWN-MIE5EqOv00\",\"meta\":{\"code\":\"\\n\\n# source{d} Community Edition\\n\\n**Welcome to source{d} Community Edition (CE), the data platform for your software development life cycle (SDLC).**\\n\\nsource{d} CE enables quick discovery, retrieval, parsing, querying and visualization of source code and other SDLC data.\\n\\nsource{d} CE is powered by a powerful SQL interface for Git, and language-agnostic semantic concepts via Universal ASTs;\\nsource{d} CE also brings in GitHub metadata such as pull requests, issues, comments, users, as well as allows you to import your own data tables.\\n\\nBuilt-in source{d} dashboards abstract away the complexity of analyzing SDLC data history at scale and automatically suggest metrics to look at while giving you the freedom to build your own.\\n\\n## Quick-start guide\\n\\n### Before you get started\\n\\nYou can come back to this Welcome dashboard at any point for references and information:\\nvia browser navigation, [URL](/superset/welcome) or in the [list of dashboards](/dashboard/list/).\\n\\nYou can refer to the [source{d} CE full documentation](https://docs.sourced.tech/community-edition/) for more in-depth content.\\n\\n### Load your dataset from organizations\\n\\n- **You fetched a Github organization repository & metadata:** depending on the size of the datasets, the network and your system, it may take some time to fetch the full data. You can check the progress at the bottom of this page: click **[\\u2026]** then _force refresh_ to update. Meanwhile, you can analyze the partial dataset available, refreshing the data from charts for the latest results.\\n\\n_Note: You may also [initialize source{d} CE in the local mode](https://docs.sourced.tech/community-edition/quickstart/3-init-sourced) to load local repository data instantaneously._\\n\\n### Visualize your data on dashboards\\n\\n- **[Explore source code-related use cases & metrics](/superset/dashboard/1/)**\\n- **[Explore Github metadata-related use cases & metrics](/superset/dashboard/3/)**\\n\\n_Note: You may also create your own metrics, charts & dashboards._\\n\\n_Note: Very large datasets may eventually cause timeouts loading charts. If this happens, refresh a few at a time._\\n\\n### Explore your data, create queries, charts & dashboards\\n\\n- [Create metrics, query code and metadata](/superset/sqllab)\\n- [List and create charts](/chart/list/)\\n- [List and create dashboards](/dashboard/list/)\\n- [Explore Universal ASTs](/bblfsh/explore/)\\n\\n_Note: You may also use the \\\"New\\\" button on the top right of the interface._\\n\\n### Check examples for inspiration on new use cases and metrics\\n\\n- [SQL query examples](https://docs.sourced.tech/community-edition/usage/examples)\\n- [Universal AST query examples](https://docs.sourced.tech/babelfish/using-babelfish/uast-querying)\\n\\n### Read the documentation for detailed information\\n\\n- [Introduction: overview & index](https://docs.sourced.tech/community-edition/)\\n- [Quick-start: dependencies, installation, initialization & exploration of datasets](https://docs.sourced.tech/community-edition/quickstart)\\n- [Usage: query examples, working with multiple datasets, CLI commands, Universal ASTs](https://docs.sourced.tech/community-edition/usage)\\n\\n### Contribute with the community, share use cases, ask questions, report issues\\n\\n- [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n- [Community Forum](https://forum.sourced.tech)\\n- [Slack Community](http://bit.ly/src-d-community)\\n- [GitHub](https://github.com/src-d/)\\n\\n## Further references\\n\\nIn the following places you can find further information:\\n\\n- [source{d} website](https://www.sourced.tech/)\\n - [source{d} Community Edition](https://sourced.tech/products/community-edition)\\n - [source{d} Enterprise Edition](https://sourced.tech/products/enterprise-edition)\\n - [Company](https://sourced.tech/company)\\n - [Blog](https://blog.sourced.tech/)\\n- [Documentation](https://docs.sourced.tech/)\\n - [Babelfish/UASTs](https://docs.sourced.tech/babelfish/)\\n - [Apache Superset (external)](https://superset.incubator.apache.org/)\\n- [Open Source](https://github.com/src-d/)\\n - [source{d} CE project](https://github.com/src-d/sourced-ce/)\\n - [Machine Learning on Code](https://github.com/src-d/awesome-machine-learning-on-source-code)\\n - [Datasets](https://github.com/src-d/datasets)\\n - [gitbase](https://github.com/src-d/gitbase)\\n- [Community](https://sourced.tech/community)\\n - [Newsletter](https://go.sourced.tech/newsletter)\\n - [Slack Community](http://bit.ly/src-d-community)\\n - [Forum](https://forum.sourced.tech)\\n - [Twitter](https://twitter.com/sourcedtech)\\n - [YouTube](https://www.youtube.com/sourced/)\\n - [Email](mailto:hello@sourced.tech)\",\"height\":325,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-bEmhe7RJW\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-6AX2fnJiWO\":{\"children\":[\"CHART-mw3sO7UGCe\",\"CHART-Gsonj5e205\"],\"id\":\"ROW-6AX2fnJiWO\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-bEmhe7RJW\":{\"children\":[\"MARKDOWN-MIE5EqOv00\"],\"id\":\"ROW-bEmhe7RJW\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", "slices": [ { "__Slice__": { @@ -44,23 +44,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "org", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 118, + "id": 113, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 32, + "table_id": 31, "type": "STRING", "verbose_name": null } @@ -69,23 +69,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "entity", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 119, + "id": 114, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 32, + "table_id": 31, "type": "STRING", "verbose_name": null } @@ -94,23 +94,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "done", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 120, + "id": 115, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 32, + "table_id": 31, "type": "INT", "verbose_name": null } @@ -119,23 +119,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "total", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 121, + "id": 116, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 32, + "table_id": 31, "type": "INT", "verbose_name": null } @@ -144,23 +144,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "progress", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 122, + "id": 117, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 32, + "table_id": 31, "type": "OBJECT", "verbose_name": null } @@ -169,23 +169,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "status", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 123, + "id": 118, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 32, + "table_id": 31, "type": "STRING", "verbose_name": null } @@ -202,20 +202,20 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 33, + "id": 32, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 32, + "table_id": 31, "verbose_name": null, "warning_text": null } @@ -237,23 +237,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "org", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 113, + "id": 119, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 31, + "table_id": 32, "type": "STRING", "verbose_name": null } @@ -262,23 +262,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "discovered", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 114, + "id": 120, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 31, + "table_id": 32, "type": "INT", "verbose_name": null } @@ -287,23 +287,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "downloaded", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 115, + "id": 121, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 31, + "table_id": 32, "type": "INT", "verbose_name": null } @@ -312,23 +312,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "updated", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 116, + "id": 122, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 31, + "table_id": 32, "type": "INT", "verbose_name": null } @@ -337,23 +337,23 @@ "__TableColumn__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "column_name": "failed", "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "database_expression": null, "description": null, "expression": "", "filterable": true, "groupby": true, - "id": 117, + "id": 123, "is_active": true, "is_dttm": false, "python_date_format": null, - "table_id": 31, + "table_id": 32, "type": "INT", "verbose_name": null } @@ -370,20 +370,20 @@ "__SqlMetric__": { "changed_by_fk": 1, "changed_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "created_by_fk": 1, "created_on": { - "__datetime__": "2019-07-09T14:00:28" + "__datetime__": "2019-07-17T10:56:27" }, "d3format": null, "description": null, "expression": "count(*)", - "id": 32, + "id": 33, "is_restricted": false, "metric_name": "count", "metric_type": null, - "table_id": 31, + "table_id": 32, "verbose_name": null, "warning_text": null }