Skip to content

Report Designer

The Report Designer is where you build report templates. A report template describes what a PDF report looks like: the title page, the header and footer on every page, headings, text, tables, and where data from Scifeon is filled in. Users then pick the template when they export a report, for example from an experiment, and Scifeon fills it with the data of that experiment.

You do not need any technical knowledge to build a template. You build it from blocks, the same way you would build a slide from text boxes and tables.

This page covers:

  • Creating a report template and finding your way around the designer
  • How blocks are organised: header, report content and footer, sections and columns
  • Each type of block and its settings
  • Filling in data from Scifeon with variables
  • Repeating a block for every item in a list, for example every experiment step
  • Showing or hiding a block depending on the data, for example a “draft” warning
  • Previewing the result and generating the report

Throughout this page, the screenshots show one example template: a Fermentation campaign report for the fictional company Novara Bio. The report is generated from a fermentation experiment, here the 50 L pilot batch USP26005. It has a title page with a summary and a status box, a draft warning that only shows when the experiment is not yet approved, a table of contents, one page per experiment step with a sign-off table, and a list of attached files on a landscape page.

You need the Manage Report Templates permission to see and edit report templates.

Report templates are found on the Administration page under Templates > Report Templates.

The Report Templates page lists all report templates with their report type, who last changed them and when.

The Report Templates page with the menu for creating a new template open

The Report Templates page. The + Report Template menu lists the report types you can create a template for.

From this page you can:

  • Click + Report Template and choose a report type to create a new template.
  • Click the pencil icon on a row to open a template in the designer.
  • Click the copy icon to clone a template, for example to try out changes without affecting the original.
  • Click the bin icon to delete a template.
  • Use Export and Import to move templates between Scifeon instances.

The report type decides two things: where users can generate the report, and which data the report can use.

Report typeWhere users generate itData available
Experiment ReportExport PDF on an experiment in the ELNThe experiment, its steps, comments and attached files
Validation ReportThe Validation moduleRequirements, specifications, test cases and test results
Request ReportA request, from its page or from the request inboxThe request and its data

The list of report types depends on which apps are installed in your Scifeon instance. You choose the report type when you create the template, and it cannot be changed afterwards.

A new template gets a default name such as “Experiment Report 1”. To rename it, click the name at the top left of the designer, type the new name and click Save.

The Report Designer with the navigator on the left, the page preview in the middle and the settings panel on the right

The Report Designer with the “Draft notice” block selected.

The designer has three areas:

  • Navigator (left): the structure of the report as a tree of blocks. This is where you add, select, move and delete blocks.
  • Page preview (middle): a live preview of the pages. It updates as soon as you change something. Click a block in the preview to select it. The selected block has a blue frame and its label is shown above it.
  • Settings panel (right): the settings of the selected block, plus the Landscape switch for the whole report and the Variables button.

At the top right are the buttons:

ButtonWhat it does
CancelShown when you have unsaved changes. Throws away all changes since the last save.
PreviewBuilds a real PDF from the template so you can check page breaks, headers and footers. See Previewing the template.
Save TemplateSaves the template. Users get the new version the next time they generate a report.

Changes are not saved automatically. A yellow line on the left edge of the preview reminds you that there are unsaved changes. If you leave the designer with unsaved changes, Scifeon asks whether to save or discard them.

The navigator has three parts:

  • Header: blocks shown at the top of every page, for example the report title and the company name.
  • Report Content: the actual content of the report, page after page.
  • Footer: blocks shown at the bottom of every page, for example the generation time and the page number.

Scifeon makes room for the header and footer automatically, so they never overlap the content, however tall they are.

Inside each part, blocks are shown as a tree. Blocks that sit inside another block are indented below it, just like folders and files.

The navigator showing the blocks of the example template

The Report Content part of the example template. Hovering over a block shows its buttons.

In the navigatorWhat it does
Click a block nameSelects the block and shows its settings on the right. The preview scrolls to the block.
↑ and ↓Move the block up or down among the blocks at the same level.
Bin iconDeletes the block and everything inside it. There is no confirmation, but you can click Cancel to undo all unsaved changes.
+Adds a block inside this block. Only shown on blocks that can hold other blocks.
+ Report BlockAdds a block at the bottom of that part of the report.

The name shown in the navigator is the block’s label. Give every block a meaningful label, such as “Draft notice” or “Status box”, so you can find your way in large templates. The label is only used in the designer and is never printed in the report.

Click + Report Block under a part, or + on a column, and choose the type of block.

The list of blocks you can add to the report content

Blocks you can add to the report content of an Experiment Report.

Not every block can be placed everywhere. The menu only lists the blocks that are allowed in that spot:

The list of blocks you can add to the header

In the header and footer you can add sections, page numbers, headings, paragraphs, system info and timestamps. Tables, tables of contents and page breaks are not available there.

