The Smart Reporting Enabler is a vf-OS reporting tool that can create HTML reports and can be easily integrated with web applications. It can use as database source, a local MySQL database as well as the vf-OS relational storage component.

By using this tool, each developer can design and create report templates based on HTML defined by three different parts: Header, dynamic content and a footer. The header and the footer are HTML content which can be designed in the graphical user interface which can include specific style tags by including CSS files. For the dynamic content, the developer must define which content the Smart Reporting Enabler will use at every report creation. This delivers an abstraction layer to the end application which the developer is trying to achieve. Furthermore, the dynamic report can be created in an easy way in the available GUI, by selecting all wanted data source. Filtering and grouping functionalities are available as well.

Smart Reporting Enabler this way extends vf-OS platform with reporting capabilities and speeds up the data source consumption for report purposes. The developer can reach the report output by consuming an API endpoint which will answer with the built HTML report containing the dynamic content rendered at that moment.

Tools used

The tools used to develop the solutions presented in the documents follow the MEAN stack approach:

  • MySQL is an open source relational database management system based on Structured Query Language. It runs on virtually all platforms, across the entire scope of operating systems. Although it can be used in a wide range of applications, MySQL is most often associated with web-based applications and online publishing
  • Express, AngularJS and NodeJS are the technologies used and have been described in the Configuration Enabler specification

Example Scenarios

The main goal of the SRE is the one described in the following diagrams. The Enabler’s main functionality is the ability to receive data provided by vApps (or by being directly connected to their databases), process it, and according to the template create the report and, send it back to the vApp or directly to a user by email.

Create a report


Create Report from DB


Related Concepts

The concept associated with this Enabler is the same as used in excel pivot tables. Pivot tables are used in data processing and are found in data visualisation programs such as spreadsheets or business intelligence software. Such programs can automatically sort, count, total or average the data stored in one table or spreadsheet, displaying the results in a second table — the pivot table — showing the summarised data. The user often sets up and changes the summary's structure by dragging and dropping fields graphically. This "rotation" or pivoting of the summary table gives the concept its name.

High-level architecture

Following the same approach as the Configuration Enabler and Notification Enabler, SRE is described as having one Frontend (FE) and one Backend (BE). The Frontend is related with the presentation layer whilst the backend is related to the business logic and data access tier.


Main Interactions

In this narrative it is assumed that the SRE is already configured in vf-OS system using configuration Enabler. As presented in Figure 28, the main interactions with SRE are performed using EF as a proxy, for pre-processing of requests and data trades. The vApp admin or developer uses the EF with access to SRE UI for registering its vApp and create the reporting templates. After that, a regular vApp user can create reports or retrieve the ones that could be addressed to him using the same vApp. A simple example of the process made when a report is created is showed in next section.

Service interfaces

Regarding the service interfaces, the SRE will provide a public API to be used by its FE and other external elements such as the Enablers’ Framework. The following table shows the public endpoint with the specific method to be used and the response type. Please refer to this link for detailed specs.



To use these specific enablers, it is necessary to have the following vf-OS components:


The deployment of these specific enablers is made through Enablers Framework. Please refer to Enablers Framework