metadata-driven modeling with BAML (Board Application Markup Language)
This feature is inspired by BIML (Business Intelligence Markup Language).
To develop a board-application you don’t need coding skills. That is really great for beginners!
To develop a board-application is mostly to create or alter meta-data. For example create a new entity. Give them a name, group, id length, desc length and so on. In the end it is necessary to create a snapshot and deploy it.
Alternative to manipulate our meta-data direct in board, we could store our metadata in text-, xml-files or databases like postgres. I will explain the efforts of doing this later.
During development are many repeating sequences. Tasks are always solved the same way and only meta-data differs from task to task. That could be very annoying for experienced developers. This is very well known by another group of BI-developers. For creating a new SQL Server Integration Package or Data Staging Area in SQL Server they could use BIML. (BIML) is a domain-specific XML dialect for defining business intelligence assets.
I suggest to create our own “Board Application Markup Language” to develop board applications. At the end is a baml-File just an xml-file. A short example could look like this:
The benefit of xml, it is readable by humans, easy to understand, maintain and use of version-control like git.
Obvious writing xml code manually is tedious and also annoying. To avoid this and speed up the work we use scripts. This is where our previously saved metadata comes into play. Our script reads the metadata and creates the baml-file for us. The script could be written in C# or another language. Extensive programming knowledge is not required here. Only loops and IF-ELSE statements.
How to create a BIML-Script you can see here:
How to work with metadata in BIML:
An advantage of using BAML-scripts is, the developer could include some logic. For example, if an entity is used in cube then add to Quicklayout.
To facilitate the creation of baml-scripts and baml-code, should an Extension be available for Visual Studio Code or another popular IDE. To transfer the changes to the board server the BAML file is compiled first. This creates a snapshot for the database or corresponding capsule which is imported with the ALM.
Example compile a BIML-File in Visual Studio:
Target is to speed up delivery of new applications or extensions and reuse of proven designs.
This feature is for consultants, implementation partners and experienced customers.
Comments
-
@Capca also has a great idea to make changes to the board scheme, like creating entities, cubes and so on.
0 -
Hi @Nico Gerbrand, thank you for sharing your idea! We appreciate the time and effort you put into crafting your suggestion.
This is a great idea. We have this initiative as part of our backlog to make implementation easier but we are evaluating the feasibility of adding it to the development roadmap given the huge impact this has on the product and also on how Board works.1