The list of blocks you can add inside a column

Inside a column you can add everything except a page break.

A new block is added at the bottom and selected straight away, so you can fill in its settings.

Section blocks and column blocks are used to place things side by side.

  • A section is a row across the page.
  • A section is split into one or more columns.
  • The other blocks, such as headings, paragraphs and tables, go inside the columns.

To add a column, click + on the section. Then click + on the column to add content to it.

In the example template, the title page is a section with two columns: a wide “Summary column” with the experiment title and introduction, and a narrow “Status column” with a framed status box.

The title page of the generated report, with the summary on the left and the status box on the right

The title page of the generated report. The section has a summary column of size 3 and a status column of size 1.

Each column has a Column Size setting. The sizes are relative to each other:

  • Two columns of size 1 each take half of the width.
  • A column of size 3 next to a column of size 1 takes three quarters, and the other column takes one quarter.

The header and footer of the example use the same idea: the title and the generation time get the wide column, and the company name and page number get the narrow column.

Sections in the report content have a Page Orientation setting. Choose Landscape for wide content, such as a table with many columns.

Section settings with landscape page orientation

The section is then placed on its own landscape page or pages, with a page break before and after it. The rest of the report keeps its normal orientation. Leave the setting empty to use the orientation of the report.

A landscape page in the generated report

The “Attached files” section on a landscape page. This experiment has no attached files, so the table only shows its column headers.

To make the whole report landscape, switch on Landscape at the top of the settings panel instead.

Select a block to see its settings on the right. The settings are grouped in panels that you can open and close:

  • General Settings: available for every block. Here you set the label, and switch on repeating and conditional rendering.
  • Settings for the block type, for example Heading Block Settings or Column Settings. These are described per block type below.
  • Layout, Border and Text & Color: styling, available for every block except page breaks and table rows.

The Layout and Border settings of the status box

The status box in the example has padding of 8 left and right and 4 top and bottom, and a solid border of width 1 with rounded corners.

SettingWhat it does
Width, HeightThe size of the block. Leave empty for automatic size.
PaddingSpace between the edge of the block and its content. The first field is left and right, the second is top and bottom. Click the arrows icon to set all four sides separately.
Border: Width, Style, Color, RadiusA frame around the block. Radius rounds the corners.
FillBackground color of the block. Not available in the header and footer.
Text ColorColor of the text.
Text AlignLeft, centered or right aligned text.

Plain numbers are in pixels. You can also type other CSS units, such as 50% for half the width or 10mm.

The “Draft notice” in the example uses a light red Fill and a dark red Text Color to stand out. The page number and company name in the header and footer use Text Align right.

A title. Set the text under Heading and the size under Size: Heading 1 (largest), Heading 2 or Heading 3. Headings are also what the table of contents is built from.

Formatted text, written in a text editor with bold, italics, lists, links and so on.

The paragraph editor with text that contains variables

The introduction paragraph of the example. The parts in ${...} are replaced by data from the experiment, see Filling in data.

A table with a header row and any number of rows.

  • Select the table and use + under Table column headers to add the column headers. Click the pencil to edit a header, and - to remove it.
  • Click + on the table in the navigator to add a row. Select the row and use + under Table cells to add its cells, one per column.

The column headers of a table

A row can be repeated, so one row in the template becomes one row per item in the report. The “Files table” in the example has a single row that is repeated for every attached file.

Lists the headings of the report with their page numbers. Set the Title of the table of contents and the Max heading level: only Heading 1, Heading 1 and 2, or all three levels.

The table of contents in the generated report

The table of contents only lists headings added with Heading blocks. Titles produced by other blocks, such as the step titles of the Experiment Step block, are not included.

Starts a new page. In the example, page breaks put the table of contents on a page of its own. A page break can only be added directly in the report content, not inside a section or column.

Prints information about the Scifeon instance. Type a Template with any text and these placeholders:

System Info settings

PlaceholderIs replaced by
{url}The address of the Scifeon instance
{fullUrl}The full address of the page the report was generated from
{name}The name of the instance
{env}The environment, for example production or test
{envSymbol}The symbol of the environment
{version}The Scifeon version

Prints when the report was generated. Use {local} for the local time with time zone, and {utc} for the time in UTC.

Generated Timestamp settings

The example footer uses “Novara Bio - controlled document. Generated {local} ({utc})”.

Prints the page number. Only available in the header and footer. Use {page} for the current page and {total} for the total number of pages, for example “Page {page} of {total}”.

Page Number settings

Some report types add their own blocks. For the Experiment Report type, these are:

  • Experiment Details: a table with the experiment ID, type, project, deliverable, dates, analyst, scientist, department, procedure and status.
  • Experiment Step: the full content of an experiment step, including its comments, protocol, forms and results. It must be placed inside a block that repeats for the List of experiment steps with the accessor step, as in the example.

