Documentation Index

Fetch the complete documentation index at: https://learn.servitly.com/llms.txt

Use this file to discover all available pages before exploring further.

Configuring Periodic Reports

Prev Next

Reports let you deliver periodic insights to your users without asking them to log into the DPS. A report is generated automatically according to a schedule and sent as a PDF attached to an email.

Different types of reports are available:

  • General reports: Built on a general template and generated in the context of a business entity (customer, partner, or organization).
    Use it for aggregated content, such as a monthly summary of all the products of a customer.

  • Thing Definition reports: Built on a thing definition template and generated in the context of a single thing.
    Use it for product-level content, such as the performance of a specific machine over the last quarter.

The configuration steps are the same for all types; the difference lies, other than the target audience (customer, partner, or organization), in the template used and in the context in which the report is generated.

Configuring a General report

  1. Enter the Interfaces / Reports page and select the General tab.

  2. Select the type of user the report is addressed to: customer, partner, or organization users.

  3. Press the Add Report button and provide the report name.

  4. Complete the report definition:

    1. Description: A descriptive text of the report content and purpose.

    2. File Name: The name of the PDF file attached to the email.

    3. Title: The title shown on the report cover.

    4. Recurrence: Weekly, Monthly, Quarterly, or Half-yearly, together with the day on which the report must be generated.

    5. Report Date Range: The period of data to load, consistent with the selected recurrence (e.g., Last Month).

    6. Template: the general template defining the report content.

    7. Subject and Body: The subject and the HTML body of the email delivering the report.

  5. Save the report.

  6. If the report is relevant only to part of your audience, restrict the recipients by selecting the Target User Types.
    When no user type is selected, all the users of the business entity can receive the report.

  7. Preview the report, and when the content is correct, press the Activate button.

Report generation occurs after midnight of the scheduled day, taking into account the time zone of the users associated with the target business entity.

For the detailed description of every field of a report definition, refer to the Reports article.

Configuring a Thing Definition report

  1. Enter the Interfaces / Reports page and select the Thing Definitions tab.

  2. Select the target Thing Definition.

  3. Press the Add Report button and provide the report name.

  4. Complete the report definition with the same information described for the general report.
    In this case, the Template must be a thing definition template belonging to the selected Thing Definition.

  5. Save the report.

  6. Preview the report, and when the content is correct, press the Activate button.

A thing definition report is generated for each thing of that Thing Definition, taking into account the time zone of the thing.

Reports follow the Thing Definition inheritance model: a report defined on a super Thing Definition is available to all the derived ones, with no duplicated configuration. Define the report once at the highest level that makes sense, and override it locally only where a specific Thing Definition requires different content or scheduling.

For the detailed description of every field of a report definition, refer to the Reports article.

Defining the report template

The content of the report is defined through a standard template. To create the template, enter the Interfaces / Templates page and add a General template for a general report or a Thing Definition template for a thing definition report. For more details, refer to the Template Definition article.

A report is static content: page controls and filtering buttons (period fields, search fields, and buttons) are not usable, so build the template with widgets only.

Context Period

While designing the template, you can reference the context_period variable instead of setting a loading period on each widget. When the report is generated, this variable provides the startTimestamp and endTimestamp corresponding to the report date range, so the same template automatically follows the configured recurrence.

<div class="d-flex flex-wrap components-row">
    <time-series-chart-widget [title]="'Trend'" class="flex-fill" [inputs]="{period: 'context_period'}">
        <metric name="thing.uptime_percentage" filter="integerFormat" unit="%"></metric>
    </time-series-chart-widget>
</div>

If you are developing a custom widget, you can leverage the appUtils.getContextPeriod() method to access the context period programmatically.

Page Orientation

You can change the page orientation by adding the landscape-page CSS class on the template rows (the default orientation is portrait).

<div class="d-flex flex-wrap components-row portrait-page">
  <!-- portrait content -->
</div>
<div class="d-flex flex-wrap components-row landscape-page">
  <!-- landscape content -->
</div>

Every time the orientation changes, a page break is automatically inserted.

Page Break

In case you need an explicit page break, you can add this to the template.

<div style="page-break-before:always">&nbsp;</div>

Previewing the report

Before activating a report, check how the generated PDF looks:

  1. Select the report definition you want to preview.

  2. Select a User View in the Console top bar to define the context used to generate the report (e.g., a customer).
    For a thing definition report, select the location and the thing as well.

  3. Press the Preview button.

A new browser tab opens with the report cover and the template rendered with the selected context.
Use the print function of your browser to check the final layout, page orientation, and breaks included.

Letting DPS users receive the report

An active report is sent only to the users who have opted in.
In the DPS, each user can enable the reception of periodic reports from the Reports tab of their profile page.
The tab is visible only when at least one active report exists for that user.