Concept
Master as a concept is used by many apps to centrally control the sizes, behaviour and the design of their elements or building blocks. Powerpoint user master slide to control the layout of the slides and the content displayed inside the slides. Design prototype tools like Sketch, etc. also use master concept to control the color, size, styling and the overall design of their visual elements. We can use Master dashboards inside Squirro to have a centralised guiding place for storing master layouts, sizes, content, etc.
Layout Master
We introduce a master for layout called Layout Master.
It is the central place for controlling things like tabs alignment to the center section (via master),
It can be used to have uniform layout for all dashboards,
It can be used to having consistent header, footer, theme, etc.
Layout Master dashboard has its own config. options which are different from a normal dashboard.
If we design master dashboard to have content, ex: footer, it cannot be modified from the individual dashboards which adhere to master.
Dashboard editor will have a button to sync to and jump to master if needed.
Individual dashboards can choose to sync to master. Although, It is not compulsory to do so and they are not in sync by default.
Master will be used to left align the dashboard tabs in the compact mode to the center section from the master so as to have SCB like designs, which is a very commonly desired layout.
Every project gets a master dashboard by default, which cannot be deleted or transferred to another dashboard.
Master dashboard will not be visible under the dashboard space.
Global Search Master
The current master dashboard where global search layers are configured should be renamed to Global Search master.
Global Search master dashboard is essentially a templating dashboard where by using layers, one creates visual templates for different NLP query parameters and visibility conditions.
This dashboard is not designed to be any of the main dashboards shared with the end-user, instead it is supposed to show layers which meet a visibility condition caused by a NLP or normal query.
By default, a project does not has a dashboard marked as Global search master but any dashboard in a project can be promoted to be so.
Only one dashboard at a time can be a Global search master.
Just like the Layout master, this dashboard is also not visible in the Dashboard space.
This dashboard controls the visibility of the Global Searchbar in the appbar. If a dashboard is marked as Global search master, Global Searchbar will appear, otherwise not.
MVP Implementation stage 1 technical notes
We introduce a master for a layout called Layout Master
Every project will have a master dashboard, this will need a migration script
Dashboards will have a new attribute
role
The dashboard for all intents and purposes is a regular dashboard as far as the backend is concerned. It will have all the objects of a regular dashboard model required to be accepted by the backend in order to be saved and edited. The key difference will be its
role
attributeToday we have an idea of “search master” for this we introduced a new attribute
master: true
this attribute will be migrated away in favour of arole
Search Master will need a role for this migration and a new attribute
role: 'search'
The Layout master will have the following
role:'layout'
We will also need to change the current default new project to have this new second dashboard called Layout Master
...