JasperReports Web Studio is the visual designer for creating and editing report templates for the JasperReports® Library reporting engine and the whole Jaspersoft® family of products that use this open source library to produce dynamic content and rich data visualizations. It comes as a web-based alternative to the Jaspersoft® Studio, the desktop application which is the most complete and powerful designer for JasperReports templates.
JasperReports Web Studio supports a few different deployment scenarios, including a standalone web application that can be run on its own or added to the existing JasperReports® Server instances as a pluggable report editing feature.
Getting Started
The standalone web application distribution of the JasperReports Web Studio comes in the form of a ZIP package that contains everything you need to start the application on a Linux, Windows, or macOS machine.
After downloading the package from the Jaspersoft website, you can extract its contents to a folder of your choice on your target machine and then navigate to that folder using a terminal window and launch the start.sh or start.bat script.
By default, the application starts on http://localhost:8088, but the port and other configuration parameters can be changed in the start script if needed.
The web application opens up with a login screen where you have the option to connect to various types of repositories where reporting resources are stored, including JasperReports Server instances, Google Drive accounts, or GitHub projects.
Only the button to connect to an existing instance of JasperReports Server is enabled by default, the other two login options for Google Drive and GitHub are disabled as they require additional configuration in the start script for the OAuth2 based authentication into these cloud platforms.
Report Repositories
Reports could be as simple as a file or could be composed of multiple files, images, styles, or resource bundles. These files should be stored somewhere and should have a location, eventually relative to the report or root. They are usually stored in a kind of repository. The most simple and popular repository is a simple file system folder. File folders are very good for classic desktop development but are not enough in the modern way to work on multiple computers with multiple users involved, in clouds. JasperReports Web Studio will work with different repository types gdrive, github, folder, JasperReports Server. Each repository could have its own particularities, for example, there is no way to save on github instead it will do commits.
Using JasperReports Server
One of the available buttons on the JasperReports Web Studio welcome screen allows users to connect to a JasperReports Server instance and manage the reporting resources available in its repository using specialized visual editors.
In addition to the usual JasperReports Server login credentials such as the organization/tenant ID, the user name, and the password, the user needs to specify the URL of the JasperReports Server instance to connect to, as seen in the following screenshot:
Note: If JasperReports Server is located on a different server from JasperReports Web Studio, then due to the web CORS and CSP rules both (JasperReports Server and JasperReports Web Studio) should be accessed using HTTPS protocol. In case they are located on the same server and share the same hostname, it can be either HTTP or HTTPS.
Using Google Drive
The login screen of the JasperReports Web Studio shows a button that allows you to log in to a Google Drive account and edit reporting resources stored there. But it requires to specify Google OAuth2 application registration information in the start script of the application using system configuration properties.
The installer does not come with such Google Drive authorization information preset in the application start script and this is why the respective login button is disabled.
In order to enable the Google Drive login button, you need to register your instance of the JasperReports Web Studio with Google Drive by following the steps detailed on this page:
https://developers.google.com/drive/api/v3/about-auth
Once you have obtained the client ID and the secret key for your application at Google, you can set them in the start script of the JasperReports Web Application using the following system properties added with a -D flag to the command that launches the Java Virtual Machine as follows:
-Djrws.google.client.id=[YOUR_CLIENT_ID]
-Djrws.google.secret.key=[YOUR_SECRET_KEY]
Using GitHub
The login screen of JasperReports Web Studio also features a login button for connecting to GitHub to create and modify report template files stored in the GitHub project associated with the respective account.
The GitHub login button is also disabled by default as it requires OAuth2 application registration information to be specified in the application start script using system configuration properties. This startup provided authorization information allows the application to access remote GitHub repositories and can be obtained by registering your local instance of JasperReports Web Studio with GitHub by following the steps detailed on this page:
https://docs.github.com/en/rest/guides/basics-of-authentication
Note: With the default JRWS installation, the homepage URL and the callback URL should be defined as follow in the GitHub project:
Homepage URL: http://localhost:8088/repo
Authorization callback URL: http://localhost:8088/repo/github-oauth2callback
The client ID and the secret key provided by Github for your registered application can be set in the start script of the JasperReports Web Studio using -D arguments in the command that launches the Java Virtual Machine:
-Djrws.github.client.id=[YOUR_CLIENT_ID]
-Djrws.github.secret.key=[YOUR_SECRET_KEY]
Using a Folder as a Repository
It is possible to use a folder from the PC as a report repository. In case JasperReports Web Studio is installed and used by a single report developer, the developer could work with reports from a laptop. In order to do that, a property should be configured in the startup script jrws.repository.file.[name], example:
For Linux
JRWS_ARGS="${JRWS_ARGS} -Djrws.repository.file.samples=/path/to/the/samples"
For Windows
set "JRWS_ARGS=%JRWS_ARGS% -Djrws.repository.file.samples=C:/path/to/the/samples"
It is possible to configure multiple different folders.
Warning! Because JasperReports Web Studio is listening by default on the localhost:8088 , this folder will be seen by other network users. To avoid this, it is the responsibility of the users to protect this port with a firewall (not allowing connections from outside) or configure the jetty server to allow connections only from the localhost.
Repository Manager
After logging into the remote storage platform, the user is presented with the contents of the target repository and is able to navigate the folder structure or search for resources that need to be edited using the specialized editors that JasperReports Web Studio offers.
Folders and files can be created, edited, or removed, just like in any file system like a repository. To upload a file or folder, click on the New button and select “Upload File” or “Upload Folder”. There are some actions on the context menu, right-click on the name of a file or folder. Delete will delete the resource permanently. The download is self-describing. Resource Information will show detailed information about the resource: name, description, mime, ID, type, path, size, Created Date, Last Modified Date and permissions; in case permissions or the repository allows, it will change the name or description, for example.
To open a file, just click on the file name.
Editors
JasperReports Web Studio is a collection of tools that helps to develop reports. It will open and edit the file types usually used in report development, report templates, data adapters, JasperReports styles templates, images, all kinds of text, xml, json files. It is not working with any type of file available in the repository, for this please use other tools.
Report Designer
JasperReports Web Studio main feature is the editor for JRXML report templates. Like Jaspersoft Studio, the editor has three tabs, visual designer, source JRXML editor, and report preview. You can switch between these tabs using buttons at the upper-right corner of the application window.
Layout Designer
The visual report designer consists of 3 main views:
- design view
- outline view
- properties view
Palette contains all the elements from which the report is built. Drag an element from the palette into the designer.
Outline will show the structure of the layout part of the report. From here you can see, add, and delete the bands. See the order of the elements inside a container.
Designer area will show the big layout composed of the bands and elements. Drag the elements to arrange them in the desired layout. Keep in mind that this is very close to the report rendered in the HTML format. Reports rendered in PDF or other formats could look a bit different.
Selecting an element in the Outline or Design area will automatically show its properties in the Properties view. Elements could have hundreds of properties that are organized in categories. It is possible to filter properties by name using the search box at the bottom of the view. In the same place, there is an icon to set more filters, to show or not deprecated properties, or all JasperReports custom properties.
A special category of properties is styles. If an element uses a style, properties will inherit the value of the parent style. These values are shown in the light gray color. In general, if the property shows the value in the light gray color, this is the default or calculated from the properties value, black color is used for the actual value.
Dataset
The dataset view helps to configure the report datasets. It shows the list of datasets, for each dataset in the properties view has Fields, Parameters, Variables, Groups, and a big list of other properties. Use “Show Query Editor” to show the Query Editor and all related tools.
In the Query Editor area, depending on the language, a text editor with syntax highlighting will help edit the query. Parameters view is for setting the values for the parameters. Metadata view will help visualize the structure of most of the JDBC databases or csv, Excel, xml, json files. Query Preview is useful to run the query and see what data it will return.
Source Editor
Report templates for JasperReports Web Server are text files with .jrxml extension. You can use the Source Editor to manually modify a template by editing the XML code.
Preview
This is the place to consume and test reports. This view provides user interfaces to give values to parameters, select the format to generate, and navigate the report. Report navigation could be done in different ways. On the top toolbar, there are controls to select the desired page, search through the report, or use bookmarks to jump inside the report. The bookmarks are present on the left side of the page, with toolbar buttons being linked only to sub-reports that are referred to by the main report.
Data Adapter Editors
An important aspect of reporting is acquiring the data for the reports. This data usually comes from relational databases or other specialized data storage systems.
The way to acquire report data in JasperReports Web Studio is by using data adapters, which are specialized files containing information about how to get the data.
Data adapters could be of the following types: Random, Empty, QueryExecutor, relational database connections (JDBC), MongoDB, Mondrian, locally stored or remotely retrieved data files of CSV, XML, JSON, Excel type, etc.
JasperReports Web Studio features a specialized editor that allows creating and editing these data adapter types.
Image Editors
There is basic support for images. By default, JasperReports Web Studio shows an image supported by the browser. For some image types, there is an image editor which helps to modify an existing image.
Text Editors
Most of the text files will be editable with a simple text editor. However, for many types, JasperReports Web Studio supports syntax highlighting and some more advanced editor functions like folding, and validation. This could be very useful for files like properties, css, html, xml, json, sh, sql. The text editor supports some functionalities like search & replace text, pretty formatting. To see all the keyboard shortcuts click on the question mark icon on the toolbar.
Editor for JR-INF/context.xml
These files provide configuration for report execution. It could contain some properties that are used for reports or classpath. To see a more detailed description of these files please read the JasperReports IO guides.
Feature Compatibility Matrix
Feature |
Jaspersoft Studio |
JasperReports Web Studio 1.0 |
JasperReports Web Studio 2.0 |
Installation |
Desktop - Every user needs to install |
Browser + Server Side - single installation for multiple users |
Browser + Server Side - single installation for multiple users |
Repositories |
JasperReports Server |
Google Drive, GitHub, JasperReports Server |
Google Drive, GitHub, Jackrabbit, Local Folders |
Data Adapters |
JDBC, CSV, Excel, JNDI, JSON, XML, JasperReports Server, Query Executor, Mondrian, MongoDB |
JDBC, CSV, Excel, JNDI, JSON, XML |
JDBC, CSV, Excel, JNDI, JSON, XML, JasperReports Server, Query Executor, Mondrian, MongoDB |
File Editors |
Editors for all files |
Yes (Text Editor basic, No Image editor) |
Text and Image Editor |
JRXML Editor |
Yes |
Yes |
Yes |
Report Preview |
Preview and Export in much more (image, JSON, XML, text) formats, Parameter prompts (user and built-in, wizards for much more parameter types, reset and set to null parameters, default parameter values), sort fields, export property settings, bookmarks, book tabs, no search report functionality, select data adapter, data snapshots, report execution statistics and logs, input controls for JRS. |
PDF, HTML, Excel, open doc, power point, no parameter prompts, no sort fields, no export property setting, no bookmarks, no book tabs, no search functionality, no data adapter selection, no data snapshots, no report execution statics and logs, no input controls |
PDF, HTML, Excel, doc, open doc, metadata, parameter prompts supported by JRIO, no defaults, reset for all (not for individual), no null value setting, no sort fields, no export property setting, bookmarks, book tabs, functionality, no data adapter selection, no data snapshots, no report execution statistics and logs, no input controls |
Query Preview |
Yes |
No |
Yes |
Query Editors |
Specialized UI query editors for different query languages |
Only simple text editor |
Text editor with syntax highlighting |
Outline |
Lot of functionalities and actions ( drag and drop, arrange elements, menus for different things to generate or verify something) |
Just showing report structure, not possible to add/remove bands
|
Report structure, Possible to add/remove bands |
Designer |
Render elements with JasperReports, tools and actions to arrange elements, snap to grid, layouts, key shortcuts, |
Basic Rendering of the report, element re-arrangement, move/resize, delete |
Improved rendering of text elements (render better fonts, sizes and other properties), improvements in key shortcuts, every chart type has image now instead of static image |
Parameter Prompts |
Yes |
No |
Yes |
Search in Preview |
Yes |
No |
Yes |
Report Bursting |
Yes |
No |
Yes |
Data snapshots |
Yes |
No |
No |
Bookmarks, Book Tabs |
Yes |
No |
Yes |
Data Structure View |
Yes |
No |
Yes |
Generate Fields |
Yes |
No |
Yes |
Element Rendering |
Rendering with JasperReports® Library |
Basic rendering |
Improved text field, charts, and images |
Palette |
Dynamic (showing different images sizes, search elements, add elements) |
Show all elements |
Have elements by category, improved labels and icons |
Properties |
Advanced view and specialized UI, search, reset, set to n ull, default values, styles view, more complex widgets for different property types |
For simple elements, simple types, search |
Properties for All elements, search, arranged in categories, more widgets for diff types, show default values |
Styles |
Yes |
No |
Yes |
Highcharts |
Yes |
Just generated properties for highcharts |
Improved properties (arranged in categories, more widgets types) |
Fusion |
Yes |
Just general properties (no fusion specific ones) |
Improved properties (arranged in categories, more widgets types), all fusion properties (fusion specific ones) |
Barcodes |
Yes |
Just general properties (no specific ones) |
Improved properties (arranged in categories, more widgets types), all properties (specific ones) |
CVC |
Yes |
Just general properties (no specific ones) |
Improved properties (arranged in categories, more widgets types), all properties (specific ones) |
Tables, Crosstab |
Yes |
Just render and show elements (can modify elements) |
Just render and show elements (can modify elements), we have all the properties |
Maps |
Yes |
Just general properties (no specific ones) |
Improved properties (arranged in categories, more widgets types), all properties (specific ones) |
Markers Clustering |
Yes |
No |
Yes |
Charts |
Yes |
Just general properties (no specific ones) |
Improved properties (arranged in categories, more widgets types), all properties (specific ones) |
Bursting, Splitting |
Yes |
No |
Yes |
JasperReports Server Report Publishing |
Yes |
Not Needed |
Not Needed |
Custom Properties |
Yes |
No |
All custom properties defined in library |
Expression Editor |
Advanced (can see datasets, functions) |
Simple Text |
Simple Text, Syntax highlighting for Java, Groovy, JavaScript |
JR Properties UI |
Advanced (lot of preferences pages) |
No |
Set JasperReports Library properties in context.xml file |
Report Compilation |
Yes |
Not Needed (because JasperReports® IO compiles it) |
Not Needed (because JasperReports® IO compiles it) |
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now