Hawkeye Superset Automation
Objective
Hawkeye superset is used to generate Analytics job config and report service config. From the initial implementation Hawkeye code was built on top of the exisiting forked repo from Apache superset.
From this automation implementation, superset core code will be taken upstream repo and Sunbird Hawkeye related code will be taken from a different repo and added together to build Hawkeye superset.
Implementation Workflow
Hawkeye related files and usages of it
| Filename | File Path | Usage | File History |
Backend | report_api.py | superset/report_api.py | -> api call request to portal and analytics job apis | New |
/superset | hawkeye_chart.py | incubator-superset/superset/models/hawkeye_chart.py | -> chart config model | New |
| hawkeye_report.py | superset/models/hawkeye_report.py | -> report config model | New |
| 9f2594aee0c4_report_migrations.py | superset/migrations/versions/9f2594aee0c4_report_migrations.py | hawkeye chart and report table migration | New |
| 11954187b979_add_interval_slider_hawkeye_report.py | incubator-superset/superset/migrations/versions/11954187b979_add_interval_slider_hawkeye_report.py | Interval slider implementation migration | New |
| bf1ec80c8c9a_add_static_interval_to_hawkeye_chart.py | superset/migrations/versions/bf1ec80c8c9a_add_static_interval_to_hawkeye_chart.py | static interval migration for hawkeye_charts | New |
| 01defaf2ad37_adding_percentage_topn_config_hawkeye.py | superset/migrations/versions/01defaf2ad37_adding_percentage_topn_config_hawkeye.py | showing percentatage and top records migration to hawkeye_charts | New |
| c5ecb4ef2220_adding_comments_hawkeye_charts.py | superset/migrations/versions/c5ecb4ef2220_adding_comments_hawkeye_charts.py | Comments to publish and reject the report | New |
| 4dde7c8b8f1b_add_dimension_type_hawkeye_chart.py | superset/migrations/versions/4dde7c8b8f1b_add_dimension_type_hawkeye_chart.py | parameterization implementation migration for hawkeye_charts | New |
| b5cc2143b4bb_add_filters_hawkeye_charts.py | superset/migrations/versions/b5cc2143b4bb_add_filters_hawkeye_charts.py | filter config for hawkeye_charts | New |
| 28b9fbb2e723_add_show_table_hawkeye_charts.py | superset/migrations/versions/28b9fbb2e723_add_show_table_hawkeye_charts.py | showing table implementation migration | New |
| b21497dbd5ab_add_show_big_number_hawkeye_charts.py | superset/migrations/versions/b21497dbd5ab_add_show_big_number_hawkeye_charts.py | showing big number implementation migration | New |
| slice.py | superset/models/slice.py | -> report url to redirect to hawkeye ui | Existing File |
| app.py | superset/app.py | -> Header and view builder changes - to add in flask-appbuilder | Existing File |
| core.py | incubator-superset/superset/views/core.py | -> Changes done for access verification | Existing File |
| views.py | incubator-superset/superset/views/chart/views.py | -> report chart list view injection implementation | Existing File |
| config.py | superset/config.py | Postgres host config changes | Existing File |
| manager.py | superset/security/manager.py | Report Role Creation changes added | Existing File |
|
|
|
|
|
Frontend | PublishChartButton.jsx | src/reportexplore/components/PublishChartButton.jsx | src/reportexplore/components/PublishChartButton.jsx | New |
/superset-frontend | ConfigModalBody.jsx | src/reportexplore/components/ConfigModalBody.jsx | Edit and view config for the report to Diksha | New |
| PublishStatusBody.jsx | src/reportexplore/components/PublishStatusBody.jsx | Publish button option's popup changes | New |
| ConfigInputControl.jsx | src/reportexplore/components/controls/ConfigInputControl.jsx | Input components generalized code | New |
| ReportChartList.tsx | src/views/reportChartList/ReportChartList.tsx | Adding Route | New |
| package.json | superset-frontend/package.json | Add @babel/compat-data | Existing File |
| ExploreViewContainer.jsx | src/reportexplore/components/ExploreViewContainer.jsx | Load report config data from backend to component | Existing File |
| ExploreActionButtons.jsx | src/reportexplore/components/ExploreActionButtons.jsx | Adding `Edit config` and `Publish` buttons | Existing File |
| ExploreChartHeader.jsx | src/reportexplore/components/ExploreChartHeader.jsx | Passing state data to child component | Existing File |
| ExploreChartPanel.jsx | src/reportexplore/components/ExploreChartPanel.jsx | Passing state data to child component | Existing File |
| QueryAndSaveBtns.jsx | src/reportexplore/components/QueryAndSaveBtns.jsx | Save button functional changes | Existing File |
| SaveModal.jsx | src/reportexplore/components/SaveModal.jsx | Save button functional changes | Existing File |
| exploreUtils.js | src/reportexplore/exploreUtils.js | API Endpoint configs | Existing File |
| main.less | src/reportexplore/main.less | css changes for modal elements | Existing File |
| webpack.config.js | webpack.config.js | adding reportexplore component entry point | Existing File |
| index.jsx | superset-frontend/src/reportexplore/index.jsx | Report explore page index component | Existing File |
| App.jsx | superset-frontend/src/welcome/App.jsx | Adding route for report list | Existing File |
Open Questions
Question |
---|