Report Builder

Introduction

The Report Builder introduces the simple drag-and-drop principle like the Form Builder, as a no-code/low-code alternative to create your own customized reports for Joget apps. This provides a seamless experience for users to create reports instead of using external report building softwares.

The Report Builder is a plugin created for the Addon Builders. It is a feature in the Joget DX 8 Enterprise edition.

Get started

PDF report generation

Joget PDF generation is only performed on the server side; hence, any JavaScript will not be executed because JavaScript is only executed on the client-side browser. This means you cannot use JavaScript to modify the HTML for PDF. You will need a different approach, where the form HTML modification is performed entirely on the server side.

Ensure that your data source in Joget contains fields for image URLs or binary data, depending on how your images are stored. If JavaScript needs to be run, please do so on the server side.

Ability to Run JavaScript

Web view

JavaScript can be executed in the web view as it runs in the browser. You can use JavaScript to manipulate the DOM, handle user interactions, and perform various client-side tasks.

PDF generated report

PDFs typically do not execute JavaScript. Therefore, if your web view relies heavily on client-side JavaScript for dynamic behavior, those aspects may not be reflected in a static PDF generated from the same data.

Image handling, PDF parser, and URL calls

Web view

In the web view, you can directly include images using HTML <img> tags or dynamically load them using JavaScript. If images are hosted externally, the browser will make URL calls to fetch them.

PDF generated report

To include images in a PDF-generated report, you need to handle the image data from the server side. If the images are hosted externally, you may need to fetch them using a PDF generation library compatible with Joget. The process involves downloading the image data, embedding it in the PDF, and setting up the report layout.

Convert to Base64 to prevent server call

Web view

In a web view, you can convert binary data (such as images) to Base64 directly in the client-side code. This can reduce server calls and improve performance.

PDF generated report

When generating a PDF report in Joget, you can use server-side scripts (e.g., Groovy or Java) to convert binary data to Base64 before embedding it in the PDF. This can be part of the PDF generation process

  • Consider the size and efficiency of handling large amounts of data, especially when converting binary data to Base64.
  • Be aware that Base64 encoding can increase the size of the data.
  • Adapt the code to your specific use case, and consult Joget's documentation or community forums for the latest information and best practices.

Report hash variables

  • The API IP/Domain Whitelist setting in General Settings needs to be configured for the reportLink hash variable to work. If a request is from a non-whitelisted IP/domain, the response will be an HTTP 400 Bad Request.
  • For security purposes, the direct URL parsed from the Report Link Hash Variable is dependent on the user session (including anonymous users, where the parsed link will differ).

For example, if the user admin obtains the parsed URL and exposes it to anonymous users, the link will be invalid.

  • #reportLink.id# - To attach reports in email tool.
  • #reportLink.id[param1=value1&param2=value2]# - To attach reports in email tool with parameters passing.
  • #reportParam.name# - To populate dynamic report parameter values ( for example parameters set in report menu, subreport, etc. ).

Example hash variable:

#reportLink.rp_report1[id=5c3daa8c-b8e7-4e04-8119-e31be53d6232]#

Related documentation

Download plugin

You can download the plugin from Joget Marketplace.

Download demo app

Download the demo app for Report Builder:
Created by Julieth Last modified by Aadrian on Nov 19, 2024