Data models in Bipp are stored as project files created using the Bling language. A data model may consist of one or many datasets. These project files can be accessed through the “Projects” menu option in the Bipp product menu. Clicking on this option loads the “Projects” screen which has options to create a new project and edit, delete or manage permissions for existing projects.
In order to create a new project or data model, users should click the “New project” button available at the top-right of the screen. Users will be requested to enter the project name on a pop-up screen. Clicking on the Validate button will ensure that the project name supplied is unique and valid.
Users will then be required to enter the Git repository details for the project. If a user does not have a repository, a repository can be created for them on the Bipp Git server
The new project would be added to the projects list on the main screen on click of the “Create” button.
Defining the Model
Users can define a new data model or edit an existing data model, by using the “Edit” option from the options menu at the right of the project name. For new projects, a blank data model file with help on Bling syntax will be shown. The README.md file and a sample file with Bling syntax (bling.sample.txt) will be created by default.
A project is created with one dataset by default which has the same name as the project name. Additional datasets may be included to the project by clicking on the “Add - New Table” option in the Files menu. The tables included in the project may be linked to any or all of the datasets.
Linking to a Datasource
Data models and datasets based on existing datasources may be created by adding tables from at least one of the existing datasources created using the Datasources feature. The default dataset would then be updated based on the included tables from the linked datasource. Users can link datasources to a project by clicking on the “Add - Table from source” option in the Files menu. This will navigate the user to the “Add Table from Datasource” screen. Users can now select datasources and tables that need to be added to the model. In case there are many tables in the source database, the “Search” feature may be used to search for specific tables. On selecting the required tables, the “Create File(s)" button may be clicked to add the selected tables to the project as 1 file per table.
Bling syntax corresponding to the selected tables will now be available in the corresponding files. This may be edited depending on the requirements of the model. For more information on using Bling to edit the data model, refer to the Bling Specification.
User Defined Tables
Users can add custom dynamic tables which are not based on any datasource table. They may be included to provide additional meta data to the dataset. This can be achieved by clicking on the “Add - New Table” option in the Files menu.
Users can add and run SQL queries to the model from the project screen. This can be achieved by clicking on the “Add - New SQL Query” option in the Files menu. A .sql file will be added to the project. This feature can be used to test queries based on which you wish to create user defined/dynamic tables. History of previous query executions can also be viewed by clicking on the clock icon next to the “Run Query” button
Bipp projects integrate with Git to provide source control features such as multiple branches, push, pull and commit. Additionally features to deploy the data model and visualize individual datasets are included. Following are the features included
- Branches: Project files may be edited in users’ own branch or in the Master branch. Branch may be selected using the “My Branch” dropdown which points to the users branch by default.
- History: You can revert to a previous version of the file by selecting the correct version by clicking on the “History” button and committing this version as the latest version.
- Save: Project files may be saved intermittently without committing the changes to the respective branch using the “Save” button. Successful save does not require the code in the file to be syntactically correct.
- Commit: Project files may be committed and pushed to the respective branch if they compile successfully using the “Commit” button. Clicking on “Commit” will automatically trigger a syntax check on the file.
- Deploy: On completion, the data model created can be deployed by using the “Deploy Datamodel” button at the top-right of the screen. This is necessary to visualize the current version of the model and the datasets contained in it.
- Visualize: Any of the datasets added to the project may be visualized by clicking on the “Visualize” button and selecting the dataset. The dataset shown will correspond to the last deployed version of the model.
- Compare: Current version of the file may be compared to the previous version by clicking on the “diff” button at the top of the source.
You can search for existing projects by keying in the project name in the “Search” textbox at the top of the screen.
Sheets for visualizing data may be created based on the data model using the “Sheets” feature. (Refer Sheets documentation). When a sheet is created, it always refers to the latest deployed version of the dataset at the time of sheet creation. If the data model is subsequently edited, the sheet would continue to refer to the previous version, even after the new version is deployed. To ensure that the sheet refers to the latest version, use the Update Sheets Version feature on the Sheets listing screen.
Projects may be shared from the Project edit screen or from the projects listing screen. To share a project from the projects listing screen, click on the “Permissions” menu option from the options menu at the right of the project name. Permissions for multiple projects may be edited simultaneously by selecting the projects and clicking on the “Update Permissions” button above the projects list.
Projects may be shared with co-workers by providing their email-id’s on the permission screen. A group name may also be entered for sharing with all members of a specific group.
Permissions may be categorized as Admin, Read and Write or Read Only similar to Datasource permissions.
You can delete an existing project or data model using the “Delete” option on the project options menu. The project will be deleted after confirmation. Multiple projects may be deleted by selecting these and clicking on the “Delete’ button above the projects list.