Variables are placeholders for data. When the report is generated, each variable is replaced by the actual value. A variable is written as ${...}, for example ${experiment.name} for the name of the experiment.

You can use variables in all text you type in a block: headings, paragraphs, table headers and table cells.

Select a block and click Variables at the top of the settings panel. The list shows every variable you can use in that block, with a description and the type of data.

The list of variables for an Experiment Report

Click a variable to copy it. Then paste it into the text of the block.

The list depends on the report type and on where the block is. Inside a repeated block, the list also contains the variables of the repeated item, for example ${step.title}.

Variables in the designer and in the report

Section titled “Variables in the designer and in the report”

The designer always shows the variables themselves, such as ${title}, because there is no experiment yet. The values are filled in when a user generates the report.

The title page of the generated report with the variables filled in

The same title page as in the designer, now with the data of experiment USP26005. ${title} became “USP26005 - Phytorin campaign 5: 50 L pilot batch with 10 L satellite”, and ${experiment.status} became “Completed”.

Some data is a list, for example the steps of an experiment or its attached files. A repeated block is printed once for every item in the list.

To repeat a block:

  1. Select the block and switch on Repeat Block under General Settings.
  2. Under Repeat for, choose the list.
  3. Check the Accessor. This is the name you use in variables to refer to the current item. Scifeon suggests a name, such as step for experiment steps or file for attached files.
  4. Optionally switch on Break Page to start every item on a new page.

The lists you can repeat a block for

A section repeated for every experiment step, with a page break after each step

The “Step” section of the example is repeated for every experiment step, with a page break after each step.

Inside the repeated block, use the accessor in variables, for example ${file.name} in a repeated table row for the attached files. Everything inside a repeated block is repeated with it. In the example, the “Step” section contains the Experiment Step block and a sign-off table, so every step gets its own pages with its content and an empty sign-off row.

A step page in the generated report, ending with the sign-off table

The end of step 1 in the generated report, with the sign-off table from the template.

You can repeat any block: a section, a single heading, or a table row. Repeating a table row gives one row per item, which is the easiest way to list items in a table.

You can also repeat a block inside another repeated block. For example, inside the repeated “Step” section, the Repeat for list also offers List of step messages, so a table row could list the comments of each step.

Break Page is only available for blocks placed directly in the report content.

The designer shows a repeated block only once, because there is no data yet.

A block can be shown only when the data meets a condition. In the example, the “Draft notice” is only printed when the experiment has not been approved.

To add a condition:

  1. Select the block and switch on Conditional rendering under General Settings.
  2. Under Render when, choose the variable to check.
  3. Choose an Operator.
  4. If the operator needs one, enter a Value to compare with.

A condition that shows the block when the experiment is not approved

The “Draft notice” is shown when the experiment’s “Approved” field is false.

The operators depend on the type of data:

Type of dataOperators
Yes/noIs true, Is false
TextEquals, Not equals, Contains, Starts with, Ends with, Is empty, Is not empty
Numbers and datesGreater than, Greater than or equal, Less than, Less than or equal, Equals, Not equals, Is empty, Is not empty

The operators for a yes/no value

The operators for a text value

The result for two experiments in the Novara data:

USP26005, not yet approvedUSP26003, approved
The title page with the draft noticeThe title page without the draft notice

A condition on a block applies to everything inside it. In the example, the “Conclusion” section has the condition Experiment conclusion Is not empty, so the conclusion heading and text are left out when the experiment has no conclusion.

Good to know:

  • Conditions only apply when the report is generated. The designer always shows all blocks, so you can still edit them.
  • A condition that is not complete, for example without an operator, is ignored and the block is always shown. The settings panel shows a warning until the condition is complete, and changes are not applied until then.
  • A condition inside a repeated block is checked for each item separately, and can use the accessor of the item.
  • Conditions can only check single values, not lists. You cannot, for example, hide a table when a list is empty.

Click Preview at the top of the designer to build a real PDF from the template. Use it to check page breaks, the header and footer, and landscape pages.

The PDF preview of the template

The preview shows the variables, not real data, and shows every repeated block once.

Users generate an Experiment Report from the experiment in the ELN:

  1. Open the experiment and click … at the top right, then Export PDF.
  2. Select the template under Select template. A preview of the report with the data of the experiment is shown.
  3. Adjust the file name and options if needed, and click Save Report. The PDF is saved on the experiment.

The Export PDF menu item on an experiment

The Generate Report dialog with a preview of the report for experiment USP26005

The Generate Report dialog for the pilot batch USP26005. The report has 17 pages.

This is the best way to test a template against real data: select the template, check the preview, and click Cancel instead of Save Report.