Flywheel process - eclipse-efbt/efbt GitHub Wiki
Flywheel process
We provide a repeatable process for creating BIRD content, using only open source tools. Below are the set of steps to extend BIRD with a new report (or part of a report)
- Choose scope of cells of an EBA report
- Choose scope of products for testing
- Create empty Github repo to store adapted BIRD (private or public) using official BIRD formats (SMCubes and SQLDeveloper)
- Find the subset of EBA dimensions and members needed for the cells in scope
- Consider which columns need to be added to BIRD
- Add those to the SQLDeveloper LDM model
- Forward engineer to Input Layer, export to CSV as described here
- Store SQLDeveloper version (LDM and IL) and its CSV export in the GitHub repository
- Get selected BIRD technical export from BIRD website (mostly non reference info about existing templates) as described here
- Put these files into your GitHub repository
- Create a joins configuration file (reuse an existing one such as this one and amend if amendments are needed), put this in the GitHub repository
- Import the SQLDeveloper and BIRD website artfacts information from github into the FreeBIRD application, by ‘retrieving artefacts’ using the Workflow Dashboard
- Create the Physicalised Database for the BIRD Input Layer using the FreeBIRD Application by ‘Setup Database’ using the Workflow Dashboard
- Create the Core SMCubes information in the FreeBIRD Application, this is task 1 in the workflows, using the Workflow Dashboard
- Load the EBA DPM info for the report into BIRD using the FreeBIRD Application, so we have the annotated template in SMCubes format using DPM Operationa
- For new columns added in SQLDeveloper , add an SDD domain to BIRDs meta data database if there is not a suitable one existing
- Create any new member hierarchies required with the hierarchy editor in the FreeBIRD Application
- Create the links between EBA values and SDD values so that we can create the reference annotated template (filters) using the semantic integration creator and/or semantic integration editor
- Create the reference annotated template (filters) in SMCubes using the FreeBIRD Application according to SDD, for the sub scope using the workflow dashboard This is done In 'Task 2: SMCubes Transformation Rules Creation' in the workflow dashboard
- Create the Reference output layer from the reference annotated template using the FreeBIRD Application using the FreeBIRDS Application . This is also done In 'Task 2: SMCubes Transformation Rules Creation' in the Workflow Dashboard when the filters are created
- Run the gap analysis using the FreeBIRD Application, this automatically creates the draft links between input layer and output layer, This also done In 'Task 2: SMCubes Transformation Rules Creation' in the Workflow Dashboard and described as creating Joins.
- Refine the cube links using the cube_links editor (see this video demo also)
- Create the Python code from the reference annotated template and the cube links, This is done In 'Task 3: Python Transformation Rules Creation' in the Workflow Dashboard (see this video demo also)
- Update the join conditions in the generated Python code (see this video demo )
- Create test data according to product scope directly in database or as fixtures run by the FreeBIRD application testing framework, this is done as 'Task4: Full Execution with Test Suite' in the Workflow Dashboard
- Run the individual report cells with test data, using Execute Datapoint Guide
- Save all your changes back to github as SMCubes CSV files, by creating a review request to be reviewed and then merged into GitHub and so available to all collaborators with access to tha Github repository ,