The Portal needs to be enhanced with a set of elements called the Dashboard. Each customer organization and individual user may have their own customized view of the Dashboard. Each should be able to decide the Elements that they want to see on their Dashboard from the available list of Elements. At the same time, the list of available Elements for the Dashboard should be dynamic and easy to add to the system.
Name of the element. The name will uniquely identify the element
- The heading to be shown for the element
- Color in which the element will be displayed on the dashboard. This color will be applicable for the heading, labels etc.
- When a new element has to be added the Admin needs to select the element type. This will be the most important part since based on the element type the metadata will be filled.
- Element Type and it’s corresponding metadata fields information will be stored in the database.
- Each element type will have it’s own metadata information which will be used for creating the data model of the element
- Upon selecting the element type the user will be presented with a form with the relevant metadata fields.
- Each element will be used to show different type data and hence the content may also be modeled from different data sources.
- The admin will be able to select the different data sources to be used for the content of the element. How many columns/fields have to be selected will depend on the type of element.
- If the data to be shown has to be picked from multiple columns instead of a single column or if it is a calculated field then admin will have a query builder available using which they will be able to model the data. The SQL syntax will be handled in the backend by the query builder.
Settings for User
By default, all the data elements will be available in the user dashboard until the user selects any specific data elements to be made available in their dashboard
- Under user settings, there will be a subsection for the dashboard settings.
- The user will be able to select/unselect the elements which they want to see on their dashboard.
- They will also be able to set the order in which they want to see the elements in their dashboard.
- The user preferences will be stored in the database so that the next time the users open their dashboard their preferences will be loaded.
- Dashboard will also have the print function to allow users to print the dashboard the way they see it on screen.
- User will also be able to filter the data for the elements based on data and business objects. These filters will be applicable to all the elements visible on the dashboard. There will be no individual filters for the elements.