Skip to main content
Skip table of contents

Abstract Reporting (Concepts Guide)

As Cinnamon Reporting is built to be multi-channel and multi-lingual, the concept of an Abstract Report is very important.

What is an “Abstract Report”?

An Abstract Report contains like any other PDF or HTML-report:

  • Structure (Sections, Headers, Footers, Layout-Elements like “Two Columns”)

  • Tables with data

  • Charts with data series

  • etc.

The following table explaines some of the differences between an abstract and a rendered report:


Abstract Report

Rendered Report

File formats

Json file including

  • A tree of Report Nodes that define the structure of the output

  • Data for all images and files to be included into the rendered report

Currently Cinnamon Reporting produces the following rendered report formats:

  • Word

  • PDF (from Word)

  • HTML


The tables structure defined by a Vertical Table Node

  • Columns (and Column Groups)

  • Rows (and Row Groups)

  • Facts (Data for cells) including the value to be shown as well as the Value Type to be used for formatting the value

  • Titles, Footer based on Translatable Texts (for later translation)

  • A named Style to be applied (if different from default styling)

Structure plus Layout:

  • Table and cell borders, background coloring

  • Sizing: column widths, row heights

  • Formatted and translated data


The structure of the chart defined by a Chart Node

  • Chart type (Pie, Line, etc.)

  • Series data

  • Titles, Footer based on Translatable Texts (for later translation)

  • A named Style to be applied (if different from default styling)

Graphics showing:

  • The chart as SVG data (Scalable Vector Graphics)

  • Surrounding (table-styled) elements to show titles and footers

  • All data is translated and formatted

Text (Paragraphs, Sections etc.)

The text defined by a Paragraph Node or Section Node

  • Translatable texts (including values to be placed when translating)

  • Rich texts supporting a small set of html-type tags (like <h1>, <ol>, <ul> etc.)

  • A named Style to be applied (if different from default styling)

  • Translated text

  • Text formatting (Font, Font-size, colour)

  • Paragraph formatting (indents, tabs, before/after spacing)


A Layout Node defines an abstract layout, e.g.

  • Two columns defined by the Slots {left} and {right}

  • A formatted layout, e.g. two report nodes rendered into two columns where the report node marked for the Slot {left} is shown on the left column while the node marked {right} is shown in the right column.

How is an Abstract Report produced?

When producing an Abstract Report the Cinnamon Reporting services are following this procedure:


Report Order

  • The Parameters from the order are read into the Context

  • The Report Type referenced in the order is loaded

Report Type

  • The Report Type, defining the structure of the ordered report, is interpreted

  • The producer is iterating over the tree of nodes and

    • interprets any local parameter values

    • decides wheter the node has to be produced

    • interprets the selected Building Block

Building Block

  • Interprets all relevant parameter values. Parameters can have

    • no value → default value of the solution or local default of the Building Block is used

    • a discrete value

    • an expression, defining the parameter’s value based on other parameters and / or further logic (e.g. =!params.hideBenchmark to invert the value of the parameter hideBenchmark)

  • Fetches all needed data from the data source(s)

  • Generates one Report Node to be included into the Abstract Report (table, chart, section, etc.)

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.