End-Tools widget

This widget will allow you, as the publisher, to place one to four useful tools at any point(s) in your model. Owing to the nature of the tools, it’s most likely you will wish to use them at the end of the model, hence the name.

The tools are:

  • An option to download the report or generated document.
  • An option to print the report or generated document.
  • A function to send the report or generated document as an email to an address of the end users’ choice.
  • A simple feedback method using thumbs up and down buttons.

You can use metadata within any node to set the tools to display, either at the top or bottom of the node. You may also decide which of the tools should be displayed.

End-Tools Demonstration

End-Tools widget
End-Tools widget

To apply the tools in a node you will need to set the following metadata properties:


One possible value which is ‘true’.

setmetadata('end-tools', 'true')

This tells the widget that the tools should be displayed in this node.


A | separated list of four possible values: download, print, email or feedback

setmetadata('desiredtools', 'download|print|email|feedback')

This list tells the widget which tools you would like to show.


The value should be the PDF name of the output document.

setmetadata('reportdoc', 'result.pdf')

This tells the widget where the document should be. The document must be converted to PDF first. The document must also be called in the same node, or the widget will not have access to it.


The value is true by default, so you only need to set this metadata if you intend to show the tools on the bottom of the node, in which case the value is ‘false’

setmetadata('showontop', 'false')

Before you begin

The widget comes with a few prerequisites.

The document needs to be generated (as PDF) in the same node as the tools themselves. You can do this with the document interface in the studio. The name you give as the output document is then the value(+ .pdf) you provide for the metadata property reportdoc. If you are converting the audit trail to PDF, and you know the name of the output document, you can also use it here.
Printing is always tricky from a browser owing to browser and operating system diversity. We have tried to handle errors as transparently as possible, but in uncertain conditions the button may not work and offer no feedback for the error. For this reason, we suggest that when offering the print option, you also offer the download option.
To make email work as expected you will need to set up an email node directly adjacent to the node you are showing the tools, and a text input field with the font class endtools-email. You also need to have a conditional connect to the email node. The condition should be email-node <> '' - which translates to “connect to email node if the email interface is not empty”. The email node should connect directly back to the node with the End-Tools, otherwise the end user will not get confirmation that the email was sent - which is not great for user experience. The widget will hide the field and fill it when appropriate to do so.
The widget will display the buttons regardless of back-end status to handle the provided feedback from end users. There are two options for handling, you may use one or both:
  • Add an input field to the same node with a font-class endtools-feedback-vote - then set that interface to be tracked with MIS. This requires that MIS is indeed setup on your server.
  • Publish a feedback model to your server, and set it up following the feeback widget documentation.